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 Tipo
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

Para poder usar essa extensão de associação em seu aplicativo, certifique-se de que o arquivo dehost.json na raiz do seu 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 de instrui o host Functions a usar uma versão de [4.0.0, 5.0.0) pacote que seja pelo menos 4.0.0 , mas 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 mais recente do pacote de extensão e permitir que o tempo de execução mantenha automaticamente a versão secundária mais recente. Você pode visualizar o conteúdo do pacote mais recente na página de lançamento dos pacotes de extensão. Para obter mais informações, consulte Pacotes de extensão do Azure Functions.

Se o seu aplicativo precisar usar a funcionalidade de visualização, você deve, em vez disso, fazer referência à versão mais recente do pacote de visualização. Para obter mais informações, consulte Trabalhar com pacotes de extensões de visualização.

Você pode exibir a funcionalidade de visualização na página de versão das Extensões SQL do Azure Functions.

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.

Atualizar pacotes

Adicione o pacote Tipos 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 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.

Importante

Para uma segurança ideal, você deve usar o Microsoft Entra ID 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 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.

Palavras-chave notáveis incluem:

  • Authentication: permite que uma função se conecte ao SQL do Azure com o ID do Microsoft Entra e identidades gerenciadas. Para obter mais informações, consulte Conectar um aplicativo de função ao SQL do Azure com identidade gerenciada e associações SQL.
  • 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.
  • Considere usar um Valor de Chave do Azure para armazenar as 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