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. Para crear una aplicación de script de C# que admita la edición en el portal, debe elegir una versión en runtime que admita el modelo en proceso.
Siempre que 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
En el menú o la página Inicio de Azure Portal, seleccione Crear un recurso.
En la página Nuevo, seleccione Compute>Function App.
En Seleccionar una opción de hospedaje, seleccione Consumo>Seleccione para crear la aplicación en el plan de consumo predeterminado. En esta opción de 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.
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-
.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#.
Para crear una aplicación de script de C# que admita la edición en el portal, debe elegir una versión en runtime que admita el modelo en proceso.
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. Acepte las opciones predeterminadas en las pestañas restantes, incluido el comportamiento predeterminado 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.
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.
Seleccione el icono Notificaciones de la esquina superior derecha del portal y observe el mensaje Implementación correcta.
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.
Ha creado correctamente la nueva aplicación de funciones. Después, cree una función en la nueva Function App.
Creación de una función desencadenada por Azure Blob Storage
En la aplicación de funciones, seleccione Información general y, después, seleccione + Crear en Funciones.
En Seleccionar una plantilla, elija la plantilla de desencadenador de Blob y seleccione Siguiente.
En Detalles de plantilla, configure el nuevo desencadenador con los valores especificados en esta tabla y luego seleccione Crear:
Configuración Valor sugerido Descripción Tipo de trabajo Anexar a la aplicación Solo verá esta configuración para una aplicación de Python v2. 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 de desencadenador de Blob Storage en función de los valores proporcionados. A continuación, cree el contenedor samples-workitems.
Cree el contenedor.
Vuelva a la página de información general de su aplicación de funciones, seleccione su Grupo de recursos y luego busque y seleccione la cuenta de almacenamiento en su grupo de recursos.
En la página de la cuenta de almacenamiento, seleccione Almacenamiento de datos>Contenedores>+ Contenedor.
En el campo Nombre, escriba
samples-workitems
y luego seleccione Crear para crear un contenedor.Seleccione el nuevo contenedor
samples-workitems
, que se usa para probar la función mediante la carga de un archivo en el contenedor.
Prueba de la función
En una nueva ventana del explorador, vuelva a la página de la aplicación de funciones y seleccione Flujo de registro, que muestra el registro en tiempo real de la aplicación.
En la página del contenedor de
samples-workitems
, seleccione Cargar>Buscar archivos, busque un archivo en el equipo local (por ejemplo, un archivo de imagen) y elija el archivo.Seleccione Abrir y, a continuación, Cargar.
Vuelve a los registros de su aplicación de función y verifica que el blob ha sido leído.
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 blobs, considere una de estas otras opciones de desencadenador de blobs.
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:
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.
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.
En la página Grupo de recursos, revise la lista de recursos incluidos y compruebe que son los que desea eliminar.
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.