Creación de una función en Azure desencadenada por Blob Storage

Obtenga información sobre cómo crear una función que se desencadena cuando se cargan o se actualizan archivos en un contenedor de Blob Storage.

Nota:

La edición en el portal solo se admite para las funciones JavaScript, PowerShell y Script de C#. La edición en el portal de Python solo se admite cuando se ejecuta en el plan de consumo. Cuando sea posible, debe desarrollar las funciones localmente.

Para más información sobre las limitaciones del código de función de edición en Azure Portal, consulte Limitaciones de desarrollo en Azure Portal.

Requisitos previos

  • Suscripción a Azure. Si no tiene una, cree una cuenta gratuita antes de empezar.

Creación de una Function App de Azure

  1. En el menú o la página Inicio de Azure Portal, seleccione Crear un recurso.

  2. En la página Nuevo, seleccione Compute>Function App.

  3. En la página Básico, utilice la configuración de la aplicación de funciones como se especifica en la tabla siguiente:

    Configuración Valor sugerido Descripción
    Suscripción Su suscripción Suscripción en la que creará la nueva aplicación de funciones.
    Grupo de recursos myResourceGroup Nombre del nuevo grupo de recursos en el que crea la aplicación de funciones. Debe crear un nuevo grupo de recursos, ya que existen limitaciones conocidas a la hora de crear nuevas aplicaciones de funciones en un grupo de recursos existente.
    Nombre de la aplicación de función Nombre único globalmente Nombre que identifica la nueva Function App. Los caracteres válidos son a-z (no distingue mayúsculas de minúsculas), 0-9 y -.
    ¿Desea implementar código o imágenes de contenedor? Código Opción para publicar archivos de código o un contenedor Docker.
    Pila en tiempo de ejecución Lenguaje preferido Elija un tiempo de ejecución que admita su lenguaje de programación de funciones preferido. La edición en el portal solo está disponible para JavaScript, PowerShell, Python, TypeScript y el script de C#. Las funciones de la biblioteca de clases de C# y Java deben estar desarrolladas en el entorno local.
    Versión Número de la versión Elija la versión del entorno de ejecución instalado.
    Región Región preferida Seleccione una región próxima a usted o a otros servicios a los que accedan las funciones.
    Sistema operativo Windows Se preselecciona un sistema operativo en función de la selección de pila en tiempo de ejecución, pero es posible cambiar esta configuración si fuera necesario. La edición en el portal solo se admite en Windows. La publicación de contenedores solo se admite en Linux.
    Opciones y planes de hospedaje Consumo (sin servidor) Plan de hospedaje que define cómo se asignan los recursos a la Function App. En el plan de Consumo predeterminado, los recursos se agregan dinámicamente según lo requieran sus funciones. En este hospedaje sin servidor, solo paga por el tiempo durante el cual se ejecutan las funciones. El plan Premium también ofrece escalado dinámico. Si ejecuta un plan de App Service, debe administrar el escalado de la aplicación de función.
  4. Acepte las opciones predeterminadas para crear una nueva cuenta de almacenamiento en la pestaña Almacenamiento y una nueva instancia de Application Insights en la pestaña Supervisión. También puede optar por usar una cuenta de almacenamiento existente o una instancia de Application Insights.

  5. Seleccione Revisar y crear para revisar la configuración de la aplicación que ha elegido y, después, seleccione Crear para aprovisionar e implementar la aplicación de funciones.

  6. Seleccione el icono Notificaciones de la esquina superior derecha del portal y observe el mensaje Implementación correcta.

  7. Seleccione Ir al recurso para ver la nueva aplicación de función. También puede seleccionar Anclar al panel. Dicho anclaje facilita la vuelta a este recurso de aplicación de función desde el panel.

    Screenshot of deployment notification.

Ha creado correctamente la nueva aplicación de funciones.

Function app successfully created.

Después, cree una función en la nueva Function App.

Creación de una función desencadenada por Azure Blob Storage

  1. En la aplicación de funciones, seleccione Información general y, a continuación, seleccione + Crear en Funciones.

  2. En Seleccionar una plantilla, desplácese hacia abajo y elija la plantilla de desencadenador de Azure Blob Storage.

  3. En Detalles de la plantilla, configure el nuevo desencadenador con la configuración especificada en esta tabla y, a continuación, seleccione Crear:

    Configuración Valor sugerido Descripción
    Nueva función Único en la Function App Nombre de la función desencadenada por este blob.
    Path samples-workitems/{name} Ubicación de Blob Storage que se está supervisando. El nombre de archivo del blob se pasa en el enlace como parámetro name.
    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.

    Azure crea la función desencadenada de Blob Storage en función de los valores proporcionados.

A continuación, cree el contenedor samples-workitems.

Cree el contenedor.

  1. En la función, en la página Información general, seleccione el grupo de recursos.

    Select your Azure portal resource group.

  2. Busque y seleccione la cuenta de almacenamiento del grupo de recursos.

    Access the storage account.

  3. Elija Containers y, a continuación, elija + Contenedor.

    Add container to your storage account in the Azure portal.

  4. En el campo Nombre, escriba samples-workitems y seleccione Crear.

    Name the storage container.

Ahora que tiene un contenedor de blobs, puede probar la función. Para ello, cargue un archivo en el contenedor.

Prueba de la función

  1. De nuevo en Azure Portal, vaya a la función. Expanda Registros en la parte inferior de la página y asegúrese de que el streaming de registros no está en pausa.

    Expand the log in the Azure portal.

  2. En una ventana del explorador independiente, vaya al grupo de recursos en Azure Portal y seleccione la cuenta de almacenamiento.

  3. Seleccione Containers y, después, seleccione el contenedor samples-workitems.

    Go to your samples-workitems container in the Azure portal.

  4. Seleccione Cargar y, después, el icono de la carpeta para elegir el archivo que quiera cargar.

    Upload a file to the blob container.

  5. Busque un archivo en el equipo local, como un archivo de imagen, y selecciónelo. Seleccione Abrir y, a continuación, Cargar.

  6. Vuelva a sus registros de función y compruebe que se ha leído el blob.

    View message in the logs.

    Nota:

    Cuando la Function App se ejecuta en el plan de consumo predeterminado, puede haber un retraso de hasta varios minutos entre el momento en que se agrega o se actualiza el blob y el momento en que se desencadena la función. Si necesita una latencia baja en las funciones desencadenadas por el blob, considere la posibilidad de ejecutar la Function App en un plan de App Service.

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

Ha creado una función que se ejecuta cuando se agrega o se actualiza un blob en Blob Storage. Para obtener más información sobre los desencadenadores de Blob Storage, vea Enlaces de Blob Storage en Azure Functions.

Ahora que ha creado su primera función, vamos a agregar un enlace de salida a la función que escribe un mensaje en una cola de Storage.