Ligar a uma base de dados SQL a partir de fluxos de trabalho no Azure Logic Apps

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

Este guia de instruções mostra como acessar seu banco de dados SQL de um fluxo de trabalho nos Aplicativos Lógicos do Azure com o conector do SQL Server. Em seguida, você pode criar fluxos de trabalho automatizados que são executados quando acionados por eventos em seu banco de dados SQL ou em outros sistemas e executar ações para gerenciar seus dados e recursos SQL.

Por exemplo, seu fluxo de trabalho pode executar ações que obtêm, inserem e excluem dados ou que podem executar consultas SQL e procedimentos armazenados. Seu fluxo de trabalho pode verificar novos registros em um banco de dados não-SQL, fazer algum trabalho de processamento, usar os resultados para criar novos registros em seu banco de dados SQL e enviar alertas por email sobre os novos registros.

Se você é novo nos Aplicativos Lógicos do Azure, revise a seguinte documentação de introdução:

Edições SQL suportadas

O conector do SQL Server oferece suporte às seguintes edições SQL:

Referência técnica do conector

O conector do SQL Server tem versões diferentes, com base no tipo de aplicativo lógico e no ambiente de host.

Aplicação lógica Ambiente Versão do conector
Consumo Aplicativos Lógicos do Azure Multilocatários Conector gerenciado, que aparece no designer sob o rótulo Padrão . Para obter mais informações, consulte a seguinte documentação:

- Referência do conector gerenciado do SQL Server
- Conectores gerenciados nos Aplicativos Lógicos do Azure
Consumo Ambiente de serviço de integração (ISE) Conector gerenciado, que aparece no designer sob o rótulo Padrão , e a versão ISE, que tem limites de mensagem diferentes da classe Standard. Para obter mais informações, consulte a seguinte documentação:

- Referência do conector gerenciado do SQL Server
- Limites de mensagens ISE
- Conectores gerenciados nos Aplicativos Lógicos do Azure
Standard Aplicativos Lógicos do Azure e Ambiente do Serviço de Aplicativo v3 de locatário único (somente planos do Windows) Conector gerenciado, que aparece na galeria de conectores em Runtime Shared, e o conector interno, que aparece na galeria de conectores em Runtime>>In-App e é baseado em provedor de serviços. O conector embutido difere das seguintes maneiras:

- O conector interno pode se conectar diretamente a um banco de dados SQL e acessar redes virtuais do Azure usando uma cadeia de conexão sem um gateway de dados local.

Para obter mais informações, consulte a seguinte documentação:

- Referência do conector gerenciado do SQL Server
- Referência de conector interno do SQL Server
- Conectores internos nos Aplicativos Lógicos do Azure

Limitações

Para obter mais informações, revise a referência do conector gerenciado do SQL Server ou a referência do conector interno do SQL Server.

