Partilhar via


Rastreando esquemas para transações B2B em fluxos de trabalho padrão para Aplicativos Lógicos do Azure (Visualização)

Aplica-se a: Aplicativos Lógicos do Azure (Padrão)

Observação

Esta funcionalidade está em pré-visualização e está sujeita aos Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.

As Aplicações Lógicas do Azure incluem rastreio incorporado que pode ativar para as partes do seu fluxo de trabalho padrão. Para ajudá-lo a monitorar a entrega ou recebimento bem-sucedidos, erros e propriedades de mensagens entre empresas (B2B), este guia ajuda você a entender melhor as tabelas que armazenam dados de rastreamento B2B para suas transações.

Observação

Este artigo aplica-se apenas a fluxos de trabalho de aplicativos lógicos padrão. Para obter informações sobre como monitorar fluxos de trabalho do aplicativo lógico de consumo, consulte a seguinte documentação:

Tabela de rastreio AS2TrackRecords para AS2

A tabela do Explorador de Base de Dados do Azure denominada AS2TrackRecords armazena todos os dados de acompanhamento AS2. O exemplo a seguir descreve a consulta que cria essa tabela e a ordem necessária para especificar as colunas da tabela:

.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.
)

Observação

A coluna da tabela WorkflowRunOperationInfo tem uma estrutura de tipo dinâmico , que usa um esquema JSON específico. A coluna da tabela MessageProperties também tem uma estrutura de tipo dinâmico , mas usa esquema JSON diferente, com base no tipo de registro de rastreamento. Para obter mais informações, consulte as seguintes seções:

Registro de rastreamento AS2 - esquemas de Propriedades de Mensagem

A coluna da tabela MessageProperties tem uma estrutura de tipo dinâmico que usa esquema JSON diferente, com base no tipo de registro de controle.

Esquema de Propriedades da Mensagem AS2

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registro de controle é uma mensagem AS2:

{
   "direction": "",
   "messageId": "",
   "dispositionType": "",
   "fileName": "",
   "isMessageFailed": "",
   "isMessageSigned": "",
   "isMessageEncrypted": "",
   "isMessageCompressed": "",
   "correlationMessageId": "",
   "incomingHeaders": {},
   "outgoingHeaders": {},
   "isNrrEnabled": "",
   "isMdnExpected": "",
   "mdnType": ""
}
Propriedade Tipo Descrição
direção Cordão Direção do fluxo de mensagens (send ou receive)
messageId Cordão ID da mensagem AS2 do cabeçalho da mensagem AS2
dispositionType Cordão Tipo de disposição para a notificação de disposição de mensagem (MDN)
nomeDoFicheiro Cordão Nome do arquivo do cabeçalho da mensagem AS2
isMessageFailed Booleano Se a mensagem AS2 falhou
isMessageSigned Booleano Se a mensagem AS2 foi assinada
isMessageEncrypted Booleano Se a mensagem AS2 foi encriptada
isMessageCompressed Booleano Se a mensagem AS2 foi compactada
correlationMessageId Cordão ID de mensagem para correlacionar mensagens AS2 com notificações de disposição de mensagens (MDNs)
incomingHeaders Dicionário JToken Detalhes do cabeçalho da mensagem AS2 recebida
outgoingHeaders Dicionário JToken Detalhes do cabeçalho da mensagem AS2 de saída
isNrrEnabled Booleano Se a Não Rejeição de Recebimento (NRR) está ativada
isMdnEsperado Booleano A Notificação de Disposição de Mensagem (MDN) é esperada
mdnType Enumeração Valores permitidos: NotConfigured, Synce Async

AS2 MDN - Esquema PropriedadesMensagem

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registro de controle é um MDN AS2:

{
   "direction": "",
   "messageId": "",
   "originalMessageId": "",
   "dispositionType": "",
   "isMessageFailed": "",
   "isMessageSigned": "",
   "isNrrEnabled": "",
   "statusCode": "",
   "micVerificationStatus" "",
   "correlationMessageId": "",
   "incomingHeaders": {},
   "outgoingHeaders": {},
}
Propriedade Tipo Descrição
direção Cordão Direção do fluxo de mensagens (send ou receive)
messageId Cordão ID da mensagem AS2 do cabeçalho da mensagem AS2
originalMessageId Cordão ID da mensagem AS2 original
tipoDeDisposição Cordão Tipo de disposição para a notificação de disposição de mensagem (MDN)
isMessageFailed Booleano Se a mensagem AS2 falhou
isMessageSigned Booleano Se a mensagem AS2 foi assinada
isNrrEnabled Booleano Se a Não Rejeição de Recebimento (NRR) está habilitada
statusCode Enum Valores permitidos: Accepted, Rejectede AcceptedWithErrors
micVerificationStatus Enumeração Valores permitidos: NotApplicable, Succeedede Failed
correlationMessageId Cordão ID de correlação, que é a ID da mensagem original que tem o MDN configurado
incomingHeaders Dicionário JToken Detalhes do cabeçalho da mensagem AS2 recebida
outgoingHeaders Dicionário JToken Detalhes do cabeçalho da mensagem AS2 de saída

