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 de base de datos en una base de datos No SQL en Azure Cosmos DB. Después de probar el código localmente, se implementa en una nueva aplicación de funciones sin servidor que se crea en ejecución 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, así como la implementación del 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 No SQL de Azure Cosmos DB 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.
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.Es posible que haya un ligero retraso al
azdinicializar la carpeta o el área de trabajo actuales.
Cuando se le solicite, elija Seleccionar una plantilla y busque y seleccione
Azure Functions with Cosmos DB Bindings (.NET).Cuando se le solicite, escriba un nombre de entorno único, como
cosmosdbchanges-dotnet.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.
Cuando se le solicite, elija Seleccionar una plantilla y busque y seleccione
Azure Functions TypeScript CosmosDB trigger.Cuando se le solicite, escriba un nombre de entorno único, como
cosmosdbchanges-ts.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.
Cuando se le solicite, elija Seleccionar una plantilla y busque y seleccione
Azure Functions Python with CosmosDB triggers and bindings....Cuando se le solicite, escriba un nombre de entorno único, como
cosmosdbchanges-py.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.
Ejecute este comando, en función del sistema operativo local, para conceder a los scripts de configuración los permisos necesarios:
Ejecute este comando con privilegios suficientes:
chmod +x ./infra/scripts/*.sh
Para poder ejecutar la aplicación localmente, debe crear los recursos en Azure. Este proyecto no usa la emulación local para Azure Cosmos DB.
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 Elija 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 provisioncomando 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
- Cuenta de Azure Cosmos DB
- 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 necesario al ejecutarse localmente. Este archivo también contiene la configuración necesaria para conectarse a la base de datos de Azure Cosmos DB en Azure.
Sugerencia
Si se produce un error en los pasos durante el aprovisionamiento, puede volver a ejecutar el
azd provisioncomando después de resolver los problemas.Una vez completado correctamente el comando, puede ejecutar el código del proyecto localmente y desencadenarlo en la base de datos de Azure Cosmos DB en Azure.
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.
Si tiene problemas para ejecutarlo en Windows, asegúrese de que el terminal predeterminado de Visual Studio Code no esté establecido en WSL Bash.
Con Core Tools todavía ejecutándose en Terminal, presione F1 y, en la paleta de comandos, busque y ejecute el comando
NoSQL: Create Item...y seleccione ladocument-dbbase de datos y eldocumentscontenedor.Reemplace el contenido del nuevo archivo Item.json por estos datos JSON y seleccione Guardar:
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Después de seleccionar Guardar, verá la ejecución de la función en el terminal y el documento local se actualiza para incluir los metadatos agregados por el servicio.
Cuando haya terminado, presione Ctrl+C en la ventana del terminal para detener el proceso de host de
func.exe.
Revisión del código (opcional)
La función se desencadena en función de la fuente de cambios en una base de datos NoSQL de Azure Cosmos DB. Estas variables de entorno configuran cómo el desencadenador supervisa la fuente de cambios:
-
COSMOS_CONNECTION__accountEndpoint: el punto de conexión de la cuenta de Cosmos DB -
COSMOS_DATABASE_NAME: el nombre de la base de datos que se va a supervisar. -
COSMOS_CONTAINER_NAME: el nombre del contenedor que se va a supervisar.
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.
Puede revisar el código que define el desencadenador de Azure Cosmos DB en el archivo de proyecto de CosmosTrigger.cs.
Puede revisar el código que define el desencadenador de Azure Cosmos DB en el archivo de proyecto de cosmos_trigger.ts.
Puede revisar el código que define el desencadenador de Azure Cosmos DB en el archivo de proyecto de function_app.py.
Después de revisar y comprobar el código de función localmente, es el momento de publicar el proyecto en Azure.
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.
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.Este comando abre la nueva aplicación de funciones en Azure Portal.
En la pestaña Información general de la página principal, seleccione el nombre de la aplicación de funciones y, a continuación, la pestaña Registros .
Use el
NoSQL: Create Itemcomando en Visual Studio Code para agregar de nuevo un documento al contenedor como antes.Compruebe de nuevo que la función se desencadene mediante una actualización en el contenedor supervisado.
Reimplementación del código
Puede ejecutar el azd deploy comando tantas veces como necesite para implementar actualizaciones de código en la aplicación de funciones.
Nota:
El paquete de implementación más reciente siempre sobrescribe los archivos de código implementados.
Las respuestas iniciales a azd mensajes y las variables de entorno generadas por azd se almacenan localmente en el entorno con nombre. Use el comando azd env get-values para revisar todas las variables del entorno que se usaron al crear recursos de Azure.
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.