Pré-requisitos

  • Uma conta e subscrição do Azure. Se não tiver uma subscrição, inscreva-se numa conta do Azure gratuita.

  • Banco de dados do SQL Server, Banco de Dados SQL do Azure ou Instância Gerenciada do SQL.

    O conector do SQL Server requer que suas tabelas contenham dados para que as operações do conector possam retornar resultados quando chamadas. Por exemplo, se você usar o Banco de Dados SQL do Azure, poderá usar os bancos de dados de exemplo incluídos para tentar as operações do conector do SQL Server.

  • As informações necessárias para criar uma conexão de banco de dados SQL, como o servidor SQL e o nome do banco de dados. Se você estiver usando a Autenticação do Windows ou a Autenticação do SQL Server para autenticar o acesso, também precisará do seu nome de usuário e senha. Normalmente, você pode encontrar essas informações na cadeia de conexão.

    Importante

    Se você usar uma cadeia de conexão do SQL Server copiada diretamente do portal do Azure, precisará adicionar manualmente sua senha à cadeia de conexão.

    • Para um banco de dados SQL no Azure, a cadeia de conexão tem o seguinte formato:

      Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

      1. Para localizar essa cadeia de caracteres no portal do Azure, abra seu banco de dados.

      2. No menu do banco de dados, em Propriedades, selecione Cadeias de conexão.

    • Para um servidor SQL local, a cadeia de conexão tem o seguinte formato:

      Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};

  • Em fluxos de trabalho padrão, para usar os gatilhos internos do SQL, você deve habilitar o controle de alterações na tabela em que deseja usar o gatilho. Para obter mais informações, consulte Habilitar e desabilitar o controle de alterações.

  • O fluxo de trabalho do aplicativo lógico onde você deseja acessar seu banco de dados SQL. Para iniciar seu fluxo de trabalho com um gatilho do SQL Server, você precisa começar com um fluxo de trabalho em branco. Para usar uma ação do SQL Server, inicie seu fluxo de trabalho com qualquer gatilho.

  • Para se conectar a um servidor SQL local, aplicam-se os seguintes requisitos extras, com base no fato de você ter um fluxo de trabalho de aplicativo lógico Consumo ou Padrão.

    • Fluxo de trabalho de consumo

    • Fluxo de trabalho padrão

      Você pode usar o conector interno do SQL Server ou o conector gerenciado.

      • Para usar a autenticação do Microsoft Entra ou a autenticação de identidade gerenciada com seu aplicativo lógico, você precisa configurar seu SQL Server para trabalhar com esses tipos de autenticação. Para obter mais informações, consulte Autenticação - referência do conector gerenciado do SQL Server.

      • Para usar o conector interno, você pode autenticar sua conexão com uma identidade gerenciada, ID do Microsoft Entra ou uma cadeia de conexão. Você pode ajustar o pool de conexões especificando parâmetros na cadeia de conexão. Para obter mais informações, consulte Pool de conexões.

      • Para usar o conector gerenciado do SQL Server, siga os mesmos requisitos de um fluxo de trabalho de aplicativo lógico de consumo em Aplicativos Lógicos do Azure multilocatário. Para outros requisitos de conector, examine a referência do conector gerenciado do SQL Server.

Adicionar um gatilho do SQL Server

As etapas a seguir usam o portal do Azure, mas com a extensão apropriada de Aplicativos Lógicos do Azure, você também pode usar as seguintes ferramentas para criar fluxos de trabalho de aplicativos lógicos:

  1. No portal do Azure, abra seu aplicativo lógico de consumo e fluxo de trabalho em branco no designer.

  2. No designer, na caixa de pesquisa, selecione Padrão. Em seguida, siga estas etapas gerais para adicionar o gatilho gerenciado do SQL Server desejado.

    Este exemplo continua com o gatilho chamado When an item is created.

  3. Se solicitado, forneça as informações para sua conexão. Quando tiver terminado, selecione Criar.

  4. Depois que a caixa de informações do gatilho for exibida, forneça as informações necessárias exigidas pelo gatilho selecionado.

    Neste exemplo, no gatilho chamado Quando um item é criado, forneça os valores para o nome do servidor SQL e o nome do banco de dados, se você não os forneceu anteriormente. Caso contrário, na lista Nome da tabela, selecione a tabela que deseja usar. Selecione a Frequência e o Intervalo para definir a programação do gatilho para verificar se há novos itens.

    Screenshot shows Consumption workflow designer and managed action named When an item is created.

  5. Se houver outras propriedades disponíveis para esse disparador, abra a lista Adicionar novo parâmetro e selecione as propriedades relevantes para o seu cenário.

    Esse gatilho retorna apenas uma linha da tabela selecionada e nada mais. Para executar outras tarefas, continue adicionando uma ação do conector do SQL Server ou outra ação que execute a próxima tarefa desejada no fluxo de trabalho do aplicativo lógico.

    Por exemplo, para exibir os dados nessa linha, você pode adicionar outras ações que criam um arquivo que inclui os campos da linha retornada e, em seguida, enviar alertas por email. Para saber mais sobre outras ações disponíveis para esse conector, consulte a referência do conector gerenciado do SQL Server.

  6. Quando terminar, salve seu fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Quando você salva seu fluxo de trabalho, esta etapa publica automaticamente suas atualizações em seu aplicativo lógico implantado, que está ativo no Azure. Com apenas um gatilho, seu fluxo de trabalho apenas verifica o banco de dados SQL com base em sua agenda especificada. Você precisa adicionar uma ação que responda ao gatilho.

