Compartir a través de

在 Azure 逻辑应用的标准工作流中跟踪 B2B 事务的架构(预览版)

适用于:Azure 逻辑应用(标准)

注释

此功能为预览版,受 Azure 预览版补充使用条款的约束。

Azure 逻辑应用包含内置跟踪,你可以为标准版工作流的组成部分启用该跟踪。 为了帮助你监视企业到企业 (B2B) 消息的成功传递或接收、错误和属性,本指南可帮助你更好地了解为事务存储 B2B 跟踪数据的表。

注释

本文仅适用于标准逻辑应用工作流。 有关监视消耗逻辑应用工作流的信息,请参阅以下文档:

用于 AS2 的 AS2TrackRecords 跟踪表

名为 AS2TrackRecords 的 Azure 数据库资源管理器表存储所有 AS2 跟踪数据。 以下示例介绍创建此表的查询以及指定表列所需的顺序:

.create table AS2TrackRecords (
   IntegrationAccountSubscriptionId: string, // Subscription ID for the integration account.
   IntegrationAccountResourceGroup: string, // Resource group for the integration account.
   IntegrationAccountName: string, // Name for the integration account.
   IntegrationAccountId: string, // ID for the integration account.
   WorkflowRunOperationInfo: dynamic, // Operation information for the workflow run. This dynamic type uses a specific JSON schema.
   ClientRequestId: string, // Client request ID.
   EventTime: datetime, // Time of the event.
   Error: dynamic, // Error, if any.
   RecordType: string, // Type of tracking record.
   Direction: string, // Message flow direction, which is either 'send' or 'receive'.
   IsMessageFailed: bool, // Whether the AS2 message failed.
   MessageProperties: dynamic, // Message properties. This dynamic type uses different schema based on the tracking record type.
   AdditionalProperties: dynamic, // Additional properties.
   TrackingId: string, // Custom tracking ID, if any.
   AgreementName: string, // Name for the AS2 agreement that resolves the messages.
   As2From: string, // Name for the AS2 message sender in the AS2 message headers.
   As2To: string, // Name for the AS2 message receiver in the AS2 headers.
   ReceiverPartnerName: string, // Partner name for the AS2 message receiver.
   SenderPartnerName: string, // Partner name for the AS2 message sender.
   MessageId: string, // AS2 message ID.
   OriginalMessageId: string,// Original AS2 message ID.
   CorrelationMessageId: string, // Message ID for correlating AS2 messages with Message Disposition Notifications (MDNs).
   IsMdnExpected: bool // Whether the Message Dispoition Notification (MDN) is expected.
)

注释

WorkflowRunOperationInfo 表列具有动态类型结构,该结构使用特定的 JSON 架构。 MessageProperties 表列也有动态类型结构,但基于跟踪记录类型使用不同的 JSON 架构。 有关详细信息,请参阅以下各节:

AS2 跟踪记录 - MessageProperties 架构

MessageProperties 表列具有基于跟踪记录类型的动态类型结构,该结构使用不同的 JSON 架构。

AS2 消息 - 消息属性架构

以下语法描述了跟踪记录类型为 AS2 消息时的 MessageProperties 架构:

