Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este inicio rápido, usará Visual Studio Code para compilar una aplicación que responda a los cambios en una tabla de Azure SQL Database. Después de probar el código localmente, se implementa en una nueva aplicación de funciones sin servidor que se ejecuta en un plan de consumo flexible en Azure Functions.
El origen del proyecto usa la extensión de la CLI para desarrolladores de Azure (azd) con Visual Studio Code para simplificar la inicialización y comprobación del código del proyecto localmente e implementar el código en Azure. Esta implementación sigue los procedimientos recomendados actuales para implementaciones seguras y escalables de Azure Functions.
Importante
Aunque se admiten respuestas a cambios en una base de datos de Azure SQL para todos los lenguajes, este escenario de inicio rápido solo tiene actualmente ejemplos para C#, Python y TypeScript. Para completar este inicio rápido, seleccione uno de estos idiomas admitidos en la parte superior del artículo.
Prerrequisitos
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Visual Studio Code en una de las plataformas admitidas.
La extensión de Azure Functions para Visual Studio Code. Esta extensión requiere Azure Functions Core Tools. Cuando esta herramienta no está disponible localmente, la extensión intenta instalarla mediante un instalador basado en paquetes. También puede instalar o actualizar el paquete de Core Tools ejecutando
Azure Functions: Install or Update Azure Functions Core Toolsdesde la paleta de comandos. Si no tiene npm o Homebrew instalado en el equipo local, en su lugar debe instalar o actualizar manualmente Core Tools.
Extensión de C# para Visual Studio Code.
-
Node.js 18.x o superior. Use el comando
node --versionpara comprobar la versión.
Use versiones de Python compatibles con Azure Functions. Para obtener más información, vea Instalación de Python.
La extensión de Python para Visual Studio Code
- La extensión de la CLI para desarrolladores de Azure para Visual Studio Code.
- Extensión de SQL Server (mssql) para Visual Studio Code.
Inicialización del proyecto
Puede usar el azd init comando de la paleta de comandos para crear un proyecto de código local de Azure Functions a partir de una plantilla.
En Visual Studio Code, abra una carpeta o un área de trabajo en la que desea crear el proyecto.
Presione F1 para abrir la paleta de comandos, busque y ejecute el comando
Azure Developer CLI (azd): Initialize App (init)y elija Seleccionar una plantilla.Cuando se le solicite, busque y seleccione
Azure Functions with SQL Triggers and Bindings.Cuando se le solicite, escriba un nombre de entorno único, como
sqldbchanges.
Este comando extrae los archivos de proyecto del repositorio de plantillas e inicializa el proyecto en la carpeta o área de trabajo actual. En azd, el entorno se usa para mantener un contexto de implementación único para la aplicación y puede definir más de uno. También forma parte del nombre del grupo de recursos que crea en Azure.
Este comando extrae los archivos de proyecto del repositorio de plantillas e inicializa el proyecto en la carpeta o área de trabajo actual. En azd, el entorno se usa para mantener un contexto de implementación único para la aplicación y puede definir más de uno. También forma parte del nombre del grupo de recursos que crea en Azure.
Este comando extrae los archivos de proyecto del repositorio de plantillas e inicializa el proyecto en la carpeta o área de trabajo actual. En azd, el entorno se usa para mantener un contexto de implementación único para la aplicación y puede definir más de uno. También forma parte del nombre del grupo de recursos que crea en Azure.
Para poder ejecutar la aplicación localmente, debe crear los recursos en Azure.
Creación de recursos de Azure
Este proyecto está configurado para usar el azd provision comando para crear una aplicación de funciones en un plan de consumo flexible, junto con otros recursos de Azure necesarios que siguen los procedimientos recomendados actuales.
En Visual Studio Code, presione F1 para abrir la paleta de comandos, busque y ejecute el comando
Azure Developer CLI (azd): Sign In with Azure Developer CLIy, a continuación, inicie sesión con su cuenta de Azure.Presione F1 para abrir la paleta de comandos, busque y ejecute el comando
Azure Developer CLI (azd): Provision Azure resources (provision)para crear los recursos de Azure necesarios.Cuando se le solicite en la ventana Terminal, proporcione estos parámetros de implementación necesarios:
Pronto Description Selección de una suscripción de Azure que se va a usar Seleccione la suscripción en la que desea que se creen los recursos. parámetro de implementación de ubicación Región de Azure en la que se va a crear el grupo de recursos que contiene los nuevos recursos de Azure. Solo se muestran las regiones que admiten actualmente el Plan de consumo flexible. Parámetro de implementación vnetEnabled Aunque la plantilla admite la creación de recursos dentro de una red virtual, para simplificar la implementación y las pruebas, elija False.
El azd provision comando usa la respuesta a estos mensajes con los archivos de configuración de Bicep para crear y configurar estos recursos de Azure necesarios, siguiendo los procedimientos recomendados más recientes:
- Plan de consumo flexible y aplicación de funciones
- Azure SQL Database (nombre predeterminado: ToDo)
- Azure Storage (obligatorio) y Application Insights (recomendado)
- Directivas y roles de acceso para la cuenta
- Conexiones de servicio a servicio mediante identidades administradas (en lugar de cadenas de conexión almacenadas)
Los enlaces posteriores al aprovisionamiento también generan el archivo local.settings.json, que se necesita para su ejecución local. Este archivo contiene la configuración necesaria para conectarse a la base de datos en Azure.
Revisión del código (opcional)
En el ejemplo se definen dos funciones:
| Nombre de la función | Archivo de código | Tipo de desencadenador | Description |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | Desencadenador HTTP | Acepta una carga JSON con el formato correcto y usa el enlace de salida de SQL para insertar el objeto como una fila en la ToDo tabla. |
ToDoTrigger |
sql_trigger.cs | Desencadenador de SQL | Escucha en la ToDo tabla los cambios de nivel de fila y devuelve un objeto que representa la fila modificada. |
El ToDoItem tipo se define en ToDoItem.cs.
| Nombre de la función | Archivo de código | Tipo de desencadenador | Description |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | Desencadenador HTTP | Acepta una carga JSON con el formato correcto y usa el enlace de salida de SQL para insertar el objeto como una fila en la ToDo tabla. |
httptrigger-sql-output |
sql_trigger_todo | Desencadenador de SQL | Escucha en la ToDo tabla los cambios de nivel de fila y devuelve un objeto que representa la fila modificada. |
El ToDoItem tipo se define en todo_item.py.
| Nombre de la función | Archivo de código | Tipo de desencadenador | Description |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | Desencadenador HTTP | Acepta una carga JSON con el formato correcto y usa el enlace de salida de SQL para insertar el objeto como una fila en la ToDo tabla. |
sqlTriggerToDo |
sql_trigger.ts | Desencadenador de SQL | Escucha en la ToDo tabla los cambios de nivel de fila y devuelve un objeto que representa la fila modificada. |
El ToDoItem tipo se define en ToDoItem.ts.
Ambas funciones usan las variables de entorno a nivel de aplicación AZURE_SQL_CONNECTION_STRING_KEY_* que definen una conexión basada en identidades a la instancia de Azure SQL Database utilizando la autenticación de Microsoft Entra ID. Estas variables de entorno se crean automáticamente en Azure (configuración de la aplicación de funciones) y localmente (local.settings.json) durante la azd provision operación.
Conexión a la base de datos SQL
Puede usar la extensión de SQL Server (mssql) para Visual Studio Code para conectarse a la nueva base de datos. Esta extensión le ayuda a realizar actualizaciones en la ToDo tabla para ejecutar la función desencadenador de SQL.
Presione F1 y, en la paleta de comandos, busque y ejecute el comando
MS SQL: Add Connection.En el cuadro de diálogo Conexión, cambie Tipo de entrada a Examinar Azure y, a continuación, establezca estas opciones restantes:
Opción Choose Description Servidor La instancia de SQL Server De forma predeterminada, se muestran todos los servidores accesibles para su cuenta de Azure. Use suscripción, grupo de recursos y ubicación para ayudar a filtrar la lista de servidores. Base de datos ToDoLa base de datos creada durante el proceso de aprovisionamiento. Tipo de autenticación Microsoft Entra ID Si aún no ha iniciado sesión, seleccione Iniciar sesión e iniciar sesión en su cuenta de Azure. Id. de inquilino Inquilino de cuenta específico. Si la cuenta tiene más de un inquilino, elija el inquilino correcto para la suscripción. Seleccione Conectar para conectarse a la base de datos. La conexión usa la cuenta de usuario local, a la que se conceden permisos de administrador en el servidor de hospedaje y se asigna a
dboen la base de datos.En la vista de SQL Server , busque y expanda Conexiones y, a continuación, el nuevo servidor en el Explorador de SQL Server. Expanda Tablas y compruebe que la
ToDotabla existe. Si no existe, es posible que necesite volver a ejecutarseazd provisiony comprobar si hay errores.
Ejecución local de la función
Visual Studio Code se integra con azure Functions Core Tools para permitirle ejecutar este proyecto en el equipo de desarrollo local antes de publicar en la nueva aplicación de funciones en Azure.
Presione F1 y, en la paleta de comandos, busque y ejecute el comando
Azurite: Start.Para iniciar la función localmente, presione F5 o el icono Ejecutar y depurar en la barra de actividad del lado izquierdo.
El panel Terminal muestra la salida de Core Tools. La aplicación se inicia en el panel Terminal y puede ver el nombre de la función que se ejecuta localmente.
Con la aplicación en ejecución, puede comprobar y depurar ambos desencadenadores de función.
Para comprobar la función de desencadenador HTTP que escribe en una vinculación de salida de SQL:
Copie este objeto JSON, que también puede encontrar en el archivo del
test.httpproyecto:{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Estos datos representan una fila que se inserta en la base de datos SQL al llamar al punto de conexión HTTP. El enlace de salida convierte el objeto de datos en una operación
INSERTde la base de datos.Con la aplicación en ejecución, en la vista Azure, en Workspace expanda proyecto local>Funciones.
Seleccione con el botón derecho la función HTTP (o Ctrl+clic en macOS), seleccione Ejecutar función ahora, pegue los datos JSON copiados y presione Entrar.
La función controla la solicitud HTTP y escribe el elemento en la base de datos SQL conectada y devuelve el objeto creado.
De nuevo en el Explorador de SQL Server, seleccione la tabla
ToDo(o Ctrl+clic en macOS) y elija Seleccionar Top 1000. Cuando se ejecuta la consulta, devuelve la fila insertada o actualizada.Repita el paso 3 y vuelva a enviar el mismo objeto de datos con el mismo identificador. Esta vez, el enlace de salida realiza una operación de
UPDATEen lugar deINSERT, y modifica la fila existente en la base de datos.
Cuando haya terminado, escriba Ctrl+C en el terminal para detener el proceso de Core Tools.
Implementación en Azure
Puede ejecutar el azd deploy comando desde Visual Studio Code para implementar el código del proyecto en los recursos ya aprovisionados en Azure.
Presione F1 para abrir la paleta de comandos, busque y ejecute el comando
Azure Developer CLI (azd): Deploy to Azure (deploy).El
azd deploycomando empaqueta e implementa el código en el contenedor de implementación. A continuación, la aplicación se inicia y se ejecuta en el paquete implementado.Una vez completado correctamente el comando, la aplicación se ejecuta en Azure. Anote el valor
Endpoint, que es la dirección URL de la aplicación de función que se ejecuta en Azure.
Invocación de la función en Azure
En Visual Studio Code, presione F1 y, en la paleta de comandos, busque y ejecute el comando
Azure: Open in portal, seleccioneFunction appy elija la nueva aplicación. Inicie sesión con su cuenta de Azure, si es necesario.Seleccione Transmisión de registros en el panel izquierdo, que se conecta a los registros de Application Insights de tu aplicación.
Vuelva a Visual Studio Code para ejecutar ambas funciones en Azure.
Presione F1 para abrir la paleta de comandos, busque y ejecute el comando
Azure Functions: Execute Function Now....Busque y seleccione la aplicación de funciones remotas en la lista y, a continuación, seleccione la función desencadenador HTTP.
Como antes, inserte los datos del objeto JSON en Ingrese cuerpo de carga y presione Entrar.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Para realizar un
INSERTen lugar de unUPDATE, reemplace elidcon un nuevo valor GUID.Vuelva al portal y vea la salida de ejecución en la ventana de registro.
Limpieza de recursos
Cuando haya terminado de trabajar con la aplicación de funciones y los recursos relacionados, puede usar este comando para eliminar la aplicación de funciones y sus recursos relacionados de Azure y evitar incurrir en costos adicionales:
azd down --no-prompt
Nota:
La --no-prompt opción indica azd que elimine el grupo de recursos sin una confirmación de usted.
Este comando no afecta al proyecto de código local.