Tabela de rastreamento EdiTrackRecords para X12

A tabela do Gerenciador de Banco de Dados do Azure chamada EdiTrackRecords armazena todos os dados de rastreamento X12. O exemplo a seguir descreve a consulta que cria essa tabela e a ordem necessária para especificar as colunas da tabela:

.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'
)

Registro de rastreamento X12 - esquemas de propriedades de mensagem

A coluna da tabela MessageProperties tem uma estrutura de tipo dinâmico que usa esquema JSON diferente, com base no tipo de registro de controle.

Conjunto de transações X12 - esquema MessageProperties

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registro de controle é um conjunto de transações X12:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "transactionSetControlNumber": "",
   "correlationMessageId": "",
   "messageType": "",
   "isMessageFailed": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isFunctionalAcknowledgmentExpected": "",
   "needAk2LoopForValidMessages": "",
   "segmentsCount": ""
}
Propriedade Tipo Descrição
direção Enumeração Direção do fluxo de mensagens (send ou receive)
interchangeControlNumber Cordão Número de controle para o intercâmbio
númeroDeControloDoGrupoFuncional Cordão Número de controlo para o grupo funcional
transactionSetControlNumber Cordão Número de controle para o conjunto de transações
correlationMessageId Cordão ID de correlação de mensagens, que combina estes valores: {Nome do Acordo}{Número de Controle do Intercâmbio-ou-do Grupo Funcional}{Número de Controle do Conjunto de Transações}
Tipo de mensagem Cordão Conjunto de transações ou tipo de documento
isMessageFailed Booleano Se a mensagem X12 falhou
éReconhecimentoTécnicoEsperado Booleano Se o reconhecimento técnico está configurado no contrato X12
ConfirmaçãoFuncionalEsperada Booleano Se o reconhecimento funcional está configurado no contrato X12
necessitaDeLoopAk2ParaMensagensVálidas Booleano Se o loop AK2 é necessário para uma mensagem válida
contagemDeSegmentos Número inteiro Número de segmentos no conjunto de transações X12

Reconhecimento do conjunto de transações X12 - esquema MessageProperties

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registo de rastreamento é uma confirmação do conjunto de transações X12.

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "respondingFunctionalGroupControlNumber": "",
   "respondingFunctionalGroupId": "",
   "respondingTransactionSetId": "",
   "statusCode": "",
   "processingStatus": "",
   "correlationMessageId": "",
   "isMessageFailed": ""
}
Propriedade Tipo Descrição
direção Cordão Direção do fluxo de mensagens (send ou receive)
interchangeControlNumber Cordão Número de controle de intercâmbio para o reconhecimento funcional. Esse valor é preenchido somente para o remetente quando uma confirmação funcional é recebida para as mensagens enviadas ao parceiro.
númeroDeControloDoGrupoFuncional Cordão Número de controlo do grupo funcional para confirmação funcional. Esse valor é preenchido somente para o remetente quando uma confirmação funcional é recebida para as mensagens enviadas ao parceiro.
númeroDeControloDoGrupoFuncionalResponsivo Cordão Número de controlo para o grupo funcional que responde
respondingFunctionalGroupId Cordão Número de controlo para o grupo funcional respondente
respondingTransactionSetId Cordão ID do grupo funcional respondente que mapeia para AK101 na confirmação
statusCode Booleano Código de status de confirmação para o conjunto de transações
estadoDeProcessamento Enumeração Status de processamento de reconhecimento com estes valores permitidos: Received, Generatede Sent
correlationMessageId Cordão ID de correlação de mensagens, que combina estes valores: {AgreementName}{InterchangeORFunctionalGroupControlNumber}{TransactionSetControlNumber}
isMessageFailed Cordão Se a mensagem X12 falhou

Intercâmbio X12 - esquema MessageProperties

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registro de controle é um intercâmbio X12:

{
   "direction": "",
   "interchangeControlNumber": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isMessageFailed": "",
   "isa09": "",
   "isa10": "",
   "isa11": "",
   "isa12": "",
   "isa14": "",
   "isa15": "",
   "isa16": ""
}
Propriedade Tipo Descrição
direção Enumeração Direção do fluxo de mensagens (send ou receive)
interchangeControlNumber Cordão Número de controle para o intercâmbio
isTechnicalAcknowledgmentExpected Booleano Se o reconhecimento técnico está configurado no contrato X12
isMessageFailed Booleano Se a mensagem X12 falhou
ISA09 Cordão Data de intercâmbio de documentos X12
ISA10 Cordão Tempo de intercâmbio de documentos X12
ISA11 Cordão Identificador de padrões de controle de intercâmbio X12
ISA12 Cordão Número da versão do controle de intercâmbio X12
ISA14 Cordão É solicitado o reconhecimento do X12
ISA15 Cordão Indicador para teste ou produção
ISA16 Cordão Separador de elementos

