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.
Se aplica a: Azure Logic Apps (consumo + estándar)
En esta guía se muestra cómo acceder a la cuenta y el contenedor de Azure Blob Storage desde un flujo de trabajo de Azure Logic Apps mediante el conector de Azure Blob Storage. Este conector proporciona desencadenadores y acciones que el flujo de trabajo puede usar para las operaciones de blobs. Después, puede crear flujos de trabajo automatizados que se ejecutan cuando eventos los desencadenan en el contenedor de almacenamiento o en otros sistemas y ejecutar acciones para trabajar con datos en el contenedor de almacenamiento. Por ejemplo, puede acceder y administrar archivos almacenados como blobs en la cuenta de almacenamiento de Azure.
Puede conectarse a Azure Blob Storage desde un flujo de trabajo en una aplicación lógica de consumo multiinquilino o en una aplicación lógica estándar de inquilino único. Aunque los flujos de trabajo de consumo solo ofrecen la versión del conector gestionado, los flujos de trabajo estándar ofrecen tanto la versión del conector integrado como la del conector gestionado.
Referencia técnica del conector
El conector de Azure Blob Storage tiene diferentes versiones, en función del tipo de aplicación lógica y del entorno de host.
Aplicación lógica | Entorno | Versión del conector |
---|---|---|
Consumo | Azure Logic Apps multiinquilino | Conector administrado, que aparece en la galería de conectores en Compartido. Para más información, revise la siguiente documentación: - Referencia del conector administrado de Azure Blob Storage - Conectores administrados en Azure Logic Apps |
Estándar | Azure Logic Apps de inquilino único y App Service Environment v3 (solo planes de Windows) | Conector administrado (hospedado en Azure), que aparece en la galería de conectores en Compartido y conector integrado, que se basa en el proveedor de servicios, y aparece en la galería de conectores en Integrado. La versión integrada difiere de las siguientes maneras: - La versión integrada se conecta directamente a la cuenta de Azure Storage que necesita solo una cadena de conexión. - La versión integrada puede acceder directamente a las redes virtuales de Azure. Para más información, revise la siguiente documentación: - Referencia del conector administrado de Azure Blob Storage - Referencia del conector integrado de Blob de Azure - Conectores integrados en Azure Logic Apps |
Limitaciones
Las acciones del conector administrado Azure Blob Storage pueden leer o escribir archivos que 50 MB o más pequeños. Para controlar archivos de más de 50 MB, pero hasta 1024 MB, las acciones de Azure Blob Storage admiten la fragmentación de mensajes. La acción Blob Storage denominada Obtener contenido de blobs usa implícitamente la fragmentación.
Aunque los desencadenadores administrados e integrados de Azure Blob Storage no admiten la fragmentación, los desencadenadores integrados pueden controlar archivos de 50 MB o más. Sin embargo, cuando un administrado desencadena el contenido del archivo de solicitudes, el desencadenador selecciona solo los archivos que son de 50 MB o más pequeños. Para obtener archivos de más de 50 MB, siga este patrón:
Use un desencadenador de Blob que devuelva propiedades de archivo, como Cuando se agrega o modifica un blob (solo propiedades).
Siga el desencadenador con la acción de conectores administrados de Azure Blob Storage llamada Obtener contenido de blob, que lee el archivo completo y utiliza la fragmentación implícitamente.
Límites de desencadenadores de Azure Blob Storage
- El desencadenador del conector administrado está limitado a 30 000 blobs en la carpeta virtual de sondeo.
- El desencadenador de conector integrado está limitado a 10 000 blobs en todo el contenedor de sondeo.
Si se supera el límite, es posible que un nuevo blob no pueda desencadenar el flujo de trabajo, por lo que se omite el desencadenador.
Requisitos previos
Una cuenta y una suscripción de Azure. Si no tiene una suscripción de Azure, regístrese para obtener una cuenta gratuita de Azure.
El recurso de aplicación lógica que contiene el flujo de trabajo donde desea acceder a su cuenta de almacenamiento de Azure.
Para iniciar el flujo de trabajo con un desencadenador de Azure Blob Storage, debe tener un flujo de trabajo en blanco. Para usar una acción de Azure Blob Storage, debe tener un flujo de trabajo que ya tenga un desencadenador.
Si no tiene un recurso de aplicación lógica y un flujo de trabajo, créelos ahora siguiendo los pasos de la aplicación lógica que desee:
Adición de un desencadenador de Blob
En un flujo de trabajo consumo, solo está disponible el conector administrado de Azure Blob Storage. En un flujo de trabajo estándar, el conector administrado de Azure Blob Storage y el conector integrado están disponibles. Aunque cada versión del conector solo proporciona un desencadenador de Azure Blob Storage, el nombre del desencadenador difiere de la siguiente manera, en función de si tiene un flujo de trabajo consumo o estándar:
Aplicación lógica | Versión del conector | Nombre del desencadenador | Descripción |
---|---|---|---|
Consumo | Solo conectores administrados | Cuando se agrega o modifica un blob (solo propiedades) | El desencadenador se activa cuando las propiedades de un blob se agregan o actualizan en la carpeta raíz del contenedor de almacenamiento. Al configurar el desencadenador administrado, la versión administrada ignora los blobs del contenedor de almacenamiento. |
Estándar | Conector integrado Conector administrado |
Integrado: cuando un blob se agrega o se actualiza Administrado: cuando se agrega o modifica un blob (solo propiedades) |
Integrado: el desencadenador se desencadena cuando se agrega o actualiza un blob en el contenedor de almacenamiento y se activa para las carpetas anidadas del contenedor de almacenamiento, no solo la carpeta raíz. Al configurar el desencadenador integrado, la versión integrada procesa todos los blobs que hay en el contenedor de almacenamiento. Administrado: el desencadenador se desencadena cuando se agregan o actualizan las propiedades de un blob en la carpeta raíz del contenedor de almacenamiento. Al configurar el desencadenador administrado, la versión administrada ignora los blobs del contenedor de almacenamiento. |
Aunque en los siguientes pasos se usa Azure Portal, también puede usar las siguientes herramientas para crear flujos de trabajo de aplicaciones lógicas si usa la extensión Azure Logic Apps adecuada:
- Flujos de trabajo de aplicaciones lógicas de consumo: Visual Studio Code
- Flujos de trabajo de aplicaciones lógicas estándar: Visual Studio Code
En Azure Portal, abra el recurso de la aplicación lógica de consumo.
En el menú de la barra lateral del recurso, en Herramientas de desarrollo, seleccione el diseñador para abrir el flujo de trabajo en blanco.
Agregue el desencadenador administrado de Azure Blob Storage para su escenario siguiendo los pasos generales para agregar un desencadenador al flujo de trabajo.
Este ejemplo continúa con el desencadenador de Azure Blob Storage denominado Cuando se agrega o modifica un blob (solo propiedades).
Si se lo solicitan, proporcione la siguiente información para la conexión en la cuenta de almacenamiento. Seleccione Crear cuando haya terminado.
Propiedad Obligatorio Descripción Nombre de la conexión Sí Un nombre para tu conexión. Tipo de autenticación Sí El tipo de autenticación de la cuenta de almacenamiento. Para más información, consulte Tipos de autenticación para desencadenadores y acciones que admiten la autenticación. Por ejemplo, esta conexión usa la autenticación de clave de acceso y proporciona el valor de clave de acceso para la cuenta de almacenamiento junto con los siguientes valores de propiedad:
Propiedad Obligatorio Valor Descripción Nombre de la cuenta de Azure Storage o punto de conexión de blob Sí, pero solo para la autenticación de clave de acceso < nombre-de-la-cuenta-de-almacenamiento> Nombre de la cuenta de Azure Storage donde existe el contenedor de blobs.
Nota: Para buscar el nombre de la cuenta de almacenamiento, abra el recurso de la cuenta de almacenamiento en Azure Portal. En el menú de recursos, en Seguridad y redes, seleccione Claves de acceso. En Nombre de la cuenta de almacenamiento, copie y guarde el nombre.Clave de acceso de la cuenta de Azure Storage Sí, pero solo para la autenticación de clave de acceso < clave-de-acceso-de-cuenta-de-almacenamiento> Clave de acceso de la cuenta de Azure Storage.
Nota: Para buscar la clave de acceso, abra el recurso de la cuenta de almacenamiento en Azure Portal. En el menú de recursos, en Seguridad y redes, seleccione Claves de acceso>clave1>Mostrar. Copie y guarde el valor de la clave principal.Una vez que aparezca el cuadro de información del desencadenador, proporcione la información necesaria.
En el valor de propiedad Contenedor, seleccione el icono de la carpeta para buscar el contenedor de blobs. O bien, escriba la ruta de acceso manualmente con la sintaxis /<container-name>, por ejemplo:
Si existen otros parámetros para el desencadenador, abra la lista Parámetros avanzados y seleccione los parámetros que desee.
Para más información, consulte Propiedades del desencadenador del conector administrado de Azure Blob Storage.
Agregue cualquier otra acción necesaria para el flujo de trabajo.
Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Guardar.
Adición de una acción de Blob
En un flujo de trabajo consumo, solo está disponible el conector administrado de Azure Blob Storage. En un flujo de trabajo estándar, el conector administrado de Azure Blob Storage y el conector integrado están disponibles. Cada versión proporciona varias acciones con nombre diferente, en función de si tiene un flujo de trabajo Consumo o Estándar. Por ejemplo, tanto las versiones del conector administrado como las integradas tienen sus propias acciones para obtener metadatos de archivo y obtener contenido de archivo.
Las acciones del conector administrado están disponibles en flujos de trabajo consumo o estándar.
Las acciones del conector integradas solo están disponibles en flujos de trabajo estándar.
Aunque en los siguientes pasos se usa Azure Portal, también puede usar las siguientes herramientas para crear flujos de trabajo de aplicaciones lógicas si usa la extensión de Azure Logic Apps adecuada:
- Flujos de trabajo de Consumo: Visual Studio Code
- Flujos de trabajo estándar: Visual Studio Code
En Azure Portal, abra el recurso de la aplicación lógica de consumo.
En el menú de la barra lateral del recurso, en Herramientas de desarrollo, seleccione el diseñador para abrir el flujo de trabajo.
En estos pasos se supone que el flujo de trabajo ya tiene un desencadenador.
En este ejemplo se usa el desencadenadorPeriodicidad.
Agregue la acción administrada de Azure Blob Storage para su escenario siguiendo los pasos generales para agregar una acción al flujo de trabajo.
En este ejemplo, se continúa con la acción denominada Obtener contenido de blob.
Si se le solicita, proporcione la siguiente información para la conexión. Seleccione Crear cuando haya terminado.
Propiedad Obligatorio Descripción Nombre de la conexión Sí Nombre de la conexión Tipo de autenticación Sí El tipo de autenticación de la cuenta de almacenamiento. Para más información, consulte Tipos de autenticación para desencadenadores y acciones que admiten la autenticación. Por ejemplo, esta conexión usa la autenticación de clave de acceso y proporciona el valor de clave de acceso para la cuenta de almacenamiento junto con los siguientes valores de propiedad:
Propiedad Obligatorio Valor Descripción Nombre de la cuenta de Azure Storage o punto de conexión de blob Sí, pero solo para la autenticación de clave de acceso < nombre-de-la-cuenta-de-almacenamiento> Nombre de la cuenta de Azure Storage en la que se encuentra el contenedor de blobs.
Nota: Para buscar el nombre de la cuenta de almacenamiento, abra el recurso de la cuenta de almacenamiento en Azure Portal. En el menú de recursos, en Seguridad y redes, seleccione Claves de acceso. En Nombre de la cuenta de almacenamiento, copie y guarde el nombre.Clave de acceso de la cuenta de Azure Storage Sí, pero solo para la autenticación de clave de acceso < clave-de-acceso-de-cuenta-de-almacenamiento> Clave de acceso de la cuenta de Azure Storage.
Nota: Para buscar la clave de acceso, abra el recurso de la cuenta de almacenamiento en Azure Portal. En el menú de recursos, en Seguridad y redes, seleccione Claves de acceso>clave1>Mostrar. Copie y guarde el valor de la clave principal.En el cuadro de información de la acción, proporcione la información necesaria.
Por ejemplo, en la acción Obtener contenido de blob, proporcione el nombre de la cuenta de almacenamiento. Como valor de propiedad de Blob, seleccione el icono de la carpeta para buscar el contenedor o la carpeta de almacenamiento. O bien, escriba la ruta manualmente.
Tarea Sintaxis de ruta de acceso de blob Obtenga el contenido de un blob específico de la carpeta raíz. /<container-name>/<blob-name> Obtenga el contenido de un blob específico de una subcarpeta. /<container-name>/<subfolder>/<blob-name> En el ejemplo siguiente se muestra la configuración de la acción que obtiene el contenido de un blob de la carpeta raíz:
En el ejemplo siguiente se muestra la configuración de la acción que obtiene el contenido de un blob de la subcarpeta:
Agregue cualquier otra acción necesaria para el flujo de trabajo.
Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Guardar.
Acceso a cuentas de almacenamiento detrás de firewalls
Puede agregar la seguridad de red a una cuenta de Azure Storage si restringe el acceso con un firewall y reglas de firewall. Sin embargo, este programa de instalación crea un desafío para Azure y otros servicios de Microsoft que necesitan acceder a la cuenta de almacenamiento. La comunicación local en el centro de datos abstrae las direcciones IP internas, por lo que solo permitir el tráfico a través de direcciones IP puede que no sea suficiente para permitir la comunicación en el firewall correctamente. En función del conector de Azure Blob Storage que use, estarán disponibles las opciones siguientes:
Para acceder a las cuentas de almacenamiento detrás de firewalls mediante el conector administrado de Azure Blob Storage en Aplicaciones lógicas de consumo, consulte las secciones siguientes:
Para acceder a las cuentas de almacenamiento detrás de firewalls en aplicaciones lógicas Estándar, revise la siguiente documentación:
Conector integrado de Azure Blob Storage: Acceso a las cuentas de almacenamiento a través de la integración de red virtual
Conector de Azure Blob Storage administrado: Acceso a cuentas de almacenamiento en otras regiones
Acceso a cuentas de almacenamiento en otras regiones
Si no usa la autenticación de identidad administrada, los flujos de trabajo de la aplicación lógica no pueden acceder directamente a las cuentas de almacenamiento detrás de firewalls cuando el recurso de aplicación lógica y la cuenta de almacenamiento existen en la misma región. Como solución alternativa, coloque el recurso de aplicación lógica en una región diferente a la de la cuenta de almacenamiento. Después, conceda acceso a las direcciones IP de salida para los conectores administrados en la región.
Nota
Esta solución no se aplica al conector de Azure Table Storage y al conector de Azure Queue Storage. En su lugar, para acceder a Table Storage o Queue Storage, use la acción y el desencadenador HTTP integrados.
Para agregar las direcciones IP salientes al firewall de la cuenta de almacenamiento, siga estos pasos:
Anote las direcciones IP de salida del conector administrado de la región del recurso de aplicación lógica.
En Azure Portal, busque y abra su recurso de cuenta de almacenamiento.
En el menú de la barra lateral del recurso, en Seguridad y redes, seleccione Redes.
En Acceso a la red pública, seleccione Habilitado en redes virtuales seleccionadas y direcciones IP.
En Firewall, agregue las direcciones IP o los intervalos que necesitan acceso. Si tiene que acceder a la cuenta de almacenamiento desde el equipo, seleccione Agregar la dirección IP del cliente.
Cuando finalice, seleccione Guardar.
Acceso a las cuentas de almacenamiento desde una red virtual de confianza
Si la aplicación lógica y la cuenta de almacenamiento existen en la misma región:
Puede colocar la cuenta de almacenamiento en una red virtual de Azure creando un punto de conexión privado y, después, agregar esa red virtual a la lista de redes virtuales de confianza. Para conceder a la aplicación lógica acceso a la cuenta de almacenamiento a través de una red virtual de confianza, debe crear una aplicación lógica Estándar, que puede conectarse a los recursos de una red virtual.
Si la aplicación lógica y la cuenta de almacenamiento existen en regiones diferentes :
Cree un punto de conexión privado en la cuenta de almacenamiento para el acceso.
Acceso a las cuentas de almacenamiento a través de la integración de red virtual
Si la aplicación lógica y la cuenta de almacenamiento existen en la misma región:
Puede colocar la cuenta de almacenamiento en una red virtual de Azure creando un punto de conexión privado y, después, agregar esa red virtual a la lista de redes virtuales de confianza. Para conceder a la aplicación lógica acceso a la cuenta de almacenamiento, debe configurar el tráfico saliente mediante la integración con red virtual para habilitar la conexión a los recursos en una red virtual. A continuación se agrega la red virtual a la lista de red virtual de confianza de la cuenta de almacenamiento.
Si la aplicación lógica y la cuenta de almacenamiento existen en regiones diferentes :
Cree un punto de conexión privado en la cuenta de almacenamiento para el acceso.
Acceso a Blob Storage en la misma región con identidades administradas del sistema
Para conectarse a Azure Blob Storage en cualquier región, puede usar identidades administradas para la autenticación. Puede crear una excepción que proporcione servicios de confianza de Azure, como una identidad administrada, acceso a la cuenta de almacenamiento a través de un firewall.
Nota
Esta solución no se aplica a las aplicaciones lógicas Estándar. Incluso si usa una identidad administrada asignada por el sistema con una aplicación lógica Estándar, el conector administrado de Azure Blob Storage no se puede conectar a una cuenta de almacenamiento en la misma región.
Para usar identidades administradas en la aplicación lógica para acceder a Blob Storage, siga estos pasos:
Creación de una asignación de roles para la aplicación lógica
Habilite la compatibilidad con la identidad administrada en la aplicación lógica
Nota
Esta solución tiene las siguientes limitaciones:
Para autenticar su conexión de la cuenta de almacenamiento, debe configurar una identidad administrada asignada por el sistema. La identidad administrada asignada por el usuario no funciona.
Configuración del acceso de la cuenta de almacenamiento
Para configurar la compatibilidad con excepciones e identidades administradas, configure primero el acceso adecuado a la cuenta de almacenamiento:
En Azure Portal, busque y abra su recurso de cuenta de almacenamiento.
En el menú de navegación de la cuenta de almacenamiento, en Seguridad y redes, seleccione Redes.
En Acceso a la red pública, seleccione Habilitado en redes virtuales seleccionadas y direcciones IP.
Si tiene que acceder a la cuenta de almacenamiento desde el equipo, en Firewall, seleccione Agregar la dirección IP del cliente.
En Excepciones, seleccione Permitir que los servicios de Azure en la lista de servicios de confianza accedan a esta cuenta de almacenamiento.
Cuando finalice, seleccione Guardar.
Nota
Si recibe un error 403 Prohibido al intentar conectarse a la cuenta de almacenamiento desde el flujo de trabajo, hay varias causas posibles. Pruebe la resolución siguiente antes de pasar a pasos adicionales. En primer lugar, deshabilite la opción Permitir que los servicios de Azure en la lista de servicios de confianza accedan a esta cuenta de almacenamiento y guarde los cambios. Después, vuelva a habilitar el valor y guarde los cambios de nuevo.
Creación de una asignación de roles para la aplicación lógica
A continuación, habilite la compatibilidad con identidades administradas en el recurso de aplicación lógica.
Los pasos siguientes son los mismos para las aplicaciones lógicas de consumo en entornos multiinquilino y aplicaciones lógicas estándar en entornos de un solo inquilino.
En Azure Portal, abra el recurso de aplicación lógica.
En el menú de navegación del recurso de aplicación lógica, en Configuración, seleccione Identidad.
En el panel Asignado por el sistema, establezca Estado en Activado, si no está ya habilitado, seleccione Guardar y confirme los cambios. En Permisos, seleccione Asignaciones de roles de Azure.
En el panel Asignaciones de roles de Azure, seleccione Agregar asignación de roles.
En el panel Agregar asignaciones de roles, configure la nueva asignación de roles mediante los pasos siguientes:
Propiedad Valor Descripción Ámbito < ámbito de recurso> Conjunto de recursos donde desea aplicar la asignación de roles. En este ejemplo, seleccione Almacenamiento. Suscripción < Suscripción de Azure> La suscripción de Azure para la cuenta de almacenamiento. Recurso < nombre-de-la-cuenta-de-almacenamiento> El nombre de la cuenta de almacenamiento a la que quiere acceder desde el flujo de trabajo de aplicación lógica. Rol < role-to-assign> El rol que el escenario requiere para que el flujo de trabajo funcione con el recurso. En este ejemplo se requiere Colaborador de datos de Storage Blob, que permite el acceso de lectura, escritura y eliminación a los contenedores de blobs y la fecha. Para ver la información de permisos, mueva el puntero sobre el icono de información situado junto a un rol en el menú desplegable. Cuando haya terminado, seleccione Guardar para finalizar la creación de la asignación de roles.
Habilitación de la compatibilidad con identidades administradas en la aplicación lógica
Después, complete los pasos siguientes:
Si tiene un flujo de trabajo en blanco, agregue un desencadenador del conector de Azure Blob Storage. De lo contrario, agregue una acción del conector de Azure Blob Storage. Asegúrese de crear una nueva conexión para el desencadenador o la acción, en lugar de usar una conexión existente.
Asegúrese de establecer el tipo de autenticación para usar la identidad administrada.
Después de configurar el desencadenador o la acción, puede guardar el flujo de trabajo y probar el desencadenador o la acción.
Solución de problemas para acceder a cuentas de almacenamiento
Error: esta solicitud no está autorizada para realizar esta operación.
El error siguiente es un problema que se notifica de manera habitual y que se produce cuando la aplicación lógica y la cuenta de almacenamiento existen en la misma región. Pero hay opciones disponibles para resolver esta limitación, como se indica en la sección Acceso a cuentas de almacenamiento detrás de firewalls.
{ "status": 403, "message": "This request is not authorized to perform this operation.\\r\\nclientRequestId: a3da2269-7120-44b4-9fe5-ede7a9b0fbb8", "error": { "message": "This request is not authorized to perform this operation." }, "source": "azureblob-ase.azconn-ase.p.azurewebsites.net" }
Errores de Application Insights
Errores 404 y 409 :
Si el flujo de trabajo Estándar emplea una acción integrada de Azure Blob que agrega un blob al contenedor de almacenamiento, pueden producirse los errores 404 y 409 en Application Insights en el caso de solicitudes de error. Estos errores se esperan, dado que el conector comprueba si el archivo del blob existe antes de agregar el blob. Los errores se producen al no existir el archivo. A pesar de estos errores, la acción integrada agrega el blob correctamente.