Conectar-se a um banco de dados SQL de fluxos de trabalho em Aplicativos Lógicos do Azure
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 disparados por eventos em seu banco de dados SQL ou 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 SQL consultas e procedimentos armazenados. Seu fluxo de trabalho pode verificar se há novos registros em um banco de dados não SQL, fazer algum trabalho de processamento, usar os resultados para criar registros em seu banco de dados SQL e enviar alertas de email sobre os novos registros.
Se não estiver familiarizado com os Aplicativos Lógicos do Azure, examine a seguinte documentação de introdução:
Edições do SQL com suporte
O conector do SQL Server dá 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 do host.
Aplicativo lógico | Ambiente | Versão do conector |
---|---|---|
Consumo | Aplicativos Lógicos Multilocatários do Azure | Conector gerenciado, que aparece na galeria de conectores em Runtime>Shared. Para saber mais, consulte a seguinte documentação: - Referência de conector gerenciado do SQL Server - Conectores gerenciados em Aplicativos Lógicos do Azure |
Standard | Aplicativos Lógicos do Azure de locatário único e Ambiente do Serviço de Aplicativo v3 (somente planos Windows) | O conector gerenciado, que aparece na galeria de conectores em Runtime>Compartilhado, e o conector interno, que aparece na galeria de conectores em Runtime>No aplicativo e é baseado em provedor de serviços. O conector interno é diferente das seguintes maneiras: – O conector interno pode se conectar diretamente a um banco de dados SQL e acessar as redes virtuais do Azure usando uma cadeia de conexão sem um gateway de dados local. Para saber mais, consulte a seguinte documentação: - Referência de conector gerenciado do SQL Server - Referência do conector interno do SQL Server - Conectores internos em Aplicativos Lógicos do Azure |
Limitações
Para obter mais informações, examine a referência do conector gerenciado do SQL Server ou a referência do conector interno do SQL Server.
Pré-requisitos
Uma conta e uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.
Banco de dados do SQL Server, Banco de Dados SQL do Azure ou Instância Gerenciada de SQL.
O conector do SQL Server requer que suas tabelas contenham dados para que 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 testar as operações do conector do SQL Server.
As informações necessárias para criar uma conexão de banco de dados SQL, como seus nomes de servidor e banco de dados SQL. Se você estiver usando a Autenticação do Windows ou a Autenticação do SQL Server para autenticar o acesso, também precisará do nome de usuário e da senha. 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, será necessário adicionar manualmente sua senha à cadeia de conexão. Para obter informações confidenciais, como essa cadeia de caracteres, use o fluxo de autenticação mais seguro disponível. A Microsoft recomenda autenticar o acesso aos recursos do Azure com uma identidade gerenciada quando possível e atribuir uma função que tenha o privilégio mínimo necessário.
Se essa funcionalidade estiver indisponível, certifique-se de proteger as cadeias de conexão por meio de outras medidas, como o Azure Key Vault, que você pode usar com as configurações do aplicativo nos Fluxos de trabalho padrão. Em seguida, você pode fazer referência direta a cadeias de caracteres seguras, como cadeias de conexão e chaves. De modo semelhante aos modelos do ARM, em que é possível definir variáveis de ambiente no momento da implantação, você pode definir as configurações de aplicativo na Definição de fluxo de trabalho do aplicativo lógico padrão. Em seguida, você pode capturar os valores da infraestrutura gerados dinamicamente, como pontos de extremidade de conexão, cadeias de caracteres de armazenamento, entre outros. Para obter mais informações, confira Tipos de aplicativo para a plataforma de identidade da Microsoft.
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;
Para localizar essa cadeia de caracteres no portal do Azure, abra o banco de dados.
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};
Nos fluxos de trabalho Standard, para usar os gatilhos internos do SQL, você deve habilitar o controle de alterações na tabela onde deseja usar o gatilho. Para obter mais informações, veja Habilitar e desabilitar o controle de alterações.
O fluxo de trabalho do aplicativo lógico no qual você deseja acessar seu banco de dados SQL. Se você quiser iniciar seu fluxo de trabalho com uma operação de gatilho do SQL Server, precisará 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 SQL Server local, os seguintes requisitos extras se aplicam dependendo de se você tem um fluxo de trabalho de aplicar lógico de Consumo ou Standard.
Fluxo de trabalho de Consumo
Nos Aplicativos Lógicos do Azure multilocatário, você precisa do gateway de dados local instalado em um computador local e um recurso de gateway de dados que já tenha sido criado no Azure.
Fluxo de trabalho Standard
Você pode usar o conector SQL Server interno ou o conector gerenciado.
Para usar a autenticação do Microsoft Entra ou a autenticação de identidade gerenciada em seu aplicativo lógico, você precisará configurar o SQL Server para trabalhar com esses tipos de autenticação. Para saber mais, confira Autenticação – referência de conector gerenciado do SQL Server.
Para usar o conector interno, você pode autenticar sua conexão com uma identidade gerenciada, com o Microsoft Entra ID ou com 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, examine o Pooling de Conexão.
Para usar o conector gerenciado do SQL Server, siga os mesmos requisitos de um fluxo de trabalho de aplicativo lógico de consumo nos 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 seguintes etapas usam o portal do Azure, mas com a extensão de Aplicativos Lógicos do Azure apropriada, você também pode usar as seguintes ferramentas para criar fluxos de trabalho do aplicativo lógico:
Fluxos de trabalho de consumo: Visual Studio ou Visual Studio Code
Fluxos de trabalho padrão: Visual Studio Code
No portal do Azure, abra o fluxo de trabalho em branco do aplicativo lógico de Consumo no designer.
No designer, na caixa de pesquisa, selecione Standard. Em seguida, siga estas etapas gerais para adicionar o gatilho gerenciado desejado do SQL Server.
Este exemplo continua com o gatilho chamado Quando um item é criado.
Se solicitado, forneça as informações da sua conexão. Quando terminar, selecione Criar.
Depois que a caixa de informações do gatilho for exibida, forneça as informações necessárias exigidas pelo seu gatilho selecionado.
Para este exemplo, no gatilho chamado Quando um item é criado, forneça os valores do nome do servidor SQL e o nome do banco de dados, se você não tiver fornecido anteriormente. Caso contrário, na lista Nomes de tabela, selecione a tabela que você deseja usar. Selecione a Frequência e o Intervalo para definir o cronograma do gatilho para verificar se há novos itens.
Se outras propriedades estiverem disponíveis para esse gatilho, 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, 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 que você deseja em seu fluxo de trabalho do aplicativo lógico.
Por exemplo, para ver 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, confira a página de referência do conector do SQL Server.
Quando terminar, salve o fluxo de trabalho. Selecione Salvar na barra de ferramentas do designer.
Quando você salva o fluxo de trabalho, essa etapa publica automaticamente suas atualizações no aplicativo lógico implantado, que está ativo no Azure. Com apenas um gatilho, o fluxo de trabalho apenas verifica o banco de dados SQL com base na agenda especificada. Você precisa adicionar uma ação que responde ao gatilho.
Adicionar uma ação do SQL Server
As seguintes etapas usam o portal do Azure, mas com a extensão de Aplicativos Lógicos do Azure apropriada, você também pode usar o Visual Studio para editar fluxos de trabalho de aplicativos lógicos de consumo ou o Visual Studio Code para as seguintes ferramentas para editar fluxos de trabalho do aplicativo lógico:
Fluxos de trabalho de consumo: Visual Studio ou Visual Studio Code
Fluxos de trabalho padrão: Visual Studio Code
Neste exemplo, o fluxo de trabalho do aplicativo lógico é iniciado com o Gatilho de recorrência e chama uma ação que obtém uma linha de um banco de dados SQL.
No portal do Azure, abra o fluxo de trabalho do aplicativo lógico de Consumo no designer.
No designer, siga estas etapas gerais para adicionar a ação gerenciada do SQL Server que você deseja.
Este exemplo continua com a ação chamada Obter linha, que obtém um único registro.
Se solicitado, forneça as informações da sua conexão. Quando terminar, selecione Criar.
Depois que a caixa de informações da ação for exibida, na lista Nome da tabela, selecione a tabela que você deseja usar. Na propriedade ID da coluna, insira a ID do registro desejado.
Neste exemplo, o nome da tabela é SalesLT.Customer.
Essa ação retorna apenas uma linha da tabela selecionada, 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, confira a página de referência do conector.
Quando terminar, salve o fluxo de trabalho. Selecione Salvar na barra de ferramentas do designer.
Conectar-se ao seu banco de dados
Quando você adiciona um gatilho ou uma ação que conecta um serviço ou um sistema e não tem uma conexão existente ou ativa, os Aplicativos Lógicos do Azure solicitam que forneça as informações de conexão, que variam de acordo com o tipo, por exemplo:
- Suas credenciais de conta
- Um nome a ser usado para a conexão
- O nome do sistema ou do servidor
- 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 baseado em nuvem ou à Instância Gerenciada de SQL
- Conectar-se ao SQL Server local
Conectar-se ao Banco de Dados SQL do Azure ou à Instância Gerenciada de SQL
Para acessar uma Instância Gerenciada de SQL sem usar o gateway de dados local, você precisa configurar o ponto de extremidade público na Instância Gerenciada de SQL. O ponto de extremidade público usa a porta 3342, portanto, você precisa especificar esse número da porta ao criar a conexão do aplicativo lógico.
Na caixa de informações da conexão, conclua as seguintes etapas:
Em Nome da conexão, dê um nome à conexão.
Para Tipo de autenticação, selecione a autenticação necessária e habilitada no seu banco de dados na Instância Gerenciada de SQL ou no Banco de Dados SQL do Azure:
Autenticação Descrição Cadeia de conexão – Compatível somente em fluxos de trabalho Standard com o conector interno do SQL Server.
– Exige a cadeia de conexão do servidor SQL e do banco de dados.OAuth do Active Directory – Compatível somente em fluxos de trabalho Standard com o conector interno do SQL Server. Para saber mais, confira a seguinte documentação:
- Autenticação para o conector do SQL Server
- Habilitar o Open Authorization com o Microsoft Entra ID (OAuth do Microsoft Entra ID)
- OAuth com o Microsoft Entra IDIdentidades gerenciadas de Aplicativos Lógicos – Compatível com o conector gerenciado do SQL Server. Em fluxos de trabalho Standard, esse tipo de autenticação está disponível para o conector interno do SQL Server, mas a opção é nomeada Identidade gerenciada.
– Isso exige os seguintes itens:
--- Uma identidade gerenciada válida que está habilitada no recurso do aplicativo lógico e tem acesso ao banco de dados.
--- Acesso de função de Colaborador do BD do SQL ao recurso do SQL Server
--- Acesso de colaborador ao grupo de recursos que inclui o recurso do SQL Server.
Para saber mais, confira a seguinte documentação:
- Autenticação de identidade gerenciada para conector do SQL Server
- Funções no nível do SQL ServerEntidade de serviço (aplicativo Microsoft Entra) – Compatível com o conector gerenciado do SQL Server.
– Requer uma entidade de serviço e um aplicativo do Microsoft Entra. Para obter mais informações, confira Criar uma entidade de serviço e um aplicativo do Microsoft Entra com acesso a recursos usando o portal do Azure.Microsoft Entra integrado – Compatível com o conector gerenciado do SQL Server.
– Requer uma identidade gerenciada válida no Microsoft Entra que está habilitada em seu recurso de aplicativo lógico e tem acesso ao seu banco de dados. Para saber mais, consulte esses tópicos:
- Visão geral de segurança do SQL do Azure – Autenticação
- Autorizar o acesso ao banco de dados para o SQL do Azure – Autenticação e autorização
- SQL do Azure – autenticação integrada do Microsoft EntraAutenticação do SQL Server – Compatível com o conector gerenciado do SQL Server.
– Isso exige os seguintes itens:
--- Um recurso de gateway de dados criado anteriormente no Azure para a sua conexão, independentemente do seu aplicativo lógico estar em Aplicativos Lógicos do Azure multilocatário.
--- Um nome de usuário válido e uma senha forte que são criados e armazenados no banco de dados do SQL Server. Para obter mais informações, consulte estes tópicos:
- Visão geral de segurança do SQL do Azure – Autenticação
- Autorizar o acesso ao banco de dados para o SQL do Azure – Autenticação e autorizaçãoOs seguintes exemplos 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:
fluxo de trabalho de Consumo
Fluxo de trabalho Standard
Depois de selecionar o Microsoft Entra integrado, selecione Entrar. Dependendo do que você usa (Banco de Dados SQL do Azure ou Instância Gerenciada de SQL), selecione as suas credenciais de usuário para autenticação.
Selecione estes valores para o seu banco de dados:
Propriedade Obrigatório Descrição Nome do servidor Yes O endereço do servidor SQL, por exemplo, Fabrikam-Azure-SQL.database.windows.net Nome do banco de dados Yes O nome para o banco de dados SQL, por exemplo, Fabrikam-Azure-SQL-DB Nome da tabela Yes A tabela que você deseja usar, por exemplo, SalesLT.Customer Dica
Para fornecer suas informações de banco de dados e de tabela, você tem estas opções:
Encontre essas informações na cadeia de conexão do banco de dados. Por exemplo, no portal do Azure, localize e abra o banco de dados. No menu do banco de dados, selecione Cadeias de conexão ou Propriedades, em que você pode encontrar esta 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 em 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 bancos de dados.
Essa caixa de informações do banco de dados é semelhante ao seguinte exemplo:
fluxo de trabalho de Consumo
Fluxo de trabalho Standard
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 da conexão, conclua as seguintes etapas:
Para conexões com o SQL Server local que exigem o gateway de dados local, verifique se você concluiu estes pré-requisitos.
Caso contrário, o recurso de gateway de dados não aparecerá na lista Gateway de conexão quando você criar a conexão.
Para Tipo de Autenticação, selecione a autenticação necessária e habilitada no SQL Server:
Autenticação Descrição Autenticação do SQL Server – Compatível com o conector gerenciado do SQL Server e o conector interno do SQL Server.
– Isso exige os seguintes itens:
--- Um recurso de gateway de dados criado anteriormente no Azure para a sua conexão, independentemente do seu aplicativo lógico estar em Aplicativos Lógicos do Azure multilocatário.
--- Um nome de usuário válido e uma senha forte que são criados e armazenados no SQL Server.
Para obter mais informações, confira Autenticação do SQL Server.Autenticação do Windows – Compatível com o conector gerenciado do SQL Server.
– Isso exige os seguintes itens:
--- Um recurso de gateway de dados criado anteriormente no Azure para a sua conexão, independentemente do seu aplicativo lógico estar em Aplicativos Lógicos do Azure multilocatário.
--- Um nome de usuário e senha válidos do Windows para confirmar a sua identidade por meio de sua conta do Windows.
Para obter mais informações, confira Autenticação do Windows.Selecione ou forneça os seguintes valores para o banco de dados SQL:
Propriedade Obrigatório Descrição Nome do SQL Server Yes O endereço do SQL Server, por exemplo, Fabrikam-Azure-SQL.database.windows.net
Nome do Banco de Dados SQL Yes O nome para o banco de dados do SQL Server, por exemplo, Fabrikam-Azure-SQL-DB
Nome de usuário Yes O seu nome de usuário do SQL Server e do banco de dados do SQL Senha Yes A senha do SQL Server e do banco de dados do SQL Assinatura Sim, para a 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 a autenticação do Windows O nome para o recurso de gateway de dados que você criou anteriormente no Azure
Dica: se o seu gateway não aparecer na lista, verifique se você configurou corretamente o gateway.Dica
Você pode encontrar essas informações na cadeia de conexão do 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 doWindows.
fluxo de trabalho de Consumo
Fluxo de trabalho Standard
Quando estiver pronto, selecione Criar.
Agora, continue com as etapas que você ainda não concluiu em Adicionar um gatilho SQL ou Adicionar uma ação SQL.
Lidar com os dados em massa
Às vezes, você trabalha com conjunto de resultados tão grandes que o conector não retorna todos os resultados ao mesmo tempo. Ou você deseja ter um controle melhor sobre o tamanho e a estrutura dos conjuntos de resultados. A lista a seguir inclui alguns modos de lidar com esses grandes conjuntos de resultados das seguintes maneiras:
Para ajudar você a gerenciar os resultados como conjuntos menores, ative a paginação. Para obter mais informações, confira Obter dados em massa, registros e itens usando a paginação. Para obter mais informações, confira Paginação de 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, permitindo a você automatizar com mais facilidade as tarefas comerciais que funcionam com tabelas do banco de dados SQL.
Quando uma ação do SQL obtém ou insere várias linhas, o fluxo de trabalho do aplicativo lógico pode iterar por essas linhas usando um loop until dentro desses limites. No entanto, quando o aplicativo lógico precisa trabalhar com conjuntos de registros muito grandes, como milhares ou milhões de linhas, 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. Essa solução fornece a você mais controle sobre o tamanho e a estrutura de 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, confira Cláusula SELECT – ORDER BY.
Observação
O conector do SQL Server tem um tempo limite máximo para procedimento armazenado inferior a 2 minutos. Alguns procedimentos armazenados podem levar mais tempo do que esse limite para ser concluído, causando um
504 Timeout
erro. Você pode contornar esse problema usando um gatilho de conclusão SQL, uma consulta passagem SQL nativa, uma tabela de estado e trabalhos do lado do servidor.Para esta tarefa, você pode usar o Agente de Trabalho Elástico do Azure para o Banco de Dados SQL do Azure. Para o SQL Server local e a Instância Gerenciada de SQL, você pode usar o SQL Server Agent. Para saber mais, confira Manipular tempos limite de procedimento armazenado de execução longa no conector do SQL Server para Aplicativos Lógicos do Azure.
Manipular dados em massa dinâmicos
Quando você faz uma chamada para um procedimento armazenado usando o conector do SQL Server, a saída retornada é, algumas vezes, dinâmica. Nesse cenário, siga estas etapas:
No portal do Azure, abra o aplicativo lógico e o fluxo de trabalho no designer.
Exiba o formato de saída realizando uma execução de teste. Copie e salve a saída de exemplo.
No designer, na ação em que você chama o procedimento armazenado, adicione a ação interna chamada Analisar JSON.
Na ação Analisar JSON, selecione a opção Usar carga de amostra para gerar esquema.
Na caixa Inserir ou colar uma amostra de conteúdo JSON, cole a saída de exemplo e selecione Concluído.
Observação
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 de exemplo está formatada corretamente. Se ainda não for possível gerar o esquema, insira-o manualmente na caixa Esquema.
Quando terminar, salve o fluxo de trabalho.
Para fazer referência às propriedades de conteúdo JSON, selecione as caixas de edição nas quais você deseja fazer referência a essas propriedades para que a lista de conteúdo dinâmico seja exibida. Na lista, no título Analisar JSON, selecione os tokens de dados para as propriedades de conteúdo JSON que você deseja.