Partilhar via


Visão geral das ligações SQL do Azure para o Azure Functions

Este conjunto de artigos explica como trabalhar com associações SQL do Azure no Azure Functions. O Azure Functions dá suporte a associações de entrada, associações de saída e um gatilho de função para os produtos SQL e SQL Server do Azure.

Ação Type
Acionar uma função quando uma alteração é detetada em uma tabela SQL Gatilho SQL
Ler dados de uma base de dados Vinculação de entrada
Salvar dados em um banco de dados Vinculação de saída

Instalar a extensão

O pacote de extensão NuGet que você instala depende do modo C# que você está usando em seu aplicativo de função:

As funções são executadas em um processo de trabalho C# isolado. Para saber mais, consulte Guia para executar o C# Azure Functions em um processo de trabalho isolado.

Adicione a extensão ao seu projeto instalando este pacote NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql

Para usar uma versão de visualização do pacote Microsoft.Azure.Functions.Worker.Extensions.Sql, adicione o --prerelease sinalizador ao comando. Você pode exibir a funcionalidade de visualização na página de versão das Extensões SQL do Azure Functions.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease

Nota

As alterações de interrupção entre versões de visualização das associações SQL do Azure para o Azure Functions exigem que todas as Funções destinadas ao mesmo banco de dados usem a mesma versão do pacote de extensão SQL.

Instalar pacote

A extensão de ligações SQL faz parte do pacote de extensão v4, que é especificado em seu arquivo de projeto host.json.

O pacote de extensão é especificado pelo seguinte código em seu host.json arquivo:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Tempo de execução das funções

Instalar pacote

A extensão de ligações SQL faz parte do pacote de extensão v4, que é especificado em seu arquivo de projeto host.json.

O pacote de extensão é especificado pelo seguinte código em seu host.json arquivo:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Instalar pacote

A extensão de ligações SQL faz parte do pacote de extensão v4, que é especificado em seu arquivo de projeto host.json.

O pacote de extensão é especificado pelo seguinte código em seu host.json arquivo:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Atualizar pacotes

Adicione a biblioteca Java para associações SQL ao seu projeto de funções com uma atualização para o pom.xml arquivo em seu projeto Java Azure Functions, conforme visto no seguinte trecho:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</version>
</dependency>

Você pode usar o pacote de extensão de visualização com uma atualização para o pom.xml arquivo em seu projeto Java Azure Functions, conforme visto no seguinte trecho:

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0-preview</version>
</dependency>

Cadeia de conexão SQL

Importante

É altamente recomendável que as identidades gerenciadas sejam usadas para acessar um Banco de Dados SQL do Azure com o Azure Functions. As identidades gerenciadas tornam seu aplicativo mais seguro, eliminando segredos de suas implantações de aplicativos, como credenciais nas cadeias de conexão, nomes de servidores e portas que estão sendo usadas. Você pode aprender a usar identidades gerenciadas neste tutorial, Conectar um aplicativo de função ao SQL do Azure com identidade gerenciada e associações SQL.

As associações SQL do Azure para o Azure Functions têm uma propriedade necessária para a cadeia de conexão em todas as associações e gatilhos. Eles passam a cadeia de conexão para a biblioteca Microsoft.Data.SqlClient e suportam a cadeia de conexão conforme definido na documentação SqlClient ConnectionString. Palavras-chave notáveis incluem:

  • Authentication permite que uma função se conecte ao SQL do Azure com o Microsoft Entra ID, incluindo a Identidade Gerenciada do Ative Directory
  • Command Timeout Permite que uma função aguarde a quantidade especificada de tempo em segundos antes de encerrar uma consulta (padrão 30 segundos)
  • ConnectRetryCount permite que uma função faça automaticamente tentativas de reconexão adicionais, especialmente aplicáveis à camada sem servidor do Banco de Dados SQL do Azure (padrão 1)
  • Pooling Permite que uma função reutilize conexões com o banco de dados, o que pode melhorar o desempenho (padrão true). As configurações adicionais para pool de conexões incluem Connection Lifetime, Max Pool Sizee Min Pool Size. Saiba mais sobre o pool de conexões na documentação do ADO.NET

Considerações

  • A associação SQL do Azure dá suporte à versão 4.x e posterior do tempo de execução do Functions.
  • O código-fonte para as associações SQL do Azure pode ser encontrado neste repositório do GitHub.
  • Essa associação requer conectividade com um banco de dados SQL ou SQL Server do Azure.
  • As ligações de saída em tabelas com colunas de tipos NTEXTde dados , TEXTou IMAGE não são suportadas e os upserts de dados falharão. Esses tipos serão removidos em uma versão futura do SQL Server e não são compatíveis com a OPENJSON função usada por essa associação do Azure Functions.
  • Use identidades gerenciadas em vez de nomes de usuário e senhas.
  • Concider usando um Valor de Chave do Azure para armazenar configurações do aplicativo.

Exemplos

Além dos exemplos para C#, Java, JavaScript, PowerShell e Python disponíveis no repositório GitHub de associações SQL do Azure, mais estão disponíveis em Exemplos do Azure:

Próximos passos