Общие сведения о привязке хранилища BLOB-объектов Azure для службы "Функции Azure"
Служба "Функции Azure" интегрируются со службой хранилища Azure с помощью триггеров и привязок. Интеграция с хранилищем BLOB-объектов позволяет создавать функции, реагирующие на изменения в данных BLOB-объектов, а также в значениях чтения и записи.
Действие | Тип |
---|---|
Выполнение функции при внесении изменений в данные хранилища BLOB-объектов | Триггер |
Чтение данных из хранилища BLOB-объектов в функции | Входные привязки |
Разрешить функции записи данных хранилища BLOB-объектов | Выходная привязка |
Установка расширения
Устанавливаемый пакет расширения NuGet зависит от режима C#, который используется в приложении-функции:
Функции выполняются в том же процессе, что и хост-процесс функций. Дополнительные сведения см. в статье Разработка функций библиотеки классов C# с помощью службы "Функции Azure".
Функциональные возможности расширения отличаются в зависимости от версии расширения:
В этой версии появляется возможность подключения с использованием удостоверения, а не секрета. Руководство по настройке приложений-функций с помощью управляемых удостоверений см. в руководстве по созданию приложения-функции с подключениями на основе удостоверений.
Эта версия позволяет выполнить привязку к типам из Azure.Storage.Blobs. Дополнительные сведения об отличиях этих новых типов WindowsAzure.Storage
и Microsoft.Azure.Storage
способах их миграции в Руководстве по их миграции из Руководства по миграции Azure.Storage.Blobs.
Это расширение доступно путем установки пакета Microsoft.Azure.WebJobs.Extensions.Storage.Blobs NuGet версии 5.x.
С использованием .NET CLI:
dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage.Blobs --version 5.0.0
Примечание
Большие двоичные объекты Azure, очереди Azure и таблицы Azure теперь используют отдельные расширения и ссылаются по отдельности. Например, чтобы использовать триггеры и привязки для всех трех служб во внутрипроцессном приложении .NET, требуется добавить в свой проект следующие пакеты:
- Microsoft.Azure.WebJobs.Extensions.Storage.Blobs
- Microsoft.Azure.WebJobs.Extensions.Storage.Queues
- Microsoft.Azure.WebJobs.Extensions.Tables
Ранее расширения поставлялись вместе как Microsoft.Azure.WebJobs.Extensions.Storage, версия 4.x. Этот же пакет также имеет версию 5.x, которая ссылается на разделенные пакеты только для BLOB-объектов и очередей. Поэтому при обновлении ссылок на пакеты из более старых версий может потребоваться дополнительная ссылка на новый пакет NuGet Microsoft.Azure.WebJobs.Extensions.Tables. Кроме того, при ссылке на эти более новые разделенные пакеты убедитесь, что вы не ссылаетесь на более старую версию объединенного пакета хранилища, так как это приведет к конфликтам из-за двух определений одних и тех же привязок.
Установка пакета
Привязка хранилища BLOB-объектов входит в пакет расширений, который указан в файле проекта host.json. Возможно, потребуется изменить этот пакет, чтобы изменить версию привязки, а также в том случае если пакеты еще не установлены. Дополнительные сведения см. в разделе Пакет расширений.
В этой версии появляется возможность подключения с использованием удостоверения, а не секрета. Руководство по настройке приложений-функций с помощью управляемых удостоверений см. в руководстве по созданию приложения-функции с подключениями на основе удостоверений.
Эту версию расширения можно добавить из пакета расширений версии 3, добавив или заменив следующий код в файле host.json
:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Для получения дополнительных сведений см. раздел Обновление расширений.
Типы привязки
Типы привязки, поддерживаемые для .NET, зависят от версии расширения и режима выполнения C#, который может быть одним из следующих:
Библиотека внутрипроцессных классов — это скомпилированная функция C#, которая выполняется в том же процессе, что и среда выполнения Функций.
Выберите версию, чтобы просмотреть сведения о типе привязки для режима и версии.
Расширение BLOB-объектов Azure поддерживает типы параметров в соответствии с приведенной ниже таблицей.
Привязка | Типы параметров |
---|---|
Триггер BLOB-объектов | ПотокTextReader string byte[] BlobClient1 BlockBlobClient1 PageBlobClient1 AppendBlobClient1 BlobBaseClient1 |
Входные данные большого двоичного объекта | ПотокTextReader string byte[] BlobClient1 BlockBlobClient1 PageBlobClient1 AppendBlobClient1 BlobBaseClient1 IEnumerable<T> 2 |
Выходные данные большого двоичного объекта | ПотокTextWriter string byte[] |
1 Для типов клиентов требуется Access
, чтобы свойству атрибута было присвоено значение FileAccess.ReadWrite
.
2IEnumerable<T>
предоставляет перечисление больших двоичных объектов в контейнере. T
Здесь может быть любой из других поддерживаемых типов.
Примеры использования этих типов см. в разделе репозитория GitHub для расширения. Дополнительные сведения об отличиях этих новых типов и способах перехода на них см. в руководстве по переходу на BLOB-объекты службы хранилища Azure.
Параметры файла host.json
В этом разделе описываются параметры конфигурации приложения-функции, доступные для функций, использующих эту привязку. Эти параметры применяются только при использовании расширения версии 5.0.0 и более поздних версий. В приведенном ниже примере файла host.json содержатся только параметры этой привязки для версии 2.x или новее. Дополнительные сведения о параметрах конфигурации приложения-функции в версии 2.x или более поздней см. в статье Справочник по файлу host.json для Функций Azure.
Примечание
Этот раздел не применяется к версиям расширений до версии 5.0.0. Для этих более ранних версий нет параметров конфигурации приложения-функции для BLOB-объектов.
{
"version": "2.0",
"extensions": {
"blobs": {
"maxDegreeOfParallelism": 4
}
}
}
Свойство | По умолчанию | Описание |
---|---|---|
maxDegreeOfParallelism | 8 * (количество доступных ядер) | Целое число одновременных вызовов, разрешенное для каждой функции, активируемой с помощью BLOB-объекта. Минимальное допустимое значение — 1. |