Adicionar uma ação do SQL Server

As etapas a seguir usam o portal do Azure, mas com a extensão apropriada dos Aplicativos Lógicos do Azure, você também pode usar o Visual Studio para editar fluxos de trabalho do aplicativo lógico de consumo ou o Código do Visual Studio para as seguintes ferramentas para editar fluxos de trabalho do aplicativo lógico:

Neste exemplo, o fluxo de trabalho do aplicativo lógico começa com o gatilho Recorrência e chama uma ação que obtém uma linha de um banco de dados SQL.

  1. No portal do Azure, abra seu aplicativo lógico de consumo e fluxo de trabalho no designer.

  2. No designer, siga estas etapas gerais para adicionar a ação gerenciada do SQL Server desejada.

    Este exemplo continua com a ação chamada Get row, que obtém um único registro.

  3. Se solicitado, forneça as informações para sua conexão. Quando tiver terminado, selecione Criar.

  4. Depois que a caixa de informações da ação for exibida, na lista Nome da tabela, selecione a tabela que deseja usar. Na propriedade Id da linha, insira a ID do registro desejado.

    Neste exemplo, o nome da tabela é SalesLT.Customer.

    Screenshot shows Consumption workflow designer and action named Get row with the example table name and empty row ID.

    Essa ação retorna apenas uma linha da tabela selecionada e nada mais. Para exibir os dados nessa linha, adicione outras ações. Por exemplo, essas ações podem criar um arquivo, incluir os campos da linha retornada e armazenar o arquivo em uma conta de armazenamento em nuvem. Para saber mais sobre outras ações disponíveis para esse conector, consulte a página de referência do conector.

  5. Quando terminar, salve seu fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Ligar à sua base de dados

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

Depois de fornecer essas informações, continue com as seguintes etapas com base no banco de dados de destino:

Conectar-se ao Banco de Dados SQL do Azure ou à Instância Gerenciada do SQL

Para acessar uma Instância Gerenciada SQL sem usar o gateway de dados local ou o ambiente de serviço de integração, você precisa configurar o ponto de extremidade público na Instância Gerenciada SQL. O ponto de extremidade público usa a porta 3342, portanto, certifique-se de especificar esse número de porta ao criar a conexão a partir do seu aplicativo lógico.

