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 esta guía de inicio rápido, se utiliza en 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

Para completar esta guía de inicio rápido:

Adición de un enlace de salida

En esta sección, se va a utilizar la interfaz de usuario del portal para agregar un enlace de salida de almacenamiento en cola a la función que se ha creado anteriormente. Con este enlace podrá escribir un código mínimo para crear un mensaje en una cola. No tiene que escribir código para tareas como la apertura de una conexión de almacenamiento, la creación de una cola o la obtención de 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.

  1. En Azure Portal, abra la página correspondiente a la aplicación de función que ha creado en Creación de su primera función desde Azure Portal. Para abrir la página, busque y seleccione Aplicación de funciones. Posteriormente, seleccione la aplicación de funciones.

  2. Seleccione la aplicación de funciones y, luego, seleccione la función que creó en la guía de inicio rápido anterior.

  3. Seleccione Integración y, a continuación, seleccione + Agregar salida.

    Create an output binding for your function.

  4. 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:

    Add a Queue storage output binding to a function in the Azure portal.

    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 cuenta de almacenamiento que ya usa la Function App o crear una nueva.
  5. 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 que se pasa al desencadenador HTTP en la cadena de consulta. Por ejemplo, si la cadena de consulta incluye name=Azure, el mensaje de cola será Name passed to the function: Azure (Nombre pasado a la función: Azure).

  1. En la función, seleccione Código y prueba para mostrar su código en el editor.

  2. Actualice el código de función dependiendo del lenguaje de la 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);
    
  3. Seleccione Guardar para guardar los cambios.

Prueba de la función

  1. Después de que se guarden los cambios del código, seleccione Prueba.

  2. Confirme que la prueba coincide con la imagen siguiente y seleccione Ejecutar.

    Test the queue storage binding in the Azure portal.

    Tenga en cuenta que el cuerpo de la solicitud contiene el valor de nameAzure. Este valor aparece en el mensaje de la cola que se crea cuando se invoca la función.

    Como alternativa a la selección de Ejecutar aquí, 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. El método de explorador se muestra en la guía de inicio rápido anterior.

  3. Compruebe los registros para asegurarse de que la función se ha realizado correctamente.

Se crea una nueva cola denominada outqueue en su cuenta de Storage mediante el entorno de ejecución de Functions cuando el enlace de salida se usa por primera vez. Usará la cuenta de almacenamiento para comprobar que se han creado la cola y un mensaje.

Buscar la cuenta de almacenamiento conectada a AzureWebJobsStorage

  1. Vaya a la aplicación de funciones y seleccione Configuración.

  2. En Configuración de la aplicación, seleccione AzureWebJobsStorage.

    Screenshot shows the Configuration page with AzureWebJobsStorage selected.

  3. Busque y anote el nombre de la cuenta.

    Locate the storage account connected to AzureWebJobsStorage.

Examen de la cola de salida

  1. En el grupo de recursos de la aplicación de funciones, seleccione la cuenta de almacenamiento que esté usando para esta guía de inicio rápido.

  2. 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).

  3. Vuelva a ejecutar la función y aparecerá un nuevo mensaje en la cola.

Limpieza de recursos

Otras guías de inicio rápido de esta colección se basan en los valores de esta. Si tiene previsto trabajar con los siguientes inicios rápidos, tutoriales o con cualquiera de los servicios que haya creado en este inicio rápido, no elimine los recursos.

En Azure, los recursos son aplicaciones de función, funciones o cuentas de almacenamiento, entre otros. Se agrupan en grupos de recursos y se puede eliminar todo el contenido de un grupo si este se elimina.

Para completar estas guías de inicio rápido, ha creado varios recursos. Se le podría facturar por el consumo de estos recursos en función del estado de la cuenta y los precios de los servicios. Si ya no necesita los recursos, aquí se indica cómo eliminarlos:

  1. En Azure Portal, vaya a la página Grupo de recursos.

    Para llegar a esa página desde la página de aplicación de funciones, seleccione la pestaña Información general y el vínculo situado bajo Grupo de recursos.

    Screenshot that shows select the resource group to delete from the function app page.

    Para llegar a esa página desde el panel, seleccione Grupos de recursos y, después, seleccione el grupo que ha utilizado para este artículo.

  2. En la página Grupo de recursos, revise la lista de recursos incluidos y compruebe que son los que desea eliminar.

  3. Seleccione Eliminar grupo de recursos y siga las instrucciones.

    La eliminación puede tardar un par de minutos. Cuando termine, aparece una notificación durante unos segundos. También puede seleccionar el icono de campana en la parte superior de la página para ver la notificación.

Pasos siguientes

En esta guía de inicio rápido, ha agregado un enlace de salida a una función existente. Para obtener más información sobre los enlaces a Queue Storage, vea Enlaces de cola de Storage en Azure Functions.