Отслеживание схем для мониторинга сообщений B2B в Azure Logic Apps
Область применения: Azure Logic Apps (Потребление + Стандартный)
Azure Logic Apps включает встроенное отслеживание, которое можно включить для частей рабочего процесса. Чтобы отслеживать успешную доставку или получение, ошибки и свойства для бизнес-сообщений (B2B), вы можете создавать и использовать схемы отслеживания AS2, X12 и пользовательские схемы отслеживания в учетной записи интеграции. В этом справочном руководстве описаны синтаксис и атрибуты для этих схем отслеживания.
AS2
Схема отслеживания сообщений AS2
Следующий синтаксис описывает схему отслеживания сообщения AS2:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"dispositionType": "",
"fileName": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isMessageEncrypted": "",
"isMessageCompressed": "",
"correlationMessageId": "",
"incomingHeaders": {},
"outgoingHeaders": {},
"isNrrEnabled": "",
"isMdnExpected": "",
"mdnType": ""
}
}
В следующей таблице описаны атрибуты в схеме отслеживания сообщения AS2:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения AS2 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения AS2 |
as2To | Да | Строка | Имя получателя сообщения AS2 из заголовков сообщения AS2 |
as2From | Да | Строка | Имя отправителя сообщения AS2 из заголовков сообщения AS2 |
agreementName | Нет | Строка | Имя соглашения AS2, в соответствии с которым разрешаются сообщения. |
direction | Да | Строка | Направление потока обработки сообщений, может быть receive или send |
messageId | Нет | Строка | Идентификатор сообщения AS2, полученный из заголовков сообщения AS2 |
dispositionType | Нет | Строка | Значение типа метода обработки уведомлений о состоянии сообщения (MDN) |
fileName | Нет | Строка | Имя файла из заголовка сообщения AS2 |
isMessageFailed | Да | Логический | Указывает, произошел ли сбой сообщения AS2 |
isMessageSigned | Да | Логический | Указывает, подписано ли сообщение AS2 |
isMessageEncrypted | Да | Логический | Указывает, зашифровано ли сообщение AS2 |
isMessageCompressed | Да | Логический | Указывает, сжато ли сообщение AS2 |
correlationMessageId | Нет | Строка | Идентификатор сообщения AS2, используемый для корреляции сообщений с уведомлениями о состоянии сообщений |
incomingHeaders | No | Словарь JToken | Сведения о заголовке входящего сообщения AS2 |
outgoingHeaders | No | Словарь JToken | Сведения о заголовке исходящего сообщения AS2 |
isNrrEnabled | Да | Логический | Следует ли использовать значение по умолчанию, если значение неизвестно |
isMdnExpected | Да | Логический | Следует ли использовать значение по умолчанию, если значение неизвестно |
mdnType | Да | Перечисление | Допустимые значения: NotConfigured , Sync и Async |
Схема отслеживания уведомлений о состоянии сообщений AS2
Следующий синтаксис описывает схему отслеживания сообщения AS2 MDN:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"originalMessageId": "",
"dispositionType": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isNrrEnabled": "",
"statusCode": "",
"micVerificationStatus": "",
"correlationMessageId": "",
"incomingHeaders": {
},
"outgoingHeaders": {
}
}
}
В следующей таблице описываются атрибуты в схеме отслеживания сообщения AS2 MDN:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения AS2 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения AS2 |
as2To | Да | Строка | Имя партнера-получателя сообщения AS2 |
as2From | Да | Строка | Имя партнера-отправителя сообщения AS2 |
agreementName | Нет | Строка | Имя соглашения AS2, в соответствии с которым разрешаются сообщения. |
direction | Да | Строка | Направление потока обработки сообщений, может быть receive или send |
messageId | Нет | Строка | Идентификатор сообщения AS2 |
originalMessageId | Нет | Строка | Исходный идентификатор сообщения AS2 |
dispositionType | Нет | Строка | Значение типа метода обработки уведомлений о состоянии сообщения |
isMessageFailed | Да | Логический | Указывает, произошел ли сбой сообщения AS2 |
isMessageSigned | Да | Логический | Указывает, подписано ли сообщение AS2 |
isNrrEnabled | Да | Логический | Следует ли использовать значение по умолчанию, если значение неизвестно |
statusCode | Да | Перечисление | Допустимые значения: Accepted , Rejected и AcceptedWithErrors |
micVerificationStatus | Да | Перечисление | Допустимые значения: NotApplicable , Succeeded и Failed |
correlationMessageId | Нет | Строка | Идентификатор корреляции, являющийся идентификатором исходного сообщения, для которого настроено MDN |
incomingHeaders | No | Словарь JToken | Сведения о заголовке входящего сообщения |
outgoingHeaders | No | Словарь JToken | Сведения о заголовке исходящего сообщения |
X12
- Схема отслеживания набора транзакций X12
- Схема отслеживания отслеживания набора транзакций X12
- Схема отслеживания обмена X12
- Схема отслеживания подтверждения обмена X12
- Схема отслеживания функциональной группы X12
- Схема отслеживания подтверждения функциональной группы X12
схема отслеживания набора транзакций X12;
Следующий синтаксис описывает схему отслеживания для набора транзакций X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"transactionSetControlNumber": "",
"CorrelationMessageId": "",
"messageType": "",
"isMessageFailed": "",
"isTechnicalAcknowledgmentExpected": "",
"isFunctionalAcknowledgmentExpected": "",
"needAk2LoopForValidMessages": "",
"segmentsCount": ""
}
}
В следующей таблице описываются атрибуты в схеме отслеживания набора транзакций X12:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения X12 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения X12 |
senderQualifier | Да | Строка | Квалификатор партнера отправителя |
senderIdentifier | Да | Строка | Идентификатор партнера отправителя |
receiverQualifier | Да | Строка | Квалификатор партнера получателя |
receiverIdentifier | Да | Строка | Идентификатор партнера получателя |
agreementName | Нет | Строка | Имя соглашения X12, в соответствии с которым разрешаются сообщения. |
direction | Да | Перечисление | Направление потока обработки сообщений, может быть receive или send |
interchangeControlNumber | Нет | Строка | Контрольный номер обмена |
functionalGroupControlNumber | Нет | Строка | Функциональный контрольный номер |
transactionSetControlNumber | Нет | Строка | Контрольный номер набора транзакций |
CorrelationMessageId | Нет | Строка | Идентификатор корреляции сообщения представляет собой сочетание {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} |
MessageType | Нет | Строка | Набор транзакций или тип документа |
isMessageFailed | Да | Логический | Наличие ошибки с сообщением X12 |
isTechnicalAcknowledgmentExpected | Да | Логический | Настроены ли параметры технического подтверждения в соглашении X12 |
isFunctionalAcknowledgmentExpected | Да | Логический | Настроены ли параметры функционального подтверждения в соглашении X12 |
needAk2LoopForValidMessages | Да | Логический | Необходим ли AK2 цикл для действительного сообщения |
segmentsCount | No | Целое | Количество сегментов в наборе транзакций X12 |
схема отслеживания подтверждений набора транзакций X12
Следующий синтаксис описывает схему отслеживания для подтверждения набора транзакций X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"isaSegment": "",
"gsSegment": "",
"respondingfunctionalGroupControlNumber": "",
"respondingFunctionalGroupId": "",
"respondingtransactionSetControlNumber": "",
"respondingTransactionSetId": "",
"statusCode": "",
"processingStatus": "",
"CorrelationMessageId": "",
"isMessageFailed": "",
"ak2Segment": "",
"ak3Segment": "",
"ak5Segment": ""
}
}
В следующей таблице описаны атрибуты в схеме отслеживания для подтверждения набора транзакций X12:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения X12 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения X12 |
senderQualifier | Да | Строка | Квалификатор партнера отправителя |
senderIdentifier | Да | Строка | Идентификатор партнера отправителя |
receiverQualifier | Да | Строка | Квалификатор партнера получателя |
receiverIdentifier | Да | Строка | Идентификатор партнера получателя |
agreementName | Нет | Строка | Имя соглашения X12, в соответствии с которым разрешаются сообщения. |
direction | Да | Перечисление | Направление потока обработки сообщений, может быть receive или send |
interchangeControlNumber | Нет | Строка | Обмен контрольного номера функционального подтверждения. Значение заполняется только для стороны отправителя, которая получает функциональное подтверждение для сообщений, отправленных партнеру. |
functionalGroupControlNumber | Нет | Строка | Контрольный номер функциональной группы для функционального подтверждения. Значение заполняется только для стороны отправителя, которая получает функциональное подтверждение для сообщений, отправленных партнеру. |
isaSegment | Нет | Строка | Сегмент ISA сообщения. Значение заполняется только для стороны отправителя, которая получает функциональное подтверждение для сообщений, отправленных партнеру. |
gsSegment | Нет | Строка | Сегмент GS сообщения. Значение заполняется только для стороны отправителя, которая получает функциональное подтверждение для сообщений, отправленных партнеру. |
respondingfunctionalGroupControlNumber | Нет | Строка | Контрольный номер обмена ответом |
respondingFunctionalGroupId | Нет | Строка | Идентификатор отвечающей функциональной группы, который в подтверждении преобразуется в AK101 |
respondingtransactionSetControlNumber | Нет | Строка | Контрольный номер ответной транзакции |
respondingTransactionSetId | Нет | Строка | Идентификатор набора ответных транзакций, который в подтверждении преобразуется в AK201 |
statusCode | Да | Логический | Код состояния подтверждения набора транзакции |
segmentsCount | Да | Перечисление | Код состояния подтверждения с этими разрешенными значениями: Accepted , Rejected и AcceptedWithErrors |
processingStatus | Да | Перечисление | Состояние обработки подтверждения с этими разрешенными значениями: Received , Generated и Sent |
CorrelationMessageId | Нет | Строка | Идентификатор корреляции сообщения представляет собой сочетание {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} |
isMessageFailed | Да | Логический | Наличие ошибки с сообщением X12 |
ak2Segment | Нет | Строка | Подтверждение для набора транзакций в пределах получившей функциональной группы |
ak3Segment | Нет | Строка | Указывает на наличие ошибок в сегменте данных |
ak5Segment | Нет | Строка | Указывает, принят ли или отклонен набор транзакций идентифицированный в сегменте AK2, а также причины для этого |
Схема отслеживания обмена X12
Следующий синтаксис описывает схему отслеживания для обмена X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"isTechnicalAcknowledgmentExpected": "",
"isMessageFailed": "",
"isa09": "",
"isa10": "",
"isa11": "",
"isa12": "",
"isa14": "",
"isa15": "",
"isa16": ""
}
}
В следующей таблице описываются атрибуты схемы отслеживания для обмена X12:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения X12 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения X12 |
senderQualifier | Да | Строка | Квалификатор партнера отправителя |
senderIdentifier | Да | Строка | Идентификатор партнера отправителя |
receiverQualifier | Да | Строка | Квалификатор партнера получателя |
receiverIdentifier | Да | Строка | Идентификатор партнера получателя |
agreementName | Нет | Строка | Имя соглашения X12, в соответствии с которым разрешаются сообщения. |
direction | Да | Перечисление | Направление потока обработки сообщений, может быть receive или send |
interchangeControlNumber | Нет | Строка | Контрольный номер обмена |
isaSegment | Нет | Строка | ISA сегмент сообщения |
isTechnicalAcknowledgmentExpected | Логический | Настроены ли параметры технического подтверждения в соглашении X12 | |
isMessageFailed | Да | Логический | Наличие ошибки с сообщением X12 |
isa09 | Нет | Строка | Дата обмена документа X12 |
isa10 | Нет | Строка | Время обмена документа X12 |
isa11 | Нет | Строка | Идентификатор стандарта управления обменом X12 |
isa12 | Нет | Строка | Контрольный номер версии обмена X12 |
isa14 | Нет | Строка | Подтверждение X12 запрошено |
isa15 | Нет | Строка | Индикатор для тестирования или промышленной эксплуатации |
isa16 | Нет | Строка | Разделитель элементов |
схема отслеживания подтверждения обмена X12
Следующий синтаксис описывает схему отслеживания для подтверждения обмена X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"respondingInterchangeControlNumber": "",
"isMessageFailed": "",
"statusCode": "",
"processingStatus": "",
"ta102": "",
"ta103": "",
"ta105": ""
}
}
В следующей таблице описаны атрибуты в схеме отслеживания подтверждения обмена X12:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения X12 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения X12 |
senderQualifier | Да | Строка | Квалификатор партнера отправителя |
senderIdentifier | Да | Строка | Идентификатор партнера отправителя |
receiverQualifier | Да | Строка | Квалификатор партнера получателя |
receiverIdentifier | Да | Строка | Идентификатор партнера получателя |
agreementName | Нет | Строка | Имя соглашения X12, в соответствии с которым разрешаются сообщения. |
direction | Да | Перечисление | Направление потока обработки сообщений, может быть receive или send |
interchangeControlNumber | Нет | Строка | Контрольный номер обмена из технического подтверждения, полученного от партнеров |
isaSegment | Нет | Строка | ISA сегмент для технического подтверждения, полученного от партнеров |
respondingInterchangeControlNumber | Нет | Строка | Контрольный номер обмена для технического подтверждения, полученного от партнеров |
isMessageFailed | Да | Логический | Наличие ошибки с сообщением X12 |
statusCode | Да | Перечисление | Код состояния подтверждения обмена с этими разрешенными значениями: Accepted , Rejected и AcceptedWithErrors |
processingStatus | Да | Перечисление | Состояние подтверждения с этими разрешенными значениями: Received , Generated и Sent |
ta102 | Нет | Строка | Дата обмена |
ta103 | Нет | Строка | Время обмена |
ta105 | Нет | Строка | Код заметки об обмене |
схема отслеживания функциональной группы X12;
Следующий синтаксис описывает схему отслеживания для функциональной группы X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"gsSegment": "",
"isTechnicalAcknowledgmentExpected": "",
"isFunctionalAcknowledgmentExpected": "",
"isMessageFailed": "",
"gs01": "",
"gs02": "",
"gs03": "",
"gs04": "",
"gs05": "",
"gs07": "",
"gs08": ""
}
}
В следующей таблице описываются атрибуты в схеме отслеживания для функциональной группы X12:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения X12 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения X12 |
senderQualifier | Да | Строка | Квалификатор партнера отправителя |
senderIdentifier | Да | Строка | Идентификатор партнера отправителя |
receiverQualifier | Да | Строка | Квалификатор партнера получателя |
receiverIdentifier | Да | Строка | Идентификатор партнера получателя |
agreementName | Нет | Строка | Название соглашения X12, в соответствии с которым разрешаются сообщения |
direction | Да | Перечисление | Направление потока сообщений, отправка или получение |
interchangeControlNumber | Нет | Строка | Контрольный номер обмена |
functionalGroupControlNumber | Нет | Строка | Функциональный контрольный номер |
gsSegment | Нет | Строка | Сегмент GS сообщения |
isTechnicalAcknowledgmentExpected | Да | Логический | Настроены ли параметры технического подтверждения в соглашении X12 |
isFunctionalAcknowledgmentExpected | Да | Логический | Настроены ли параметры функционального подтверждения в соглашении X12 |
isMessageFailed | Да | Логический | Наличие ошибки с сообщением X12 |
gs01 | Нет | Строка | Код функционального идентификатора |
gs02 | Нет | Строка | Код отправителя приложения |
gs03 | Нет | Строка | Код получателя приложения |
gs04 | Нет | Строка | Дата функциональной группы |
gs05 | Нет | Строка | Время функциональной группы |
gs07 | Нет | Строка | Код ответственного агентства |
gs08 | Нет | Строка | Код идентификатора для версии, выпуска или отрасли |
Схема отслеживания подтверждения функциональной группы X12
Следующий синтаксис описывает схему отслеживания для подтверждения функциональной группы X12:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"isaSegment": "",
"gsSegment": "",
"respondingfunctionalGroupControlNumber": "",
"respondingFunctionalGroupId": "",
"isMessageFailed": "",
"statusCode": "",
"processingStatus": "",
"ak903": "",
"ak904": "",
"ak9Segment": ""
}
}
В следующей таблице описаны атрибуты в схеме отслеживания для подтверждения функциональной группы X12:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
senderPartnerName | Нет | Строка | Имя партнера отправителя сообщения X12 |
receiverPartnerName | Нет | Строка | Имя партнера получателя сообщения X12 |
senderQualifier | Да | Строка | Квалификатор партнера отправителя |
senderIdentifier | Да | Строка | Идентификатор партнера отправителя |
receiverQualifier | Да | Строка | Квалификатор партнера получателя |
receiverIdentifier | Да | Строка | Идентификатор партнера получателя |
agreementName | Нет | Строка | Имя соглашения X12, в соответствии с которым разрешаются сообщения. |
direction | Да | Перечисление | Направление потока обработки сообщений, может быть receive или send |
interchangeControlNumber | Нет | Строка | Контрольный номер обмена, который заполняется для стороны отправителя после получения подтверждения от партнеров |
functionalGroupControlNumber | Нет | Строка | Контрольный номер функциональной группы технического подтверждения который заполняется для стороны отправителя после получения подтверждения от партнеров |
isaSegment | Нет | Строка | Совпадает с контрольным номером обмена, но заполняется только в определенных случаях |
gsSegment | Нет | Строка | Совпадает с контрольным номером функциональной группы, но заполняется только в определенных случаях |
respondingfunctionalGroupControlNumber | Нет | Строка | Контрольный номер исходной функциональной группы |
respondingFunctionalGroupId | Нет | Строка | Преобразуется в AK101 в идентификаторе функциональной группы подтверждения |
isMessageFailed | Логический | Наличие ошибки с сообщением X12 | |
statusCode | Да | Перечисление | Код состояния подтверждения с этими разрешенными значениями: Accepted , Rejected и AcceptedWithErrors |
processingStatus | Да | Перечисление | Состояние обработки подтверждения с этими разрешенными значениями: Received , Generated и Sent |
ak903 | Нет | Строка | Количество полученных наборов транзакций |
ak904 | Нет | Строка | Количество наборов транзакций, принятых в идентифицированную функциональную группу |
ak9Segment | Нет | Строка | Идентифицируется ли функциональная группа в сегменте AK1, как принятая или отклоненная, а также причины для этого |
Пользовательское
Вы можете настроить настраиваемое отслеживание, которое регистрирует события с начала до конца рабочего процесса приложения логики. Например, можно записывать события из слоев, включающих рабочий процесс, SQL Server, BizTalk Server или любой другой слой. В следующем разделе приведен пользовательский код схемы отслеживания, который можно использовать в слоях за пределами рабочего процесса.
{
"sourceType": "",
"source": {
"workflow": {
"systemId": ""
},
"runInstance": {
"runId": ""
},
"operation": {
"operationName": "",
"repeatItemScopeName": "",
"repeatItemIndex": ,
"trackingId": "",
"correlationId": "",
"clientRequestId": ""
}
},
"events": [
{
"eventLevel": "",
"eventTime": "",
"recordType": "",
"record": {}
}
]
}
В следующей таблице описаны атрибуты в пользовательской схеме отслеживания:
Свойство | Обязательное поле | Type | Описание |
---|---|---|---|
sourceType | Да | Строка | Тип источника запуска, который может принимать значения Microsoft.Logic/workflows и custom . |
source | Да | Строка или JToken | Если источник имеет тип Microsoft.Logic/workflows , сведения об источнике должны соответствовать этой схеме. Если источник имеет тип custom , то используется схема JToken. |
systemId | Да | Строка | Системный идентификатор приложения логики |
runId | Да | Строка | Идентификатор выполнения приложения логики |
operationName | Да | Строка | Имя операции (например, действие или триггер) |
repeatItemScopeName | Да | Строка | Имя повторяющегося элемента, если действие находится внутри цикла foreach или until |
repeatItemIndex | Да | Целое | Указывает, что действие находится внутри цикла foreach или until и одновременно является номером индекса для повторяющегося элемента. |
trackingId | Нет | Строка | Идентификатор отслеживания для корреляции сообщений |
correlationId | Нет | Строка | Идентификатор корреляции для корреляции сообщений |
clientRequestId | Нет | Строка | Клиент может указать здесь произвольное значение для корреляции сообщений |
eventLevel | Да | Строка | Уровень события |
eventTime | Да | Дата/время | Время события в формате UTC: ГГГГ-ММ-ДДTЧЧ:ММ:СС.00000Z. |
recordType | Да | Строка | Тип записи отслеживания, который может иметь только одно значение: custom |
record | Да | JToken | Пользовательский тип записи в формате JToken (единственный вариант) |