Introducción a los enlaces de Azure Blob Storage para Azure Functions

Azure Functions se integra con Azure Storage mediante desencadenadores y enlaces. La integración con Blob Storage permite crear funciones que reaccionan a los cambios en los datos del blob, así como a los valores de lectura y escritura.

Acción Tipo
Ejecución de una función cuando cambian los datos de Blob Storage Desencadenador
Lectura de datos de Blob Storage en una función Enlace de entrada
Escritura de datos de almacenamiento de blobs desde una función Enlace de salida

Adición a la aplicación de Functions

Functions 2.x y superiores

Para trabajar con el desencadenador y los enlaces, es necesario hacer referencia al paquete adecuado. En las bibliotecas de clases de .NET se usa el paquete NuGet, mientras que en los demás tipos de aplicaciones se emplea el conjunto de extensiones.

Idioma Agregar mediante... Observaciones
C# Instalación del paquete NuGet, versión 3.x
Script de C#, Java, JavaScript, Python, PowerShell Registro de conjunto de extensiones Se recomienda usar la extensión Azure Tools con Visual Studio Code.
Script de C# (solo en línea en Azure Portal) Adición de un enlace Para actualizar extensiones de enlace existentes sin tener que volver a publicar la aplicación de funciones, vea Actualización de las extensiones.

Extensión de Storage 5.x y versiones posteriores

Ya hay disponible una nueva versión de la extensión de enlaces de Storage. Presenta la posibilidad de conectarse con una identidad en lugar de un secreto. Para examinar un tutorial sobre la configuración de las aplicaciones de funciones con identidades administradas, vea Creación de una aplicación de funciones con conexiones basadas en identidades. En el caso de las aplicaciones .NET, la nueva versión de la extensión también cambia los tipos con los que se puede enlazar; así, los tipos WindowsAzure.Storage y Microsoft.Azure.Storage se reemplazan por otros tipos más recientes de WindowsAzure.Storage. Obtenga más información sobre estos nuevos tipos y cómo migrarlos desde la Guía de migración de Azure.Storage.Blobs.

Esta versión de la extensión está disponible mediante la instalación de un paquete NuGet, versión 5.x, o se puede agregar desde el conjunto de extensiones v3 mediante la incorporación de lo siguiente al archivo :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[3.3.0, 4.0.0)"
  }
}

Para obtener más información, consulte Actualización de las extensiones.

Functions 1.x

Las aplicaciones de Functions 1.x tienen automáticamente una referencia al paquete NuGet Microsoft.Azure.WebJobs, versión 2.x.

Versión de SDK de Azure Storage en Functions 1.x

En Functions 1.x, los desencadenadores y enlaces de Storage usan la versión 7.2.1 del SDK de Azure Storage (paquete NuGet WindowsAzure.Storage) Si hace referencia a una versión diferente del SDK de Storage y enlaza a un tipo de SDK de Storage en la signatura de función, el runtime de Functions puede notificar que no se puede enlazar con ese tipo. La solución es asegurarse de que el proyecto hace referencia a WindowsAzure.Storage 7.2.1.

configuración de host.json

En esta sección se describen los valores de configuración de la aplicación de funciones disponibles para las funciones que este enlace. Esta configuración solo se aplica cuando se usa la versión 5.0.0 de la extensión y versiones posteriores. El siguiente archivo host.json de ejemplo contiene solo la configuración de la versión 2.x+ para este enlace. Para obtener más información sobre la configuración de la aplicación de funciones en las versiones 2.x y posteriores, consulte la referencia de host.json para Azure Functions.

Nota

Esta sección no se aplica a las versiones de extensión anteriores a 5.0.0. Para esas versiones anteriores, no hay ninguna función de configuración para toda la aplicación de blobs.

{
    "version": "2.0",
    "extensions": {
        "blobs": {
            "maxDegreeOfParallelism": "4"
        }
    }
}
Propiedad Valor predeterminado Descripción
maxDegreeOfParallelism 8* (el número de núcleos disponibles) Número entero de invocaciones simultáneas permitidas para cada función desencadenada por un blob. El valor mínimo permitido es 1.

Pasos siguientes