在 Azure Logic Apps 中監視 B2B 訊息的追蹤架構
適用於: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 訊息追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | AS2 訊息傳送者的合作夥伴名稱 |
receiverPartnerName | 否 | String | AS2 訊息接收者的合作夥伴名稱 |
as2To | 是 | String | 取自於 AS2 訊息標頭的 AS2 訊息接收者名稱 |
as2From | 是 | String | 取自於 AS2 訊息標頭的 AS2 訊息傳送者名稱 |
agreementName | 否 | String | 據以解析訊息的 AS2 合約名稱 |
direction | 是 | String | 訊息流程的方向,即 receive 或 send |
messageId | 否 | String | 取自於 AS2 訊息標頭的 AS2 訊息識別碼 |
dispositionType | 否 | String | 訊息處理通知 (MDN) 處理型別值 |
fileName | 否 | String | 取自於 AS2 訊息標頭的檔案名稱 |
isMessageFailed | 是 | Boolean | AS2 訊息是否失敗 |
isMessageSigned | 是 | Boolean | AS2 訊息是否已簽署 |
isMessageEncrypted | 是 | Boolean | AS2 訊息是否已加密 |
isMessageCompressed | 是 | Boolean | AS2 訊息是否已壓縮 |
correlationMessageId | 否 | String | AS2 訊息識別碼,將訊息與 MDN 相互關聯 |
incomingHeaders | No | JToken 的字典 | 內送 AS2 訊息標頭的詳細資料 |
outgoingHeaders | No | JToken 的字典 | 外寄 AS2 訊息標頭的詳細資料 |
isNrrEnabled | 是 | Boolean | 如果值為未知,是否要使用預設值 |
isMdnExpected | 是 | Boolean | 如果值為未知,是否要使用預設值 |
mdnType | Yes | 列舉 | 允許的值: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 訊息之追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | AS2 訊息傳送者的合作夥伴名稱 |
receiverPartnerName | 否 | String | AS2 訊息接收者的合作夥伴名稱 |
as2To | 是 | String | 接收該 AS2 訊息的夥伴名稱 |
as2From | 是 | String | 傳送該 AS2 訊息的夥伴名稱 |
agreementName | 否 | String | 據以解析訊息的 AS2 合約名稱 |
direction | 是 | String | 訊息流程的方向,即 receive 或 send |
messageId | 否 | String | AS2 訊息識別碼 |
originalMessageId | 否 | String | AS2 原始訊息識別碼 |
dispositionType | 否 | String | MDN 處置型別值 |
isMessageFailed | 是 | Boolean | AS2 訊息是否失敗 |
isMessageSigned | 是 | Boolean | AS2 訊息是否已簽署 |
isNrrEnabled | 是 | Boolean | 如果值為未知,是否要使用預設值 |
statusCode | Yes | 列舉 | 允許的值:Accepted 、Rejected 、及 AcceptedWithErrors |
micVerificationStatus | Yes | 列舉 | 允許的值:NotApplicable 、Succeeded 、及 Failed |
correlationMessageId | 否 | String | 相互關聯識別碼,其為已設定 MDN 的原始訊息識別碼 |
incomingHeaders | No | JToken 的字典 | 內送訊息標頭的詳細資料 |
outgoingHeaders | No | 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 交易集之追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | X12 訊息傳送者的夥伴名稱 |
receiverPartnerName | 否 | String | X12 訊息接收者的夥伴名稱 |
senderQualifier | 是 | String | 傳送合作夥伴辨識符號 |
senderIdentifier | 是 | String | 傳送合作夥伴識別碼 |
receiverQualifier | 是 | String | 接收合作夥伴辨識符號 |
receiverQualifier | 是 | String | 接收合作夥伴識別碼 |
agreementName | 否 | String | 據以解析訊息的 X12 合約名稱 |
direction | Yes | 列舉 | 訊息流程的方向,即 receive 或 send |
interchangeControlNumber | 否 | String | 交換控制編號 |
functionalGroupControlNumber | 否 | String | 功能的控制編號 |
transactionSetControlNumber | 否 | String | 交易集控制編號 |
CorrelationMessageId | 否 | String | 相互關聯訊息識別碼,其是 {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} 的組合 |
messageType | 否 | String | 交易集或文件類型 |
isMessageFailed | 是 | Boolean | X12 訊息是否失敗 |
isTechnicalAcknowledgmentExpected | 是 | Boolean | X12 合約中是否設定技術通知 |
isFunctionalAcknowledgmentExpected | 是 | Boolean | X12 合約中是否設定功能通知 |
needAk2LoopForValidMessages | 是 | Boolean | 有效的訊息是否需要 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 交易集通知之追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | X12 訊息傳送者的夥伴名稱 |
receiverPartnerName | 否 | String | X12 訊息接收者的夥伴名稱 |
senderQualifier | 是 | String | 傳送合作夥伴辨識符號 |
senderIdentifier | 是 | String | 傳送合作夥伴識別碼 |
receiverQualifier | 是 | String | 接收合作夥伴辨識符號 |
receiverQualifier | 是 | String | 接收合作夥伴識別碼 |
agreementName | 否 | String | 據以解析訊息的 X12 合約名稱 |
direction | Yes | 列舉 | 訊息流程的方向,即 receive 或 send |
interchangeControlNumber | 否 | String | 功能通知的交換控制編號。 僅針對傳送至夥伴的訊息而接收功能通知的傳送端,才填入值。 |
functionalGroupControlNumber | 否 | String | 功能群組的交換控制編號。 僅針對傳送至夥伴的訊息而接收功能通知的傳送端,才填入值 |
isaSegment | 否 | String | 訊息的 ISA 區段。 僅針對傳送至夥伴的訊息而接收功能通知的傳送端,才填入值 |
isaSegment | 否 | String | 訊息的 GS 區段。 僅針對傳送至夥伴的訊息而接收功能通知的傳送端,才填入值 |
respondingfunctionalGroupControlNumber | 否 | String | 回應交換控制編號 |
respondingFunctionalGroupId | 否 | String | 回應功能群組識別碼,在通知中對應至 AK101 |
respondingtransactionSetControlNumber | 否 | String | 回應交易集控制編號 |
respondingTransactionSetId | 否 | String | 回應交易集識別碼,在通知中對應至 AK201 |
statusCode | 是 | Boolean | 交易集通知狀態碼 |
segmentsCount | Yes | 列舉 | 具有這些允許值的通知狀態碼:Accepted 、Rejected 和 AcceptedWithErrors |
processingStatus | Yes | 列舉 | 具有這些允許值的通知處理狀態:Received 、Generated 和 Sent |
CorrelationMessageId | 否 | String | 相互關聯訊息識別碼,其是 {AgreementName}{GroupControlNumber}{TransactionSetControlNumber} 的組合 |
isMessageFailed | 是 | Boolean | X12 訊息是否失敗 |
ak2Segment | 否 | String | 接收的功能群組內交易集的通知 |
ak3Segment | 否 | String | 報告資料區段中的錯誤 |
ak5Segment | 否 | String | 報告是否接受或拒絕 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 交換之追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | X12 訊息傳送者的夥伴名稱 |
receiverPartnerName | 否 | String | X12 訊息接收者的夥伴名稱 |
senderQualifier | 是 | String | 傳送合作夥伴辨識符號 |
senderIdentifier | 是 | String | 傳送合作夥伴識別碼 |
receiverQualifier | 是 | String | 接收合作夥伴辨識符號 |
receiverQualifier | 是 | String | 接收合作夥伴識別碼 |
agreementName | 否 | String | 據以解析訊息的 X12 合約名稱 |
direction | Yes | 列舉 | 訊息流程的方向,即 receive 或 send |
interchangeControlNumber | 否 | String | 交換控制編號 |
isaSegment | 否 | String | 訊息 ISA 區段 |
isTechnicalAcknowledgmentExpected | Boolean | X12 合約中是否設定技術通知 | |
isMessageFailed | 是 | Boolean | X12 訊息是否失敗 |
isa09 | 否 | String | X12 文件交換日期 |
isa10 | 否 | String | X12 文件交換時間 |
isa11 | 否 | String | X12 交換控制標準識別碼 |
isa12 | 否 | String | X12 交換控制版本號碼 |
isa14 | 否 | String | 已要求 X12 通知 |
isa15 | 否 | String | 用於測試或生產的指標 |
isa16 | 否 | String | 項目分隔符號 |
X12 交換通知追蹤結構描述
下列語法描述 X12 交換通知的追蹤架構:
{
"agreementProperties": {
"senderPartnerName": "",
"receiverPartnerName": "",
"senderQualifier": "",
"senderIdentifier": "",
"receiverQualifier": "",
"receiverIdentifier": "",
"agreementName": ""
},
"messageProperties": {
"direction": "",
"interchangeControlNumber": "",
"isaSegment": "",
"respondingInterchangeControlNumber": "",
"isMessageFailed": "",
"statusCode": "",
"processingStatus": "",
"ta102": "",
"ta103": "",
"ta105": ""
}
}
下表描述 X12 交換通知追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | X12 訊息傳送者的夥伴名稱 |
receiverPartnerName | 否 | String | X12 訊息接收者的夥伴名稱 |
senderQualifier | 是 | String | 傳送合作夥伴辨識符號 |
senderIdentifier | 是 | String | 傳送合作夥伴識別碼 |
receiverQualifier | 是 | String | 接收合作夥伴辨識符號 |
receiverQualifier | 是 | String | 接收合作夥伴識別碼 |
agreementName | 否 | String | 據以解析訊息的 X12 合約名稱 |
direction | Yes | 列舉 | 訊息流程的方向,即 receive 或 send |
interchangeControlNumber | 否 | String | 從合作夥伴收到的技術通知交換控制編號 |
isaSegment | 否 | String | 從合作夥伴收到的技術通知 ISA 區段 |
respondingInterchangeControlNumber | 否 | String | 從合作夥伴收到的技術通知交換控制編號 |
isMessageFailed | 是 | Boolean | X12 訊息是否失敗 |
statusCode | Yes | 列舉 | 具有這些允許值的交換通知狀態碼:Accepted 、Rejected 和 AcceptedWithErrors |
processingStatus | Yes | 列舉 | 具有這些允許值的通知狀態:Received 、Generated 和 Sent |
ta102 | 否 | String | 交換日期 |
ta103 | 否 | String | 交換時間 |
ta105 | 否 | String | 交換說明碼 |
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 功能群組追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | X12 訊息傳送者的夥伴名稱 |
receiverPartnerName | 否 | String | X12 訊息接收者的夥伴名稱 |
senderQualifier | 是 | String | 傳送合作夥伴辨識符號 |
senderIdentifier | 是 | String | 傳送合作夥伴識別碼 |
receiverQualifier | 是 | String | 接收合作夥伴辨識符號 |
receiverQualifier | 是 | String | 接收合作夥伴識別碼 |
agreementName | 否 | String | 據以解析訊息的 X12 合約名稱 |
direction | Yes | 列舉 | 訊息流程的方向,接收或傳送 |
interchangeControlNumber | 否 | String | 交換控制編號 |
functionalGroupControlNumber | 否 | String | 功能的控制編號 |
isaSegment | 否 | String | 訊息 GS 區段 |
isTechnicalAcknowledgmentExpected | 是 | Boolean | X12 合約中是否設定技術通知 |
isFunctionalAcknowledgmentExpected | 是 | Boolean | X12 合約中是否設定功能通知 |
isMessageFailed | 是 | Boolean | X12 訊息是否失敗 |
gs01 | 否 | String | 功能識別碼 |
gs02 | 否 | String | 應用程式傳送者的代碼 |
gs03 | 否 | String | 應用程式接收者的代碼 |
gs04 | 否 | String | 功能群組的日期 |
gs05 | 否 | String | 功能群組的時間 |
gs07 | 否 | String | 負責單位的代碼 |
gs08 | 否 | String | 版本、發行版本或產業的識別碼 |
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 功能群組通知追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
senderPartnerName | 否 | String | X12 訊息傳送者的夥伴名稱 |
receiverPartnerName | 否 | String | X12 訊息接收者的夥伴名稱 |
senderQualifier | 是 | String | 傳送合作夥伴辨識符號 |
senderIdentifier | 是 | String | 傳送合作夥伴識別碼 |
receiverQualifier | 是 | String | 接收合作夥伴辨識符號 |
receiverQualifier | 是 | String | 接收合作夥伴識別碼 |
agreementName | 否 | String | 據以解析訊息的 X12 合約名稱 |
direction | Yes | 列舉 | 訊息流程的方向,即 receive 或 send |
interchangeControlNumber | 否 | String | 從合作夥伴收到技術通知時,傳送端會填入的交換控制編號 |
functionalGroupControlNumber | 否 | String | 從合作夥伴收到技術通知時,傳送端會填入的技術通知功能群組控制編號 |
isaSegment | 否 | String | 同交換控制編號,但只在特定情況下才會填入 |
isaSegment | 否 | String | 同功能群組控制編號,但只在特定情況下才會填入 |
respondingfunctionalGroupControlNumber | 否 | String | 原始功能群組的控制編號 |
respondingFunctionalGroupId | 否 | String | 在通知功能群組識別碼中對應至 AK101 |
isMessageFailed | Boolean | X12 訊息是否失敗 | |
statusCode | Yes | 列舉 | 具有這些允許值的通知狀態碼:Accepted 、Rejected 和 AcceptedWithErrors |
processingStatus | Yes | 列舉 | 具有這些允許值的通知處理狀態:Received 、Generated 和 Sent |
ak903 | 否 | String | 已接收的交易集合數目 |
ak904 | 否 | String | 所識別的功能群組中接受的交易集數目 |
ak9Segment | 否 | String | 是否接受或拒絕 AK1 區段中識別的功能群組,以及原因 |
Custom
您可以設定自訂追蹤,以記錄邏輯應用程式工作流程的開頭到結尾的事件。 例如,您可以從包含工作流程、SQL Server、BizTalk Server或任何其他圖層的圖層記錄事件。 下一節提供自訂追蹤架構程式碼,您可以在工作流程外部的圖層中使用。
{
"sourceType": "",
"source": {
"workflow": {
"systemId": ""
},
"runInstance": {
"runId": ""
},
"operation": {
"operationName": "",
"repeatItemScopeName": "",
"repeatItemIndex": ,
"trackingId": "",
"correlationId": "",
"clientRequestId": ""
}
},
"events": [
{
"eventLevel": "",
"eventTime": "",
"recordType": "",
"record": {}
}
]
}
下表描述自訂追蹤架構中的屬性:
屬性 | 必要 | 類型 | Description |
---|---|---|---|
sourceType | 是 | String | 具有下列允許值的執行來源類型:Microsoft.Logic/workflows 、custom |
source | Yes | JToken 字串 | 如果來源類型是 Microsoft.Logic/workflows ,則來源資訊必須遵循此結構描述。 如果來源類型為 custom ,則結構描述為 JToken。 |
systemId | 是 | String | 邏輯應用程式系統識別碼 |
runId | 是 | String | 邏輯應用程式執行識別碼 |
operationName | 是 | String | 作業 (例如動作或觸發程序) 的名稱 |
repeatItemScopeName | 是 | String | 如果動作在 foreach 或 until 迴圈內,重複項目名稱 |
repeatItemIndex | 是 | 整數 | 表示動作在 foreach 或 until 迴圈內,而且是重複的專案索引編號。 |
trackingId | 否 | String | 追蹤識別碼,使訊息相互關聯 |
correlationId | 否 | String | 相互關連識別碼,使訊息相互關聯 |
clientRequestId | 否 | String | 用戶端可以填入此屬性,以使訊息相互關聯 |
eventLevel | 是 | String | 事件的層級 |
eventTime | Yes | Datetime | 事件的時間,以 UTC 格式:YYYY-MM-DDTHH:MM:SS.00000Z |
recordType | 是 | String | 僅具有此允許值的追蹤記錄類型:custom |
記錄 (record) | Yes | JToken | 僅限 JToken 格式的自訂記錄類型 |