Azure 逻辑应用中用于监视 B2B 消息的跟踪架构
适用范围:Azure 逻辑应用(消耗型 + 标准型)
Azure 逻辑应用包含内置跟踪,你可以为工作流的组成部分启用该跟踪。 为了帮助你监视企业到企业 (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 消息的跟踪架构中的属性:
properties | 必须 | Type | 说明 |
---|---|---|---|
senderPartnerName | 否 | 字符串 | AS2 消息发送者的合作伙伴名称 |
receiverPartnerName | 否 | 字符串 | AS2 消息接收者的合作伙伴名称 |
as2To | 是 | 字符串 | AS2 消息标头中的 AS2 消息接收者名称 |
as2From | 是 | 字符串 | AS2 消息标头中的 AS2 消息发送者名称 |
agreementName | 否 | 字符串 | 解析消息的 AS2 协议名称 |
direction | 是 | 字符串 | 消息流的方向,为 receive 或 send |
messageId | 否 | 字符串 | AS2 消息标头中的 AS2 消息 ID |
dispositionType | 否 | 字符串 | 邮件处置说明 (MDN) 处置类型值 |
fileName | 否 | 字符串 | 文件名,来自 AS2 消息的标头 |
isMessageFailed | 是 | 布尔 | AS2 消息是否失败 |
isMessageSigned | 是 | 布尔 | AS2 消息是否已签名 |
isMessageEncrypted | 是 | 布尔 | AS2 消息是否已加密 |
isMessageCompressed | 是 | 布尔 | AS2 消息是否已压缩 |
correlationMessageId | 否 | 字符串 | AS2 消息 ID,用于将消息与 MDN 相关联 |
incomingHeaders | 否 | JToken 字典 | 传入 AS2 消息标头的详细信息 |
outgoingHeaders | 否 | JToken 字典 | 传出 AS2 消息标头的详细信息 |
isNrrEnabled | 是 | 布尔 | 值未知时是否使用默认值 |
isMdnExpected | 是 | 布尔 | 如果值未知,是否使用默认值 |
mdnType | 是 | 枚举 | 允许的值:NotConfigured 、Sync 和 Async |
AS2 MDN 跟踪架构
以下语法描述 AS2 MDN 消息的跟踪架构:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"as2To": "",
"as2From": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"messageId": "",
"originalMessageId": "",
"dispositionType": "",
"isMessageFailed": "",
"isMessageSigned": "",
"isNrrEnabled": "",
"statusCode": "",
"micVerificationStatus": "",
"correlationMessageId": "",
"incomingHeaders": {
},
"outgoingHeaders": {
}
}
}
下表描述 AS2 MDN 消息的跟踪架构中的属性:
properties | 必须 | Type | 说明 |
---|---|---|---|
senderPartnerName | 否 | 字符串 | AS2 消息发送者的合作伙伴名称 |
receiverPartnerName | 否 | 字符串 | AS2 消息接收者的合作伙伴名称 |
as2To | 是 | 字符串 | 接收 AS2 消息的合作伙伴名称 |
as2From | 是 | 字符串 | 发送 AS2 消息的合作伙伴名称 |
agreementName | 否 | 字符串 | 解析消息的 AS2 协议名称 |
direction | 是 | 字符串 | 消息流的方向,为 receive 或 send |
messageId | 否 | 字符串 | AS2 消息 ID |
originalMessageId | 否 | 字符串 | AS2 原始消息 ID |
dispositionType | 否 | 字符串 | MDN 处置类型值 |
isMessageFailed | 是 | 布尔 | AS2 消息是否失败 |
isMessageSigned | 是 | 布尔 | AS2 消息是否已签名 |
isNrrEnabled | 是 | 布尔 | 如果值未知,是否使用默认值 |
statusCode | 是 | 枚举 | 允许的值:Accepted 、Rejected 和 AcceptedWithErrors |
micVerificationStatus | 是 | 枚举 | 允许的值:NotApplicable 、Succeeded 和 Failed |
correlationMessageId | 否 | 字符串 | 相关 ID,它是配置了 MDN 的原始消息的 ID |
incomingHeaders | 否 | JToken 字典 | 传入消息标头的详细信息 |
outgoingHeaders | 否 | JToken 字典 | 传出消息标头的详细信息 |
X12
X12 事务集跟踪架构
以下语法描述 X12 事务集的跟踪架构:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"functionalGroupControlNumber": "",
"transactionSetControlNumber": "",
"CorrelationMessageId": "",
"messageType": "",
"isMessageFailed": "",
"isTechnicalAcknowledgmentExpected": "",
"isFunctionalAcknowledgmentExpected": "",
"needAk2LoopForValidMessages": "",
"segmentsCount": ""
}
}
下表描述 X12 事务集的跟踪架构中的属性:
properties | 必须 | Type | 说明 |
---|---|---|---|
senderPartnerName | 否 | 字符串 | X12 消息发送方的合作伙伴名称 |
receiverPartnerName | 否 | 字符串 | X12 消息接收方的合作伙伴名称 |
senderQualifier | 是 | 字符串 | 发送合作伙伴限定符 |
senderIdentifier | 是 | 字符串 | 发送合作伙伴标识符 |
receiverQualifier | 是 | 字符串 | 接收合作伙伴限定符 |
receiverIdentifier | 是 | 字符串 | 接收合作伙伴标识符 |
agreementName | 否 | 字符串 | 解析消息的 X12 协议名称 |
direction | 是 | 枚举 | 消息流的方向,为 receive 或 send |
interchangeControlNumber | 否 | 字符串 | 交换控制编号 |
functionalGroupControlNumber | 否 | 字符串 | 功能控制编号 |
transactionSetControlNumber | 否 | 字符串 | 事务集控制编号 |
CorrelationMessageId | 否 | 字符串 | 相关消息 ID,为 {AgreementName} {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} 的组合 |
messageType | 否 | 字符串 | 交易集或文档类型。 |
isMessageFailed | 是 | 布尔 | X12 消息是否失败 |
isTechnicalAcknowledgmentExpected | 是 | 布尔 | 是否已在 X12 协议中配置了技术确认 |
isFunctionalAcknowledgmentExpected | 是 | 布尔 | 是否已在 X12 协议中配置了功能确认 |
needAk2LoopForValidMessages | 是 | 布尔 | 有效的消息是否需要 AK2 循环 |
segmentsCount | 否 | Integer | 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 事务集确认的跟踪架构中的属性:
properties | 必须 | Type | 说明 |
---|---|---|---|
senderPartnerName | 否 | 字符串 | X12 消息发送方的合作伙伴名称 |
receiverPartnerName | 否 | 字符串 | X12 消息接收方的合作伙伴名称 |
senderQualifier | 是 | 字符串 | 发送合作伙伴限定符 |
senderIdentifier | 是 | 字符串 | 发送合作伙伴标识符 |
receiverQualifier | 是 | 字符串 | 接收合作伙伴限定符 |
receiverIdentifier | 是 | 字符串 | 接收合作伙伴标识符 |
agreementName | 否 | 字符串 | 解析消息的 X12 协议名称 |
direction | 是 | 枚举 | 消息流的方向,为 receive 或 send |
interchangeControlNumber | 否 | 字符串 | 功能确认的交换控制编号。 只有发送方已收到发送给合作伙伴的消息的功能确认时,才会为发送方填充此值。 |
functionalGroupControlNumber | 否 | 字符串 | 功能确认的功能组控制编号。 只有发送方已收到发送给合作伙伴的消息的功能确认时,才会为发送方填充此值 |
isaSegment | 否 | 字符串 | 消息的 ISA 段。 只有发送方已收到发送给合作伙伴的消息的功能确认时,才会为发送方填充此值 |
gsSegment | 否 | 字符串 | 消息的 GS 段。 只有发送方已收到发送给合作伙伴的消息的功能确认时,才会为发送方填充此值 |
respondingfunctionalGroupControlNumber | 否 | 字符串 | 响应交换控制编号 |
respondingFunctionalGroupId | 否 | 字符串 | 确认中映射到 AK101 的响应功能组 ID |
respondingtransactionSetControlNumber | 否 | 字符串 | 响应交易集控制编号 |
respondingTransactionSetId | 否 | 字符串 | 确认中映射到 AK201 的响应交易集 ID |
statusCode | 是 | 布尔 | 交易集确认状态代码 |
segmentsCount | 是 | 枚举 | 确认状态代码,其中包含以下允许的值:Accepted 、Rejected 和 AcceptedWithErrors |
processingStatus | 是 | 枚举 | 确认的处理状态,其中包含以下允许的值:Received 、Generated 和 Sent |
CorrelationMessageId | 否 | 字符串 | 相关消息 ID,为 {AgreementName} {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 交换的跟踪架构中的属性:
properties | 必须 | 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 交换确认的跟踪架构中的属性:
properties | 必须 | 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 功能组的跟踪架构中的属性:
properties | 必须 | 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 功能组确认的跟踪架构中的属性:
properties | 必须 | Type | 说明 |
---|---|---|---|
senderPartnerName | 否 | 字符串 | X12 消息发送方的合作伙伴名称 |
receiverPartnerName | 否 | 字符串 | X12 消息接收方的合作伙伴名称 |
senderQualifier | 是 | 字符串 | 发送合作伙伴限定符 |
senderIdentifier | 是 | 字符串 | 发送合作伙伴标识符 |
receiverQualifier | 是 | 字符串 | 接收合作伙伴限定符 |
receiverIdentifier | 是 | 字符串 | 接收合作伙伴标识符 |
agreementName | 否 | 字符串 | 解析消息的 X12 协议名称 |
direction | 是 | 枚举 | 消息流的方向,为 receive 或 send |
interchangeControlNumber | 否 | 字符串 | 交换控制编号,当从合作伙伴收到了技术确认时,会为发送方填充此值 |
functionalGroupControlNumber | 否 | 字符串 | 技术确认的功能组控制编号,当从合作伙伴收到了技术确认时,会为发送方填充此值 |
isaSegment | 否 | 字符串 | 与交换控制编号相同,但仅在特定情况下填充 |
gsSegment | 否 | 字符串 | 与功能组控制编号相同,但仅在特定情况下填充 |
respondingfunctionalGroupControlNumber | 否 | 字符串 | 原始功能组的控制编号 |
respondingFunctionalGroupId | 否 | 字符串 | 在确认功能组 ID 中映射到 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": {}
}
]
}
下表描述自定义跟踪架构中的属性:
properties | 必须 | Type | 说明 |
---|---|---|---|
sourceType | 是 | 字符串 | 运行源的类型,允许的值如下:Microsoft.Logic/workflows 、custom |
source | 是 | 字符串或 JToken | 如果源类型为 Microsoft.Logic/workflows ,则源信息必须遵循此架构。 如果源类型为 custom ,则架构为 JToken。 |
systemId | 是 | 字符串 | 逻辑应用系统 ID |
runId | 是 | 字符串 | 逻辑应用运行 ID |
operationName | 是 | 字符串 | 操作(例如操作或触发器)的名称 |
repeatItemScopeName | 是 | 字符串 | 如果操作处于 foreach 或 until 循环内,则重复项名称 |
repeatItemIndex | 是 | Integer | 表示操作处于 foreach 或 until 循环内,并且是重复的项索引编号。 |
trackingId | 否 | 字符串 | 用来关联消息的跟踪 ID |
correlationId | 否 | 字符串 | 用来关联消息的相关性 ID |
ClientRequestId | 否 | 字符串 | 客户端可以填充此属性来关联消息 |
EventLevel | 是 | 字符串 | 事件的级别 |
EventTime | 是 | DateTime | 采用 UTC 格式的事件时间:YYYY-MM-DDTHH:MM:SS.00000Z |
recordType | 是 | 字符串 | 跟踪记录的类型,仅允许以下值:custom |
记录 (record) | 是 | JToken | 仅采用 JToken 格式的自定义记录类型 |