Na caixa de informações de conexão, conclua as seguintes etapas:

  1. Em Nome da conexão, forneça um nome a ser usado para sua conexão.

  2. Para Tipo de autenticação, selecione a autenticação necessária e habilitada em seu banco de dados no Banco de Dados SQL do Azure ou na Instância Gerenciada SQL:

    Autenticação Descrição
    Cadeia de ligação - Suporte apenas em fluxos de trabalho padrão com o conector integrado do SQL Server.

    - Requer a cadeia de conexão para seu servidor SQL e banco de dados.
    Active Directory OAuth - Suporte apenas em fluxos de trabalho padrão com o conector integrado do SQL Server. Para obter mais informações, consulte a seguinte documentação:

    - Autenticação para o conector do SQL Server
    - Habilitar a autenticação aberta do Microsoft Entra ID (Microsoft Entra ID OAuth)
    - Autenticação aberta do Microsoft Entra ID
    Identidade gerenciada de aplicativos lógicos - Suporte com o conector gerenciado SQL Server e conector com versão ISE. Em fluxos de trabalho padrão, esse tipo de autenticação está disponível para o conector interno do SQL Server, mas a opção é chamada Identidade gerenciada.

    - Requer os seguintes itens:

    --- Uma identidade gerenciada válida que está habilitada em seu recurso de aplicativo lógico e tem acesso ao seu banco de dados.

    --- Acesso da função de Colaborador do Banco de Dados SQL ao recurso do SQL Server

    --- Acesso de colaborador ao grupo de recursos que inclui o recurso do SQL Server.

    Para obter mais informações, consulte a seguinte documentação:

    - Autenticação de identidade gerenciada para o conector do SQL Server
    - SQL - Funções no nível do servidor
    Entidade de serviço (aplicação Microsoft Entra) - Suporte com o conector gerenciado SQL Server.

    - Requer um aplicativo Microsoft Entra e uma entidade de serviço. Para obter mais informações, consulte Criar um aplicativo e entidade de serviço do Microsoft Entra que pode acessar recursos usando o portal do Azure.
    Microsoft Entra integrado - Suporte com o conector gerenciado SQL Server e conector com versão ISE.

    - Requer uma identidade gerenciada válida no Microsoft Entra que esteja habilitada em seu recurso de aplicativo lógico e tenha acesso ao seu banco de dados. Para obter mais informações, consulte estes tópicos:

    - Visão geral da Segurança SQL do Azure - Autenticação
    - Autorizar o acesso ao banco de dados do SQL do Azure - Autenticação e autorização
    - Azure SQL - Autenticação integrada do Microsoft Entra
    Autenticação do SQL Server - Suporte com o conector gerenciado SQL Server e conector com versão ISE.

    - Requer os seguintes itens:

    --- Um recurso de gateway de dados criado anteriormente no Azure para sua conexão, independentemente de seu aplicativo lógico estar em Aplicativos Lógicos do Azure multilocatários ou em um ISE.

    --- Um nome de usuário válido e uma senha forte que são criados e armazenados em seu banco de dados do SQL Server. Para obter mais informações, consulte os seguintes tópicos:

    - Visão geral da Segurança SQL do Azure - Autenticação
    - Autorizar o acesso ao banco de dados do SQL do Azure - Autenticação e autorização

    Os exemplos a seguir mostram como a caixa de informações de conexão pode aparecer se você usar o conector gerenciado do SQL Server e selecionar a autenticação integrada do Microsoft Entra:

    Fluxos de trabalho de consumo

    Screenshot shows Azure portal, Consumption workflow, and SQL Server cloud connection information with selected authentication type.

    Fluxos de trabalho padrão

    Screenshot shows Azure portal, Standard workflow, and SQL Server cloud connection information with selected authentication type.

  3. Depois de selecionar Microsoft Entra integrado, selecione Entrar. Com base no fato de você usar o Banco de Dados SQL do Azure ou a Instância Gerenciada do SQL, selecione suas credenciais de usuário para autenticação.

  4. Selecione estes valores para o seu banco de dados:

    Propriedade Obrigatório Descrição
    Nome do servidor Sim O endereço do seu servidor SQL, por exemplo, Fabrikam-Azure-SQL.database.windows.net
    Nome da base de dados Sim O nome do seu banco de dados SQL, por exemplo, Fabrikam-Azure-SQL-DB
    Nome da tabela Sim A tabela que você deseja usar, por exemplo, SalesLT.Customer

    Gorjeta

    Para fornecer informações sobre o banco de dados e a tabela, você tem estas opções:

    • Encontre essas informações na cadeia de conexão do seu banco de dados. Por exemplo, no portal do Azure, localize e abra seu banco de dados. No menu do banco de dados, selecione Cadeias de conexão ou Propriedades, onde você pode encontrar a seguinte cadeia de caracteres:

      Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

    • Por padrão, as tabelas nos bancos de dados do sistema são filtradas, portanto, elas podem não aparecer automaticamente quando você seleciona um banco de dados do sistema. Como alternativa, você pode inserir manualmente o nome da tabela depois de selecionar Inserir valor personalizado na lista de banco de dados.

    Esta caixa de informações do banco de dados é semelhante ao exemplo a seguir:

    Fluxos de trabalho de consumo

    Screenshot shows SQL cloud database cloud information with sample values for Consumption.

    Fluxos de trabalho padrão

    Screenshot shows SQL cloud database information with sample values for Standard.

  5. Agora, continue com as etapas que você ainda não concluiu em Adicionar um gatilho SQL ou Adicionar uma ação SQL.

