Ligar ao Microsoft Dataverse a partir de fluxos de trabalho no Azure Logic Apps
Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)
Importante
Em 30 de agosto de 2022, as operações do conector do Common Data Service 2.0, também conhecido como Microsoft Dataverse (Legacy), migraram para o conector atual do Microsoft Dataverso. As operações legadas têm o rótulo de "legado", enquanto as operações atuais têm o rótulo de "visualização". Você pode usar o conector Dataverse atual em qualquer fluxo de trabalho de aplicativo lógico novo ou existente. Para compatibilidade com versões anteriores, os fluxos de trabalho existentes continuam a funcionar com o conector Dataverse herdado. No entanto, certifique-se de revisar esses fluxos de trabalho e atualizá-los imediatamente.
Desde outubro de 2023, a versão herdada ficou indisponível para novos fluxos de trabalho. Os fluxos de trabalho existentes continuam a funcionar, mas você deve usar as operações atuais do conector Dataverse para novos fluxos de trabalho. Um cronograma para a data de desligamento para as ações e gatilhos legados será anunciado. Para obter mais informações, consulte Microsoft Dataverse (legacy) connector for Azure Logic Apps será preterido e substituído por outro conector.
Para criar e executar fluxos de trabalho automatizados que criam e gerenciam linhas em seu banco de dados do Microsoft Dataverse, você pode usar os Aplicativos Lógicos do Azure e o conector Microsoft Dataverse. Estes fluxos de trabalho podem criar linhas, atualizar linhas e realizar outras operações. Você também pode obter informações do seu banco de dados Dataverse e disponibilizar a saída para outras ações a serem usadas em seus fluxos de trabalho. Por exemplo, quando uma linha é adicionada, atualizada ou excluída em seu banco de dados Dataverse, você pode enviar um email usando o conector do Office 365 Outlook.
Este guia mostra como criar um fluxo de trabalho que cria uma linha de tarefa sempre que uma nova linha de cliente principal é criada.
Referência do conector
Para obter informações técnicas com base na descrição do Swagger do conector, como operações, limites e outros detalhes, consulte a página de referência do conector gerenciado.
Pré-requisitos
Uma conta e subscrição do Azure. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.
Um ambiente e banco de dados do Dataverse Data Service, que é um espaço onde sua organização armazena, gerencia e compartilha dados corporativos em um banco de dados Dataverso. Para obter mais informações, consulte os seguintes recursos:
Conhecimento básico sobre como criar fluxos de trabalho de aplicativo lógico de consumo ou padrão e o aplicativo lógico de onde você deseja acessar as linhas em seu banco de dados Dataverse. Para usar um gatilho Dataverse, você precisa começar com um fluxo de trabalho em branco. Para obter mais informações, consulte os seguintes recursos:
Adicionar um acionador do Dataverse
Quando você adiciona um gatilho ou ação que se conecta a um serviço ou sistema e não tem uma conexão existente ou ativa, os Aplicativos Lógicos do Azure solicitam que você forneça as informações de conexão, que variam de acordo com o tipo de conexão, por exemplo:
- As credenciais da sua conta
- Um nome a ser usado para a conexão
- O nome do servidor ou sistema
- O tipo de autenticação a ser usado
- Uma cadeia de conexão
Este exemplo usa o gatilho Dataverse que inicia seu fluxo de trabalho quando uma linha é adicionada, atualizada ou excluída.
Nota
O conector Dataverse tem parâmetros específicos de operação e parâmetros específicos de banco de dados. Por exemplo, quando você seleciona uma tabela, os parâmetros disponíveis para essa tabela variam e diferem de outras tabelas.
No portal do Azure, abra o recurso do aplicativo lógico padrão e o fluxo de trabalho em branco no designer.
Se solicitado, entre em seu ambiente ou banco de dados Dataverse.
Na caixa de informações do gatilho, forneça os valores necessários.
Para obter o exemplo de gatilho, consulte Quando uma linha é adicionada, modificada ou excluída.
Quando terminar, salve o fluxo de trabalho do aplicativo lógico. Na barra de ferramentas do estruturador, selecione Guardar.
Agora, adicione pelo menos uma ação para o seu fluxo de trabalho executar quando o gatilho for acionado. Por exemplo, você pode adicionar uma ação Dataverse ou uma ação que envia e-mail com base nas saídas do gatilho.
Adicionar uma ação do Dataverse
Quando você adiciona um gatilho ou ação que se conecta a um serviço ou sistema e não tem uma conexão existente ou ativa, os Aplicativos Lógicos do Azure solicitam que você forneça as informações de conexão, que variam de acordo com o tipo de conexão, por exemplo:
- As credenciais da sua conta
- Um nome a ser usado para a conexão
- O nome do servidor ou sistema
- O tipo de autenticação a ser usado
- Uma cadeia de conexão
Este exemplo usa a ação Dataverse que adiciona uma nova linha ao seu banco de dados.
Nota
O conector Dataverse tem parâmetros específicos de operação e parâmetros específicos de banco de dados. Por exemplo, quando você seleciona uma tabela, os parâmetros disponíveis para essa tabela variam e diferem de outras tabelas.
No portal do Azure, abra o recurso e o fluxo de trabalho do aplicativo lógico padrão no designer.
No designer, siga estas etapas gerais para adicionar a ação Microsoft Dataverse chamada Adicionar uma nova linha.
Se solicitado, entre em seu ambiente ou banco de dados Dataverse.
Na caixa de informações da ação, forneça os valores necessários.
Para a ação de exemplo, consulte Adicionar uma nova linha.
Quando terminar, salve o fluxo de trabalho do aplicativo lógico. Na barra de ferramentas do estruturador, selecione Guardar.
Continue adicionando mais ações, se desejar.
Testar o fluxo de trabalho
Para testar e acionar o fluxo de trabalho, siga estas etapas:
No menu de fluxo de trabalho, selecione Visão geral.
Na barra de ferramentas Visão geral, selecione Executar>execução.
Reproduza as condições que o gatilho requer para que seu fluxo de trabalho seja executado.
Retornar linhas com base em um filtro
Para ações que retornam linhas, como a ação Listar linhas , você pode usar uma consulta ODATA que retorna linhas com base no filtro especificado. Por exemplo, pode configurar a ação para devolver apenas linhas para contas ativas. Para obter mais informações sobre a ação de exemplo, consulte Listar linhas.
No designer, na ação, abra a lista Parâmetros avançados e selecione a propriedade Filtrar linhas .
Na propriedade Filtrar linhas que agora aparece na ação, insira uma expressão de consulta ODATA, por exemplo:
statuscode eq 1
Para obter mais informações sobre $filter
as opções de consulta do sistema, consulte Consultar dados usando a API da Web - Filtrar resultados.
Linhas de retorno com base em uma ordem de classificação
Para ações que retornam linhas, como a ação Listar linhas , você pode usar uma consulta ODATA que retorna linhas em uma sequência específica, que varia com base nas linhas retornadas pela ação. Por exemplo, você pode configurar a ação para retornar linhas organizadas pelo nome da conta. Para obter mais informações sobre a ação de exemplo, consulte Listar linhas.
No designer, na ação, abra a lista Parâmetros avançados e selecione a propriedade Classificar por .
Na propriedade Classificar por que agora aparece na ação, insira o nome da coluna a ser usado para classificar, por exemplo, nome:
Para obter mais informações sobre $orderby
as opções de consulta do sistema, consulte Consultar dados usando a API da Web - Classificar por.
Tipos de dados de campo
Em um gatilho ou ação, o tipo de dados de um valor de campo deve corresponder ao tipo de dados necessário do campo. Este requisito aplica-se quer introduza manualmente o valor ou selecione o valor na lista de conteúdo dinâmico.
Nota
O conector Dataverse tem parâmetros específicos de operação e parâmetros específicos de banco de dados. Por exemplo, quando você seleciona uma tabela, os parâmetros disponíveis para essa tabela variam e diferem de outras tabelas.
Por exemplo, suponha que você tenha uma tabela chamada Tarefas. Esta tabela tem campos que se aplicam apenas a essa tabela, enquanto outras tabelas têm seus próprios campos. Para a tabela Tarefas de exemplo, a tabela a seguir descreve alguns tipos de campo de exemplo e os tipos de dados que esses campos exigem para seus valores.
Campo | Tipo de dados | Description |
---|---|---|
Campo de texto | Uma linha de texto | Requer uma única linha de texto ou conteúdo dinâmico que tenha o tipo de dados de texto, por exemplo, estas propriedades: - Descrição - Categoria |
Campo inteiro | Número inteiro | Requer um conteúdo inteiro ou dinâmico que tenha o tipo de dados inteiro, por exemplo, estas propriedades: - Percentagem Concluída - Duração |
Campo de data | Data e Hora | Requer uma data no formato MM/DD/AAAA ou conteúdo dinâmico que tenha o tipo de dados de data, por exemplo, estas propriedades: - Criado em - Data de Início - Início real - Fim real - Data de Vencimento |
Campo que faz referência a outra linha de entidade | Chave primária | Requer um ID de linha, como um GUID, e um tipo de pesquisa, o que significa que os valores da lista de conteúdo dinâmico não funcionarão, por exemplo, estas propriedades: - Proprietário: Deve ser um ID de usuário válido ou um ID de linha de equipe. - Tipo de proprietário: Deve ser um tipo de pesquisa como systemusers ou teams , respectivamente. - Relativamente: Deve ser um ID de linha válido, como um ID de conta ou um ID de linha de contato. - Em relação ao Tipo: Deve ser um tipo de pesquisa como accounts ou contacts , respectivamente. - Cliente: Deve ser um ID de linha válido, como um ID de conta ou ID de linha de contato. - Tipo de cliente: Deve ser o tipo de pesquisa, como accounts ou contacts , respectivamente. |
Para a tabela Tarefas de exemplo, suponha que você use a ação Adicionar uma nova linha para criar uma nova linha associada a outras linhas de entidade, especificamente uma linha de usuário e uma linha de conta. Portanto, nesta ação, você deve especificar as IDs e os tipos de pesquisa para essas linhas de entidade usando valores que correspondam aos tipos de dados esperados para as propriedades relevantes.
Com base na propriedade Proprietário , que especifica um ID de usuário, e na propriedade Tipo de Proprietário, que especifica o
systemusers
tipo de pesquisa, a ação associa a nova linha a um usuário específico.Com base na propriedade Regard , que especifica um ID de linha, e na propriedade Regarding Type , que especifica o
accounts
tipo de pesquisa, a ação associa a nova linha a uma conta específica.
Resolução de problemas
Chamadas de vários ambientes
O conector Dataverse armazena informações sobre os fluxos de trabalho do aplicativo lógico que recebem e exigem notificações sobre alterações de entidade de banco de dados usando a entidade em seu banco de dados Dataverse callbackregistrations
. Se você copiar uma organização do Dataverse, todos os webhooks também serão copiados. Se você copiar sua organização antes de desabilitar os fluxos de trabalho mapeados para sua organização, todos os webhooks copiados também apontarão para os mesmos fluxos de trabalho de aplicativos lógicos, que receberão notificações de várias organizações.
Para interromper notificações indesejadas, exclua a callbackregistrations
entidade da organização que envia essas notificações seguindo estas etapas:
Identifique e entre na organização Dataverse de onde você deseja remover notificações.
No navegador Chrome, encontre o registo de retorno de chamada que pretende eliminar.
Revise a lista genérica para todos os registros de retorno de chamada no seguinte URI OData para que você possa exibir os dados dentro da
callbackregistrations
entidade:https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations
:Nota
Se nenhum valor for retornado, talvez você não tenha permissões para exibir esse tipo de entidade ou talvez não tenha entrado na organização correta.
Filtre o nome
entityname
lógico da entidade desencadeadora e o evento de notificação que corresponde ao fluxo de trabalho (mensagem) do aplicativo lógico. Cada tipo de evento é mapeado para o inteiro da mensagem da seguinte maneira:Tipo de evento Inteiro da mensagem Criar 1 Delete 2 Atualizar 3 CreateOrUpdate 4 CreateOrDelete 5 UpdateOrDelete 6 CreateOrUpdateOrDelete 7 O exemplo a seguir mostra como você pode filtrar
Create
notificações em uma entidade nomeadanov_validation
usando o seguinte URI OData para uma organização de exemplo:https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1
Nota
Se existirem vários gatilhos para a mesma entidade ou evento, você poderá filtrar a lista usando filtros adicionais, como os
createdon
atributos e_owninguser_value
. O nome do usuário proprietário aparece em/api/data/v9.0/systemusers({id})
.Depois de encontrar o ID para o registro de retorno de chamada que você deseja excluir, execute estas etapas:
No navegador Chrome, abra as Ferramentas de Desenvolvimento do Chrome (Teclado: F12).
Na janela, na parte superior, selecione a guia Console .
No prompt de linha de comando, digite este comando, que envia uma solicitação para excluir o registro de retorno de chamada especificado:
fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})
Importante
Certifique-se de fazer a solicitação de uma página não Unified Client Interface (UCI), por exemplo, da própria página de resposta OData ou API. Caso contrário, a lógica no arquivo app.js pode interferir nessa operação.
Para confirmar que o registro de retorno de chamada não existe mais, verifique a lista de registros de retorno de chamada.
Entidade 'callbackregistrations' duplicada
Em fluxos de trabalho de aplicativos lógicos padrão, sob condições específicas, como realocação de instância ou reinicialização de aplicativo, o gatilho Microsoft Dataverse inicia uma execução duplicada, que cria uma entidade duplicada callbackregistrations
em seu banco de dados Dataverse. Se você editar um fluxo de trabalho padrão que começa com um gatilho Dataverse, verifique se essa callbackregistrations
entidade está duplicada. Se a duplicata existir, exclua manualmente a entidade duplicada callbackregistrations
.