{
   "direction": "",
   "messageId": "",
   "dispositionType": "",
   "fileName": "",
   "isMessageFailed": "",
   "isMessageSigned": "",
   "isMessageEncrypted": "",
   "isMessageCompressed": "",
   "correlationMessageId": "",
   "incomingHeaders": {},
   "outgoingHeaders": {},
   "isNrrEnabled": "",
   "isMdnExpected": "",
   "mdnType": ""
}
资产 类型 DESCRIPTION
方向 字符串 消息流方向(sendreceive
messageId 字符串 AS2 消息标头中的 AS2 消息 ID
dispositionType 字符串 消息处置通知 (MDN) 处置类型
文件名 字符串 AS2 消息标头中的文件名
isMessageFailed 布尔 AS2 邮件是否已失败
isMessageSigned 布尔 AS2 消息是否已签名
isMessageEncrypted 布尔 AS2 消息是否已加密
isMessageCompressed 布尔 AS2 消息是否已压缩
correlationMessageId 字符串 用于将 AS2 邮件与邮件处置通知 (MDN) 进行关联的邮件 ID
incomingHeaders JToken 字典 传入 AS2 消息的标头详细信息
outgoingHeaders JToken 字典 传出 AS2 消息的标头详细信息
isNrrEnabled 布尔 是否已启用回执的不可否认性 (NRR)
isMdnExpected 布尔 是否预期收到消息处置通知 (MDN)
mdnType 枚举 允许的值:NotConfiguredSyncAsync

AS2 MDN - MessageProperties 架构

以下语法描述了跟踪记录类型为 AS2 MDN 时的 MessageProperties 架构:

{
   "direction": "",
   "messageId": "",
   "originalMessageId": "",
   "dispositionType": "",
   "isMessageFailed": "",
   "isMessageSigned": "",
   "isNrrEnabled": "",
   "statusCode": "",
   "micVerificationStatus" "",
   "correlationMessageId": "",
   "incomingHeaders": {},
   "outgoingHeaders": {},
}
资产 类型 DESCRIPTION
方向 字符串 消息流方向(sendreceive
messageId 字符串 AS2 消息标头中的 AS2 消息 ID
originalMessageId 字符串 原始 AS2 消息的消息 ID
dispositionType 字符串 消息处置通知 (MDN) 处置类型
isMessageFailed 布尔 AS2 邮件是否已失败
isMessageSigned 布尔 AS2 消息是否已签名
isNrrEnabled 布尔 是否已启用回执的不可否认性 (NRR)
statusCode 枚举 允许的值:AcceptedRejectedAcceptedWithErrors
micVerificationStatus 枚举 允许的值:NotApplicableSucceededFailed
correlationMessageId 字符串 相关 ID,它是配置了 MDN 的原始消息的 ID
incomingHeaders JToken 字典 传入 AS2 消息的标头详细信息
outgoingHeaders JToken 字典 传出 AS2 消息的标头详细信息

X12 的 EdiTrackRecords 跟踪表

名为 EdiTrackRecords 的 Azure 数据库资源管理器表存储所有 X12 跟踪数据。 以下示例介绍创建此表的查询以及指定表列所需的顺序:

.create table EdiTrackRecords (
   IntegrationAccountSubscriptionId: string, // Subscription ID for the integration account.
   IntegrationAccountResourceGroup: string, // Resource group for the integration account.
   IntegrationAccountName: string, // Name for the integration account.
   IntegrationAccountId: string, // ID for the integration account.
   WorkflowRunOperationInfo: dynamic, // Operation information for the workflow run.
   ClientRequestId: string, // Client request ID.
   EventTime: datetime, // Time of the event.
   Error: dynamic, // Error, if any.
   RecordType: string, // Type of tracking record.
   Direction: string, // Message flow direction, which is either 'receive' or 'send'.
   IsMessageFailed: bool, // Whether the message failed.
   MessageProperties: dynamic, // Message properties.
   AdditionalProperties: dynamic, // Additional properties.
   TrackingId: string, // Custom tracking ID, if any.
   AgreementName: string, // Name for the agreement that resolves the messages.
   SenderPartnerName: string, // Partner name for the message sender.
   ReceiverPartnerName: string, // Partner name for the X12 message receiver.
   SenderQualifier: string, // Qualifier for the partner X12 message sender.
   SenderIdentifier: string, // Identifier for the partner X12 message sender.
   ReceiverQualifier: string, // Qualifier for the partner X12 message receiver.
   ReceiverIdentifier: string, // Identiifer for the partner X12 message receiver.
   TransactionSetControlNumber: string, // Control number for the transaction set.
   FunctionalGroupControlNumber: string, // Control number for the functional group.
   InterchangeControlNumber: string, // Control number for the interchange.
   MessageType: string, // Transaction set or document type.
   RespondingTransactionSetControlNumber: string, // Control number for the responding transaction set, in case of acknowledgment.
   RespondingFunctionalGroupControlNumber: string, // Control number for the responding functional group, in case of acknowledgment.
   RespondingInterchangeControlNumber: string, // Control number for the responding interchange, in case of acknowledgement.
   ProcessingStatus: string // Acknowledgment processing status with these permitted values: 'Received', 'Generated', and 'Sent'
)

X12 跟踪记录 - MessageProperties 架构

MessageProperties 表列具有基于跟踪记录类型的动态类型结构,该结构使用不同的 JSON 架构。

X12 交易集 - MessageProperties 架构

以下语法描述了跟踪记录类型为 X12 事务集时的 MessageProperties 架构:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "transactionSetControlNumber": "",
   "correlationMessageId": "",
   "messageType": "",
   "isMessageFailed": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isFunctionalAcknowledgmentExpected": "",
   "needAk2LoopForValidMessages": "",
   "segmentsCount": ""
}
资产 类型 DESCRIPTION
方向 枚举 消息流方向(sendreceive
交换控制编号 字符串 交换的控制编号
功能组控制编号 字符串 功能组的控制编号
事务集合控制号 字符串 事务集的控制编号
correlationMessageId 字符串 合并以下值的消息相关性 ID:{AgreementName}{交换或功能组控制编号}{事务集控制编号}
消息类型 字符串 交易集或文档类型。
isMessageFailed 布尔 X12 消息是否失败
isTechnicalAcknowledgmentExpected 布尔 是否已在 X12 协议中配置了技术确认
isFunctionalAcknowledgmentExpected 布尔 是否已在 X12 协议中配置了功能确认
需要Ak2循环以验证消息 布尔 有效的消息是否需要 AK2 循环
segmentsCount 整数 X12 交易集中的段数

X12 事务集确认 - MessageProperties 架构

以下语法描述了跟踪记录类型为 X12 事务集确认时的 MessageProperties 架构:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "respondingFunctionalGroupControlNumber": "",
   "respondingFunctionalGroupId": "",
   "respondingTransactionSetId": "",
   "statusCode": "",
   "processingStatus": "",
   "correlationMessageId": "",
   "isMessageFailed": ""
}
资产 类型 DESCRIPTION
方向 字符串 消息流方向(sendreceive
交换控制编号 字符串 功能确认的交换控制编号。 只有发送方已收到发送给合作伙伴的消息的功能确认时,才会为发送方填充此值。
功能组控制编号 字符串 功能确认的功能组控制编号。 只有发送方已收到发送给合作伙伴的消息的功能确认时,才会为发送方填充此值。
respondingFunctionalGroupControlNumber 字符串 响应功能组的控制编号
响应功能组ID 字符串 响应功能组的控制编号
respondingTransactionSetId 字符串 确认中映射到 AK101 的响应功能组的 ID
statusCode 布尔 事务集的确认状态代码
processingStatus 枚举 确认处理状态,其中包含以下允许的值: ReceivedGeneratedSent
correlationMessageId 字符串 合并以下值的消息相关 ID:{AgreementName}{InterchangeORFunctionalGroupControlNumber}{TransactionSetControlNumber}
isMessageFailed 字符串 X12 消息是否失败

X12 交换 - MessageProperties 架构

以下语法描述了跟踪记录类型为 X12 交换时的 MessageProperties 架构:

{
   "direction": "",
   "interchangeControlNumber": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isMessageFailed": "",
   "isa09": "",
   "isa10": "",
   "isa11": "",
   "isa12": "",
   "isa14": "",
   "isa15": "",
   "isa16": ""
}
资产 类型 DESCRIPTION
方向 枚举 消息流方向(sendreceive
交换控制编号 字符串 交换的控制编号
isTechnicalAcknowledgmentExpected 布尔 是否已在 X12 协议中配置了技术确认
isMessageFailed 布尔 X12 消息是否失败
isa09 字符串 X12 文档交换日期
isa10 字符串 X12 文档交换时间
isa11 字符串 X12 交换控制标准标识符
isa12 字符串 X12 交换控制版本号
isa14 字符串 请求了 X12 确认
isa15 字符串 表示测试或生产的指示符
isa16 字符串 元素分隔符

X12 交换确认 - MessageProperties 架构

以下语法描述了跟踪记录类型为 X12 交换确认时的 MessageProperties 架构:

{
   "direction": "",
   "interchangeControlNumber": "",
   "respondingInterchangeControlNumber": "",
   "isMessageFailed": "",
   "statusCode": "",
   "processingStatus": "",
   "ta102": "",
   "ta103": "",
   "ta105": ""
}
资产 类型 DESCRIPTION
方向 枚举 消息流方向(sendreceive
交换控制编号 字符串 从合作伙伴收到的技术确认的交换控制编号
isMessageFailed 布尔 X12 消息是否失败
statusCode 布尔 交换确认状态代码,其中包含以下允许的值:AcceptedRejectedAcceptedWithErrors
processingStatus 枚举 确认处理状态,其中包含以下允许的值: ReceivedGeneratedSent
ta102 字符串 交换日期
ta103 字符串 换乘时间
ta103 字符串 交换注释代码

X12 功能组 - “MessageProperties” 架构

以下语法描述了跟踪记录类型为 X12 功能组时的 MessageProperties 架构:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isFunctionalAcknowledgmentExpected": "",
   "isMessageFailed": "",
   "gs01": "",
   "gs02": "",
   "gs03": "",
   "gs04": "",
   "gs05": "",
   "gs07": "",
   "gs08": ""
}
资产 类型 DESCRIPTION
方向 枚举 消息流方向(sendreceive
交换控制编号 字符串 交换的控制编号
功能组控制编号 字符串 功能组的控制编号
isTechnicalAcknowledgmentExpected 布尔 是否已在 X12 协议中配置了技术确认
isFunctionalAcknowledgmentExpected 布尔 是否已在 X12 协议中配置了功能确认
isMessageFailed 布尔 X12 消息是否失败
gs01 字符串 功能组标识符代码
gs02 字符串 应用程序发送方代码
gs03 字符串 应用程序接收器代码
gs04 字符串 功能组日期
gs05 字符串 功能组时间
gs07 字符串 负责机构代码
gs08 字符串 版本、发行版或行业的标识符代码

X12 功能组确认 - MessageProperties 架构

以下语法描述了跟踪记录类型为 X12 功能组确认时的 MessageProperties 架构:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "respondingFunctionalGroupControlNumber": "",
   "respondingFunctionalGroupId": "",
   "isMessageFailed": "",
   "statusCode": "",
   "processingStatus": "",
   "ak903": "",
   "ak904": "",
}
资产 类型 DESCRIPTION
方向 枚举 消息流方向(sendreceive
交换控制编号 字符串 交换的控制编号。 当从合作伙伴接收到技术确认时,为发送方填充此值。
功能组控制编号 字符串 功能组的控制编号
respondingFunctionalGroupControlNumber 字符串 原始功能组的控制编号
响应功能组ID 字符串 在确认功能组 ID 中映射到 AK101
statusCode 枚举 确认状态代码,其中包含以下允许的值:AcceptedRejectedAcceptedWithErrors
processingStatus 字符串 确认处理状态,其中包含以下允许的值: ReceivedGeneratedSent
ak903 字符串 收到的事务集的数量
ak903 字符串 在标识的功能组中接受的事务集的数量

WorkflowRunOperationInfo 架构

AS2TrackRecords 表和 EdiTrackRecords 表中的 WorkflowRunOperationInfo 表列捕获有关标准逻辑应用工作流运行的信息。 此列具有使用以下 JSON 架构的 动态 类型结构:

{
   "title": "WorkflowRunOperationInfo",
   "type": "object",
   "properties": {
      "Workflow": {
         "type": "object",
         "properties": {
            "SystemId": {
               "type": "string",
               "description": "The workflow system ID."
            },
            "SubscriptionId": {
               "type": "string",
               "description": "The subscription ID of the workflow."
            },
            "ResourceGroup": {
               "type": "string",
               "description": "The resource group name of the workflow."
            },
            "LogicAppName": {
               "type": "string",
               "description": "The logic app name of the workflow."
            },
            "Name": {
               "type": "string",
               "description": "The name of the workflow."
            },
            "Version": {
               "type": "string",
               "description": "The version of the workflow."
            }
         }
      },
      "RunInstance": {
         "type": "object",
         "properties": {
            "RunId": {
               "type": "string",
               "description": "The logic app run id."
            },
            "TrackingId": {
               "type": "string",
               "description": "The tracking id of the run."
            },
            "ClientTrackingId": {
               "type": "string",
               "description": "The client tracking id of the run."
            }
         }
      },
      "Operation": {
         "type": "object",
         "properties": {
            "OperationName": {
               "type": "string",
               "description": "The logic app operation name."
            },
            "RepeatItemScopeName": {
               "type": "string",
               "description": "The repeat item scope name."
            },
            "RepeatItemIndex": {
            "type": "integer",
            "description": "The repeat item index."
            },
            "RepeatItemBatchIndex": {
               "type": "integer",
               "description": "The index of the repeat item batch."
            },
            "TrackingId": {
               "type": "string",
               "description": "The tracking id of the logic app operation."
            },
            "CorrelationId": {
               "type": "string",
               "description": "The correlation id of the logic app operation."
            },
            "ClientRequestId": {
               "type": "string",
               "description": "The client request id of the logic app operation."
            },
            "OperationTrackingId": {
               "type": "string",
               "description": "The operation tracking id of the logic app operation."
            }
         }
      }
   }
}