Conectar-se ao SQL Server local

Na caixa de informações de conexão, conclua as seguintes etapas:

  1. Para conexões com seu servidor SQL local que exigem o gateway de dados local, verifique se você concluiu esses pré-requisitos.

    Caso contrário, seu recurso de gateway de dados não aparecerá na lista Gateway de Conexão quando você criar sua conexão.

  2. Em Tipo de Autenticação, selecione a autenticação necessária e habilitada no SQL Server:

    Autenticação Descrição
    Autenticação do SQL Server - Suportado com o conector gerenciado do SQL Server, conector interno do SQL Server e conector com versão ISE.

    - Requer os seguintes itens:

    --- Um recurso de gateway de dados criado anteriormente no Azure para sua conexão, independentemente de seu aplicativo lógico estar em Aplicativos Lógicos do Azure multilocatários ou em um ISE.

    --- Um nome de usuário válido e uma senha forte que são criados e armazenados em seu SQL Server.

    Para obter mais informações, consulte Autenticação do SQL Server.
    Autenticação do Windows - Suporte com o conector gerenciado SQL Server.

    - Requer os seguintes itens:

    --- Um recurso de gateway de dados criado anteriormente no Azure para sua conexão, independentemente de seu aplicativo lógico estar em Aplicativos Lógicos do Azure multilocatários ou em um ISE.

    --- Um nome de utilizador e palavra-passe válidos do Windows para confirmar a sua identidade através da sua conta do Windows.

    Para obter mais informações, consulte Autenticação do Windows.
  3. Selecione ou forneça os seguintes valores para seu banco de dados SQL:

    Propriedade Obrigatório Descrição
    Nome do servidor SQL Sim O endereço do seu servidor SQL, por exemplo, Fabrikam-Azure-SQL.database.windows.net
    Nome da base de dados SQL Sim O nome do banco de dados do SQL Server, por exemplo, Fabrikam-Azure-SQL-DB
    Nome de utilizador Sim Seu nome de usuário para o servidor SQL e o banco de dados
    Palavra-passe Sim Sua senha para o servidor SQL e o banco de dados
    Subscrição Sim, para autenticação do Windows A assinatura do Azure para o recurso de gateway de dados que você criou anteriormente no Azure
    Gateway de conexão Sim, para autenticação do Windows O nome do recurso de gateway de dados que você criou anteriormente no Azure



    Dica: Se o gateway não aparecer na lista, verifique se você configurou corretamente o gateway.

    Gorjeta

    Você pode encontrar essas informações na cadeia de conexão do seu banco de dados:

    • Server={your-server-address}
    • Database={your-database-name}
    • User ID={your-user-name}
    • Password={your-password}

    Os exemplos a seguir mostram como a caixa de informações de conexão pode aparecer se você selecionar a autenticação do Windows .

    Fluxos de trabalho de consumo

    Screenshot shows Azure portal, Consumption workflow, and SQL Server on-premises connection information with selected authentication.

    Fluxos de trabalho padrão

    Screenshot shows Azure portal, Standard workflow, and SQL Server on-premises connection information with selected authentication.

  4. Quando estiver pronto, selecione Criar.

  5. Agora, continue com as etapas que você ainda não concluiu em Adicionar um gatilho SQL ou Adicionar uma ação SQL.

