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 DirectoryCommand 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ãotrue
). As configurações adicionais para pool de conexões incluemConnection Lifetime
,Max Pool Size
eMin 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
NTEXT
de dados ,TEXT
ouIMAGE
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 aOPENJSON
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:
- Exemplo de API ToDo C# com associações SQL do Azure
- Usar associações SQL no Azure Stream Analytics
- Enviar dados do SQL do Azure com Python