Example #1
0
        /// <summary>
        /// Failureストレージに再送用メッセージをアップロードする
        /// </summary>
        /// <param name="message">メッセージ</param>
        public void UpdateToFailureStorage(string message)
        {
            try
            {
                _logger.EnterJson("{0}", new { message });

                DateTime now = _timeProvider.UtcNow;

                // ファイル情報
                ArchiveFile file = new ArchiveFile()
                {
                    ContainerName = _settings.FailureBlobContainerName, CreatedAt = now
                };
                file.FilePath = string.Format(Utility.Const.FailureBlobFilenameFormat, now);

                // アップロード
                _failureRepository.Upload(file, message);
            }
            catch (RmsException e)
            {
                // Blobストレージへの保存処理に失敗した場合、メッセージ内容をログに出力して終了する。
                _logger.Error(e, nameof(Resources.OP_MLS_MLS_004), new object[] { message });
            }
            finally
            {
                _logger.Leave();
            }
        }
        /// <summary>
        /// Failureストレージに再送用メッセージをアップロードする
        /// </summary>
        /// <param name="messageSchemaId">メッセージスキーマID</param>
        /// <param name="messageId">メッセージID</param>
        /// <param name="message">メッセージ</param>
        public void UpdateToFailureStorage(string messageSchemaId, string messageId, string message)
        {
            try
            {
                _logger.EnterJson("{0}", new { messageSchemaId, messageId, message });

                DateTime now         = _timeProvider.UtcNow;
                bool     noMessageId = string.IsNullOrEmpty(messageId);

                // ファイル情報
                ArchiveFile file = new ArchiveFile()
                {
                    ContainerName = _settings.FailureBlobContainerName, CreatedAt = now
                };
                if (noMessageId)
                {
                    file.FilePath = string.Format(Utility.Const.FailureBlobFilenameFormatWithoutMessageId, messageSchemaId, messageId, now);
                }
                else
                {
                    file.FilePath = string.Format(Utility.Const.FailureBlobFilenameFormat, messageSchemaId, messageId, now);
                }

                // アップロード
                _failureRepository.Upload(file, message, noMessageId);
            }
            catch (RmsException e)
            {
                // Blobストレージへの保存処理に失敗した場合、メッセージ内容をログに出力して終了する。
                _logger.Error(e, nameof(Resources.UT_TSM_TSM_008), new object[] { messageId, message });
            }
            finally
            {
                _logger.Leave();
            }
        }