Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este conjunto de artigos explica como trabalhar com as associações de 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 Azure SQL e SQL Server.
| Ação | Tipo |
|---|---|
| Disparar uma função quando uma alteração for detectada em uma tabela SQL | Gatilho do SQL |
| Ler dados de um banco de dados | Associação de entrada |
| Salvar dados em um banco de dados | Associação de saída |
Instalar a extensão
O pacote NuGet da extensão instalado depende do modo C# usado no aplicativo de funções:
As funções são executadas em um processo de trabalho do C# isolado. Para saber mais, confira o Guia para executar C# do Azure Functions em um processo de trabalho isolado.
Adicione a extensão ao seu projeto instalando este pacote do NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Para usar uma versão prévia do pacote Microsoft.Azure.Functions.Worker.Extensions.Sql, adicione o sinalizador --prerelease 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
Observação
Alterações significativas entre versões prévias das associações do SQL do Azure para a Azure Functions exigem que todas as funções direcionadas ao mesmo banco de dados usem a mesma versão do pacote de extensão SQL.
Instalar pacote
Para poder usar essa extensão de associação em seu aplicativo, verifique se o arquivo host.json na raiz do projeto contém esta extensionBundle referência:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Neste exemplo, o version valor instrui o host do [4.0.0, 5.0.0) Functions a usar uma versão de pacote pelo menos 4.0.0 menor que 5.0.0, que inclui todas as versões potenciais do 4.x. Essa notação mantém efetivamente seu aplicativo na versão secundária mais recente disponível do pacote de extensão v4.x.
Quando possível, você deve usar a versão principal do pacote de extensão mais recente e permitir que o runtime mantenha automaticamente a versão secundária mais recente. Você pode exibir o conteúdo do pacote mais recente na página de lançamento dos pacotes de extensão. Para obter mais informações, consulte os pacotes de extensão do Azure Functions.
Se o aplicativo precisar usar a funcionalidade de visualização, você deverá referenciar a versão mais recente do pacote de visualização. Para obter mais informações, consulte Trabalhar com pacotes de extensão de visualização.
Você pode exibir a funcionalidade de visualização na página de versão das Extensões SQL do Azure Functions.
Observação
Alterações significativas entre versões prévias das associações do SQL do Azure para a Azure Functions exigem que todas as funções direcionadas ao mesmo banco de dados usem a mesma versão do pacote de extensão SQL.
Atualizar pacotes
Adicione o pacote tipos DE SQL Java do Azure Functions ao seu projeto de funções com uma atualização para o pom.xml arquivo em seu projeto, como neste exemplo:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
Cadeia de Conexão SQL
As associações do SQL do Azure para o Azure Functions têm uma propriedade obrigatória para a cadeia de conexão em todas as associações e em todos os gatilhos. Elas transmitem a cadeia de conexão para a biblioteca Microsoft.Data.SqlClient e dão suporte à cadeia de conexão, conforme definido na Documentação de ConnectionString do SqlClient.
Importante
Para obter a segurança ideal, você deve usar a ID do Microsoft Entra com identidades gerenciadas para conexões entre o Functions e o Banco de Dados SQL do Azure. As identidades gerenciadas tornam seu aplicativo mais seguro, eliminando segredos das implantações de aplicativos, como credenciais nas cadeias de conexão, nomes de servidor e portas que estão sendo usadas. Você pode aprender a usar identidades gerenciadas neste tutorial, Conectar um aplicativo de funções ao SQL do Azure com identidade gerenciada e associações SQL.
Palavras-chave notáveis incluem:
-
Authentication: permite que uma função se conecte ao SQL do Azure com a ID do Microsoft Entra e identidades gerenciadas. Para obter mais informações, consulte Conectar um aplicativo de funções ao SQL do Azure com identidade gerenciada e associações SQL. -
Command timeout: permite que uma função aguarde um período de tempo especificado em segundos antes de encerrar uma consulta (padrão de 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 o pool de conexões incluemConnection Lifetime,Max Pool SizeeMin Pool Size. Saiba mais sobre o pool de conexões na documentação do ADO.NET
Considerações
- A associação do SQL do Azure dá suporte à versão 4.x e posterior do runtime do Functions.
- O código-fonte das associações do SQL do Azure pode ser encontrado neste repositório GitHub.
- Essa associação requer conectividade com um banco de dados do SQL do Azure ou do SQL Server.
- As associações de saída em tabelas com colunas de tipos de dados
NTEXT,TEXTouIMAGEnão têm suporte e os upserts de dados falharão. Esses tipos serão removidos em uma versão futura do SQL Server e não serão compatíveis com a funçãoOPENJSONusada por essa associação do Azure Functions. - Use identidades gerenciadas em vez de nomes de usuário e senhas.
- Considere usar um valor de chave do Azure para armazenar as configurações do aplicativo.
Amostras
Além dos exemplos para C#, Java, JavaScript, PowerShell e Python disponíveis no Repositório GitHub de associações de SQL do Azure, outros estão disponíveis nos Exemplos do Azure:
- Exemplo da API ToDo do C# com as associações SQL do Azure
- Usar associações de SQL no Azure Stream Analytics
- Enviar dados do SQL do Azure com Python