Confirmação de intercâmbio X12 - esquema MessageProperties

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registro de controle é uma confirmação de intercâmbio X12:

{
   "direction": "",
   "interchangeControlNumber": "",
   "respondingInterchangeControlNumber": "",
   "isMessageFailed": "",
   "statusCode": "",
   "processingStatus": "",
   "ta102": "",
   "ta103": "",
   "ta105": ""
}
Propriedade Tipo Descrição
direção Enumeração Direção do fluxo de mensagens (send ou receive)
interchangeControlNumber Cordão Número de controlo de intercâmbio para o reconhecimento técnico recebido dos parceiros
isMessageFailed Booleano Se a mensagem X12 falhou
statusCode Booleano Trocar código de status de confirmação com estes valores permitidos: Accepted, Rejectede AcceptedWithErrors
estadoDeProcessamento Enumeração Status de processamento de reconhecimento com estes valores permitidos: Received, Generatede Sent
TA102 Cordão Data de troca
TA103 Cordão Tempo de intercâmbio
TA103 Cordão Código da nota de intercâmbio

Grupo funcional X12 - Esquema MessageProperties

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registro de controle é um grupo funcional X12:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "isTechnicalAcknowledgmentExpected": "",
   "isFunctionalAcknowledgmentExpected": "",
   "isMessageFailed": "",
   "gs01": "",
   "gs02": "",
   "gs03": "",
   "gs04": "",
   "gs05": "",
   "gs07": "",
   "gs08": ""
}
Propriedade Tipo Descrição
direção Enum Direção do fluxo de mensagens (send ou receive)
interchangeControlNumber Cordão Número de controle para o intercâmbio
funcionalGroupControlNumber Cordão Número de controlo para o grupo funcional
éExpetadoReconhecimentoTécnico Booleano Se o reconhecimento técnico está configurado no contrato X12
éReconhecimentoFuncionalEsperado Booleano Se o reconhecimento funcional está configurado no contrato X12
isMessageFailed Booleano Se a mensagem X12 falhou
GS01 Cordão Código identificador do grupo funcional
GS02 Cordão Código do remetente do aplicativo
GS03 Cordão Código do recetor da aplicação
GS04 Cordão Data do grupo funcional
GS05 Cordão Tempo de grupo funcional
GS07 Cordão Código da agência responsável
GS08 Cordão Código identificador da versão, lançamento ou indústria

Reconhecimento do grupo funcional X12 - Esquema MessageProperties

A sintaxe a seguir descreve o esquema MessageProperties quando o tipo de registo de rastreamento é um reconhecimento de grupo funcional X12:

{
   "direction": "",
   "interchangeControlNumber": "",
   "functionalGroupControlNumber": "",
   "respondingFunctionalGroupControlNumber": "",
   "respondingFunctionalGroupId": "",
   "isMessageFailed": "",
   "statusCode": "",
   "processingStatus": "",
   "ak903": "",
   "ak904": "",
}
Propriedade Tipo Descrição
direção Enumeração Direção do fluxo de mensagens (send ou receive)
interchangeControlNumber Cordão Número de controle para o intercâmbio. Esse valor é preenchido para o remetente quando uma confirmação técnica é recebida dos parceiros.
númeroDeControloDoGrupoFuncional Cordão Número de controlo para o grupo funcional
númeroDeControleDoGrupoFuncionalDeResposta Cordão Número de controlo para o grupo funcional original
respondingFunctionalGroupId Cordão Mapeia para AK101 no ID do grupo funcional de reconhecimento
statusCode Enum Código de status de reconhecimento com estes valores permitidos: Accepted, Rejectede AcceptedWithErrors
estadoDeProcessamento Cordão Status de processamento de reconhecimento com estes valores permitidos: Received, Generatede Sent
AK903 Cordão Número de conjuntos de transações recebidos
AK903 Cordão Número de conjuntos de transações aceites no grupo funcional identificado

Esquema WorkflowRunOperationInfo

A coluna da tabela WorkflowRunOperationInfo na tabela AS2TrackRecords e na tabela EdiTrackRecords captura informações sobre a execução do fluxo de trabalho do aplicativo lógico padrão. Esta coluna tem uma estrutura de tipo dinâmico que usa o seguinte esquema 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."
            }
         }
      }
   }
}