Agregar mensajes a una cola de Azure Storage con Functions
En Azure Functions, los enlaces de entrada y salida proporcionan una forma declarativa de hacer que los datos de servicios externos estén disponibles para su código. En este artículo, usará un enlace de salida para crear un mensaje en una cola cuando una solicitud HTTP desencadena una función. Utilice el contenedor de Azure Storage para ver los mensajes de cola que crea la función.
Requisitos previos
Suscripción a Azure. Si no tienes una, crea una cuenta gratuita antes de empezar.
Siga las instrucciones de Creación de la primera función en Azure Portal, omitiendo el paso Limpiar recursos, para crear la aplicación de funciones y la función que se van a usar en este artículo.
Adición de un enlace de salida
En esta sección, usará la interfaz de usuario del portal para agregar un enlace de salida de Azure Queue Storage a la función que creó en los requisitos previos. Con este enlace podrá escribir un código mínimo para crear un mensaje en una cola. No es necesario escribir código para tareas como abrir una conexión de almacenamiento, crear una cola u obtener una referencia a una cola. El sistema en tiempo de ejecución de Azure Functions y el enlace de salida en cola se encargan automáticamente de esas tareas.
En Azure Portal, busque y seleccione la aplicación de funciones que creó en Creación de la primera función desde Azure Portal.
En la aplicación de funciones, seleccione la función que creó.
Seleccione Integración y, a continuación, seleccione + Agregar salida.
Seleccione el tipo de enlace Azure Queue Storage y agregue la configuración como se especifica en la tabla que sigue a esta captura de pantalla:
Configuración Valor sugerido descripción Nombre del parámetro de mensaje outputQueueItem El nombre del parámetro del enlace de salida. Nombre de la cola outqueue El nombre de la cola a la que se va a conectar en la cuenta de almacenamiento. Conexión de la cuenta de almacenamiento AzureWebJobsStorage Puede usar la conexión de la cuenta de almacenamiento existente que usa la aplicación de funciones o crear una nueva. Seleccione Aceptar para agregar el enlace.
Ahora que tiene definido un enlace de salida, necesita actualizar el código que va a usar el enlace para agregar mensajes a una cola.
Adición de código que utilice el enlace de salida
En esta sección, va a agregar código que escribe un mensaje en la cola de salida. El mensaje incluye el valor pasado al desencadenador HTTP en la cadena de consulta. Por ejemplo, si la cadena de consulta incluye name=Azure
, el mensaje de cola es Nombre pasado a la función: Azure.
En la función, seleccione Código y prueba para mostrar su código en el editor.
Actualice el código de función, según el lenguaje de función:
Agregue un parámetro outputQueueItem para la firma del método, tal como se muestra en el ejemplo siguiente:
public static async Task<IActionResult> Run(HttpRequest req, ICollector<string> outputQueueItem, ILogger log) { ... }
En el cuerpo de la función, justo antes de la instrucción
return
, agregue código que utilice el parámetro para crear un mensaje de cola:outputQueueItem.Add("Name passed to the function: " + name);
Seleccione Guardar para guardar los cambios.
Prueba de la función
Después de que se guarden los cambios del código, seleccione Prueba.
Confirme que la prueba coincide con esta captura de pantalla y seleccione Ejecutar.
Tenga en cuenta que el cuerpo de la solicitud contiene el valor de
name
Azure. Este valor aparece en el mensaje de cola creado cuando se invoca la función.Como alternativa a la selección de Ejecutar, puede llamar a la función mediante la introducción de una dirección URL en un navegador y de la especificación del valor
name
en la cadena de consulta. Este método del explorador se muestra en Creación de la primera función desde Azure Portal.Compruebe los registros para asegurarse de que la función se ha realizado correctamente.
Cuando el enlace de salida se usa por primera vez, el entorno de ejecución de Functions crea una nueva cola denominada outqueue en la cuenta de almacenamiento. Usará la cuenta de almacenamiento para comprobar que se han creado la cola y un mensaje.
Buscar la cuenta de almacenamiento conectada a AzureWebJobsStorage
En la aplicación de funciones, expanda Configuracióny, después, seleccione Variables de entorno.
En la pestaña Configuración de la aplicación, seleccione AzureWebJobsStorage.
Busque y anote el nombre de la cuenta.
Examen de la cola de salida
En el grupo de recursos de la aplicación de funciones, seleccione la cuenta de almacenamiento que usa.
En Queue service, seleccione Colas y seleccione la cola denominada outqueue.
La cola contiene el mensaje que creó el enlace de salida de la cola al ejecutar la función desencadenada por HTTP. Si se invoca la función con el valor predeterminado
name
de Azure, el mensaje de cola es Name passed to the function: Azure (Nombre pasado a la función: Azure).Vuelva a ejecutar la función.
Aparece un mensaje nuevo en la cola.
Limpieza de recursos
En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no cree que vaya a necesitar estos recursos en el futuro, puede eliminarlos mediante la eliminación del grupo de recursos.
En el menú de Azure Portal o la página Inicio, seleccione Grupos de recursos. En la página Grupos de recursos, seleccione myResourceGroup.
En la página myResourceGroup, asegúrese de que los recursos enumerados sean los que desea eliminar.
Seleccione Eliminar grupo de recursos, escriba myResourceGroup en el cuadro de texto para confirmar y, después, seleccione Eliminar.
Contenido relacionado
En este artículo, ha agregado un enlace de salida a una función existente. Para obtener más información sobre el enlace a Queue Storage, consulte Desencadenador y enlaces de Queue Storage.
- Conceptos básicos sobre los enlaces y desencadenadores de Azure Functions
Conozca cómo se integra Functions con otros servicios. - Referencia para desarrolladores de Azure Functions
Proporciona información técnica sobre el tiempo de ejecución de Functions y una referencia para las funciones de codificación y la definición de enlaces y desencadenadores. - Codificación y comprobación de Azure Functions en un entorno local
Describe las opciones para desarrollar las funciones de manera local.