Lidar com dados em massa

Às vezes, você trabalha com conjuntos de resultados tão grandes que o conector não retorna todos os resultados ao mesmo tempo. Ou, você quer um melhor controle sobre o tamanho e a estrutura de seus conjuntos de resultados. A lista a seguir inclui algumas maneiras de lidar com conjuntos de resultados tão grandes:

  • Para ajudá-lo a gerenciar os resultados como conjuntos menores, ative a paginação. Para obter mais informações, consulte Obter dados, registros e itens em massa usando paginação. Para obter mais informações, consulte Paginação SQL para transferência de dados em massa com aplicativos lógicos.

  • Crie um procedimento armazenado que organize os resultados da maneira desejada. O conector do SQL Server fornece muitos recursos de back-end que você pode acessar usando os Aplicativos Lógicos do Azure para que você possa automatizar mais facilmente as tarefas de negócios que funcionam com tabelas do banco de dados SQL.

    Quando uma ação SQL obtém ou insere várias linhas, o fluxo de trabalho do aplicativo lógico pode iterar por essas linhas usando um loop até dentro desses limites. No entanto, quando seu aplicativo lógico precisa trabalhar com conjuntos de registros tão grandes, por exemplo, milhares ou milhões de linhas, que você deseja minimizar os custos resultantes de chamadas para o banco de dados.

    Para organizar os resultados da maneira desejada, você pode criar um procedimento armazenado que é executado em sua instância SQL e usa a instrução SELECT - ORDER BY . Esta solução dá-lhe mais controlo sobre o tamanho e a estrutura dos seus resultados. Seu aplicativo lógico chama o procedimento armazenado usando a ação Executar procedimento armazenado do conector do SQL Server. Para obter mais informações, consulte SELECT - ORDER BY Clause.

    Nota

    O conector do SQL Server tem um limite de tempo limite de procedimento armazenado inferior a 2 minutos. Alguns procedimentos armazenados podem levar mais tempo do que esse limite para serem concluídos, causando um 504 Timeout erro. Você pode contornar esse problema usando um gatilho de conclusão de SQL, consulta de passagem SQL nativa, uma tabela de estado e trabalhos do lado do servidor.

    Para essa tarefa, você pode usar o Azure Elastic Job Agent for Azure SQL Database. Para o SQL Server local e a Instância Gerenciada do SQL, você pode usar o SQL Server Agent. Para saber mais, consulte Manipular tempos limite de procedimento armazenado de longa execução no conector do SQL Server para Aplicativos Lógicos do Azure.

Lidar com dados dinâmicos em massa

Quando você chama um procedimento armazenado usando o conector do SQL Server, a saída retornada às vezes é dinâmica. Neste cenário, siga estes passos:

  1. No portal do Azure, abra seu aplicativo lógico e fluxo de trabalho no designer.

  2. Exiba o formato de saída executando uma execução de teste. Copie e salve a saída da amostra.

  3. No designer, sob a ação em que você chama o procedimento armazenado, adicione a ação interna chamada Analisar JSON.

  4. Na ação Analisar JSON, selecione Usar carga útil de exemplo para gerar esquema.

  5. Na caixa Inserir ou colar uma carga JSON de exemplo, cole a saída da amostra e selecione Concluído.

    Nota

    Se você receber um erro informando que os Aplicativos Lógicos do Azure não podem gerar um esquema, verifique se a sintaxe da saída do exemplo está formatada corretamente. Se ainda não for possível gerar o esquema, na caixa Esquema, insira manualmente o esquema .

  6. Quando terminar, salve seu fluxo de trabalho.

  7. Para fazer referência às propriedades de conteúdo JSON, selecione dentro das caixas de edição onde você deseja fazer referência a essas propriedades para que a lista de conteúdo dinâmico apareça. Na lista, sob o título Analisar JSON , selecione os tokens de dados para as propriedades de conteúdo JSON desejadas.

Próximos passos