Eventos
Cree aplicaciones y agentes de IA
17 mar, 9 p.m. - 21 mar, 10 a.m.
Únete a la serie de encuentros para crear soluciones de IA escalables basadas en casos de uso del mundo real con otros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no es compatible.
Actualice a Microsoft Edge para aprovechar las características, las actualizaciones de seguridad y el soporte técnico más recientes.
En este conjunto de artículos se explica cómo trabajar con enlaces de Azure SQL en Azure Functions. Azure Functions admite enlaces de entrada y salida y un desencadenador de funciones para los productos de Azure SQL y SQL Server.
Acción | Tipo |
---|---|
Desencadenar una función cuando se detecta un cambio en una tabla SQL | Desencadenador de SQL |
Lectura de datos de una base de datos | Enlace de entrada |
Guardado de datos en una base de datos | Enlace de salida |
El paquete NuGet de la extensión que instale depende del modo de C# que esté usando en la aplicación de funciones:
Las funciones se ejecutan en un proceso de trabajo de C# aislado. Para más información, consulte Guía para ejecutar C# Azure Functions en un proceso de trabajo aislado.
Para agregar la extensión al proyecto, instale este paquete NuGet.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
A fin de usar una versión preliminar del paquete Microsoft.Azure.Functions.Worker.Extensions.Sql, agrega la marca --prerelease
al comando. Puede ver la funcionalidad de vista previa en la página de versión de Extensiones sql de Azure Functions.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Nota
Los cambios entre versiones preliminares de los enlaces de Azure SQL para Azure Functions requieren que todas las funciones que se dirijan a la misma base de datos utilicen la misma versión del paquete de extensión de SQL.
La extensión de enlaces de SQL forma parte del conjunto de extensiones v4, que se especifica en el archivo del proyecto host.json.
En el siguiente código del archivo host.json
se especifica el conjunto de extensiones:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
La extensión de enlaces de SQL forma parte del conjunto de extensiones v4, que se especifica en el archivo del proyecto host.json.
En el siguiente código del archivo host.json
se especifica el conjunto de extensiones:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
La extensión de enlaces de SQL forma parte del conjunto de extensiones v4, que se especifica en el archivo del proyecto host.json.
En el siguiente código del archivo host.json
se especifica el conjunto de extensiones:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Agregue la biblioteca de Java de enlaces SQL al proyecto de Functions con una actualización en el archivo pom.xml
del proyecto de Azure Functions para Java, como se muestra en el siguiente fragmento de código:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
Puedes usar el conjunto de extensión de la versión preliminar con una actualización en el archivo pom.xml
del proyecto de Azure Functions para Java, como se muestra en el siguiente fragmento de código:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0-preview</version>
</dependency>
Los enlaces de Azure SQL para Azure Functions tienen una propiedad obligatoria para la cadena de conexión en todos los enlaces y desencadenadores. Estos pasan la cadena de conexión a la biblioteca Microsoft.Data.SqlClient y admiten la cadena de conexión como se define en la documentación de ConnectionString de SqlClient.
Importante
Para lograr una seguridad óptima, debe usar el identificador de Entra de Microsoft con identidades administradas para las conexiones entre Functions y Azure SQL Database. Las identidades administradas hacen que la aplicación sea más segura mediante la eliminación de secretos de las implementaciones de aplicaciones, como las credenciales de los cadena de conexión, los nombres de servidor y los puertos que se usan. Puede aprender a usar identidades administradas en este tutorial: Conexión de una aplicación de funciones a Azure SQL con identidad administrada y enlaces SQL.
Las palabras clave importantes incluyen las siguientes:
Authentication
: permite que una función se conecte a Azure SQL con el identificador de Microsoft Entra e identidades administradas. Para más información, consulte Conexión de una aplicación de funciones a Azure SQL con identidad administrada y enlaces SQL.Command timeout
: permite que una función espere una cantidad de tiempo especificada en segundos antes de finalizar una consulta (valor predeterminado de 30 segundos)ConnectRetryCount
: permite que una función realice automáticamente intentos de reconexión adicionales, especialmente aplicables al nivel sin servidor de Azure SQL Database (valor predeterminado 1)Pooling
: permite que una función reutilice las conexiones a la base de datos, lo que puede mejorar el rendimiento (valor predeterminado true
). La configuración adicional para la agrupación de conexiones incluye Connection Lifetime
, Max Pool Size
y Min Pool Size
. Más información sobre la agrupación de conexiones en la documentación de ADO.NETNTEXT
, TEXT
o IMAGE
y se produce un error en las operaciones upsert de datos. Estos tipos se van a quitar en una versión futura de SQL Server y no son compatibles con la función OPENJSON
empleada por este enlace de Azure Functions.Además de los ejemplos para C#, Java, JavaScript, PowerShell y Python disponibles en el repositorio de GitHub de enlaces de Azure SQL, hay más disponibles en Ejemplos de Azure:
Eventos
Cree aplicaciones y agentes de IA
17 mar, 9 p.m. - 21 mar, 10 a.m.
Únete a la serie de encuentros para crear soluciones de IA escalables basadas en casos de uso del mundo real con otros desarrolladores y expertos.
Regístrese ahora