Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este conjunto de artigos explica como trabalhar com associações SQL do Azure no Funções do Azure. O Funções do Azure 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# Funções do Azure 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 Funções do Azure.
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 Funções do Azure 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 Funções do Azure.
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 Funções do Azure.
Nota
As alterações de interrupção entre versões de visualização das associações SQL do Azure para o Funções do Azure 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 Funções do Azure 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>
Connections
A connectionStringSetting propriedade é definida como uma chave nas definições da aplicação que devolve um valor usado pelo runtime Functions para se ligar à base de dados SQL do Azure ou SQL Server usada pela extensão. O valor da definição de propriedade de ligação depende do tipo de ligação:
-
Ligação de identidade gerida: A
connectionStringSettingpropriedade devolve uma cadeia de ligação que é usadaAuthentication=Active Directory Managed Identitypara autenticar sem segredos. Você pode usar uma identidade gerenciada atribuída pelo sistema ou pelo usuário. Para mais informações, consulte Ligar uma aplicação de função ao SQL do Azure com identidade gerida e Definir conexões de identidade. -
Referência Key Vault: A
connectionStringSettingdefinição de propriedade devolve uma referência Azure Key Vault ao local onde a cadeia de ligação é mantida centralmente. Para mais informações, consulte Definir ligações ao Key Vault. -
Referência de App Configuration: A
connectionStringSettingdefinição de propriedade devolve uma referência Azure App Configuration que devolve uma cadeia de ligação ou uma referência ao Key Vault. Para mais informações, consulte Azure App Configuration no artigo de ligações. -
Connection string: A
connectionStringSettingdefinição de propriedade devolve a cadeia de ligação SQL real. Como a cadeia de ligação pode conter credenciais, deve usar uma ligação de identidade gerida ou pelo menos armazenar a cadeia de ligação no Key Vault. Para mais informações, veja Definir ligações.
Para saber mais sobre ligações de bindings, consulte Gerir ligações no Funções do Azure.
A cadeia de ligação é passada para a Microsoft. Data.SqlClient e suporta todas as palavras-chave definidas na documentação do SqlClient ConnectionString. Palavras-chave notáveis incluem:
-
Authentication: Liga-se ao SQL do Azure com o Microsoft Entra ID. Definir paraActive Directory Managed Identityidentidades geridas. Para mais informações, consulte Ligar uma aplicação de funções ao SQL do Azure com identidade gerida. -
Command Timeout: Esperar um tempo especificado em segundos antes de terminar uma consulta (por defeito 30 segundos). -
ConnectRetryCount: Fazer automaticamente tentativas adicionais de reconexão, especialmente aplicável ao nível serverless do Base de Dados SQL do Azure (padrão 1). -
Pooling: Reutilizar ligações à base de dados para melhorar o desempenho (por defeitotrue). As configurações adicionais para pool de conexões incluemConnection Lifetime,Max Pool SizeeMin Pool Size. Saiba mais 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 ,TEXTouIMAGEnã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 aOPENJSONfunção usada por essa associação do Funções do Azure. - 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: