Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Служба "Функции Azure" интегрируются со службой хранилища Azure с помощью триггеров и привязок. Интеграция с хранилищем BLOB-объектов позволяет создавать функции, реагирующие на изменения в данных BLOB-объектов, а также в значениях чтения и записи.
| Действие | Тип |
|---|---|
| Выполнение функции при внесении изменений в данные хранилища BLOB-объектов | Триггер |
| Чтение данных из хранилища BLOB-объектов в функции | Входная привязка |
| Разрешить функции записи данных хранилища BLOB-объектов | Выходная привязка |
Установка расширения
Устанавливаемый пакет расширения NuGet зависит от режима C#, который используется в приложении-функции:
Функции выполняются в изолированном рабочем процессе C#. Дополнительные сведения см. в руководстве по запуску Функции Azure C# в изолированном рабочем процессе.
Функциональные возможности расширения отличаются в зависимости от версии расширения:
В этой версии появляется возможность подключения с использованием удостоверения, а не секрета. Руководство по настройке приложений-функций с помощью управляемых удостоверений см. в руководстве по созданию приложения-функции с подключениями на основе удостоверений.
Эта версия позволяет выполнить привязку к типам из Azure.Storage.Blobs. Дополнительные сведения об отличиях этих новых типов WindowsAzure.Storage и Microsoft.Azure.Storage способах их миграции в Руководстве по их миграции из Руководства по миграции Azure.Storage.Blobs.
Эта версия поддерживает настройку триггеров и привязок с помощью интеграции .NET Aspire.
Добавьте расширение в проект, установив пакет NuGet Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs NuGet версии 5.x или более поздней версии.
С использованием .NET CLI:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
Примечание.
Большие двоичные объекты Azure, очереди Azure и таблицы Azure теперь используют отдельные расширения и ссылаются по отдельности. Например, чтобы использовать триггеры и привязки для всех трех служб в приложении изолированного процесса .NET, необходимо добавить в проект следующие пакеты:
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
- Microsoft.Azure.Functions.Worker.Extensions.Tables
Ранее расширения, отправленные вместе как Microsoft.Azure.Functions.Worker.Extensions.Storage версии 4.x. Этот же пакет также имеет версию 5.x, которая ссылается на разделенные пакеты только для BLOB-объектов и очередей. При обновлении ссылок на пакет из более старых версий может потребоваться дополнительно ссылаться на новый пакет NuGet Microsoft.Azure.Functions.Worker.Extensions.Tables . Кроме того, при ссылке на эти более новые разделенные пакеты убедитесь, что вы не ссылаетесь на более старую версию объединенного пакета хранилища, так как это приведет к конфликтам из-за двух определений одних и тех же привязок.
Если вы пишете приложение с помощью F#, необходимо также настроить это расширение в рамках конфигурации запуска приложения. В вызове ConfigureFunctionsWorkerDefaults() или ConfigureFunctionsWebApplication()добавьте делегат, принимающее IFunctionsWorkerApplication параметр. Затем в теле этого делегата вызовите ConfigureBlobStorageExtension() объект:
let hostBuilder = new HostBuilder()
hostBuilder.ConfigureFunctionsWorkerDefaults(fun (context: HostBuilderContext) (appBuilder: IFunctionsWorkerApplicationBuilder) ->
appBuilder.ConfigureBlobStorageExtension() |> ignore
) |> ignore
Установка пакета
Чтобы использовать это расширение привязки в приложении, убедитесь, что файл host.json в корне проекта содержит следующую extensionBundle ссылку:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
В этом примере значение указывает узлу version функций использовать версию пакета, которая по крайней мере [4.0.0, 5.0.0) меньше4.0.0, чем , которая включает все потенциальные версии 4.x.5.0.0 Эта нотация эффективно поддерживает ваше приложение в последней доступной дополнительной версии пакета расширений версии 4.x.
По возможности следует использовать последнюю версию пакета расширений и разрешить среде выполнения автоматически поддерживать последнюю дополнительную версию. Содержимое последнего пакета можно просмотреть на странице выпуска пакетов расширений. Дополнительные сведения см. в пакетах расширений функций Azure.
Типы привязки
Типы привязки, поддерживаемые для .NET, зависят от версии расширения и режима выполнения C#, что может быть одним из следующих типов:
Изолированная библиотека классов рабочих процессов, скомпилированная функция C# выполняется в процессе, изолированном от среды выполнения.
Выберите версию, чтобы просмотреть сведения о типе привязки для режима и версии.
Изолированный рабочий процесс поддерживает типы параметров в соответствии с таблицами ниже.
триггер большого двоичного объекта;
Триггер большого двоичного объекта может привязаться к следующим типам:
| Тип | Описание |
|---|---|
string |
Содержимое большого двоичного объекта в виде строки. Используется, когда содержимое большого двоичного объекта является простым текстом. |
byte[] |
Байты содержимого большого двоичного объекта. |
| Сериализуемые в JSON типы | Если большой двоичный объект содержит данные JSON, функции пытаются десериализировать данные JSON в обычный тип объекта CLR (POCO). |
| Поток1 | Входной поток содержимого большого двоичного объекта. |
|
BlobClient1, BlockBlobClient1, PageBlobClient1, AppendBlobClient1, BlobBaseClient1 |
Клиент, подключенный к большому двоичному объекту. Этот набор типов обеспечивает большую часть управления обработкой большого двоичного объекта и может использоваться для записи обратно в большой двоичный объект, если подключение имеет достаточно разрешений. |
1 Для использования этих типов необходимо ссылаться на Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs 6.0.0 или более поздней версии , а также общие зависимости для привязок типов ПАКЕТА SDK.
входная привязка большого двоичного объекта;
Если требуется, чтобы функция обрабатывала один большой двоичный объект, входная привязка большого двоичного объекта может привязаться к следующим типам:
| Тип | Описание |
|---|---|
string |
Содержимое большого двоичного объекта в виде строки. Используется, когда содержимое большого двоичного объекта является простым текстом. |
byte[] |
Байты содержимого большого двоичного объекта. |
| Сериализуемые в JSON типы | Если большой двоичный объект содержит данные JSON, функции пытаются десериализировать данные JSON в обычный тип объекта CLR (POCO). |
| Поток1 | Входной поток содержимого большого двоичного объекта. |
|
BlobClient1, BlockBlobClient1, PageBlobClient1, AppendBlobClient1, BlobBaseClient1 |
Клиент, подключенный к большому двоичному объекту. Этот набор типов предлагает большую часть управления для обработки БОЛЬШОго двоичного объекта и может использоваться для записи обратно в него, если подключение имеет достаточно разрешений. |
Если требуется, чтобы функция обрабатывала несколько больших двоичных объектов из контейнера, входная привязка большого двоичного объекта может привязаться к следующим типам:
| Тип | Описание |
|---|---|
T[] или List<T> где T находится один из типов входных привязок большого двоичного объекта |
Массив или список нескольких больших двоичных объектов. Каждая запись представляет один большой двоичный объект из контейнера. Вы также можете привязаться к любым интерфейсам, реализованным этими типами, например IEnumerable<T>. |
| BlobContainerClient1 | Клиент, подключенный к контейнеру. Этот тип предоставляет большую часть управления для обработки контейнера и может использоваться для записи в него, если подключение имеет достаточно разрешений. |
1 Для использования этих типов необходимо ссылаться на Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs 6.0.0 или более поздней версии , а также общие зависимости для привязок типов ПАКЕТА SDK.
выходная привязка большого двоичного объекта.
Если требуется, чтобы функция записывала в один большой двоичный объект, выходная привязка большого двоичного объекта может привязаться к следующим типам:
| Тип | Описание |
|---|---|
string |
Содержимое большого двоичного объекта в виде строки. Используется, когда содержимое большого двоичного объекта является простым текстом. |
byte[] |
Байты содержимого большого двоичного объекта. |
| Сериализуемые в JSON типы | Объект, представляющий содержимое БОЛЬШОго двоичного объекта JSON. Функции пытаются сериализовать обычный тип объекта CLR (POCO) в данные JSON. |
Если требуется, чтобы функция записывала в несколько больших двоичных объектов, выходная привязка большого двоичного объекта может привязаться к следующим типам:
| Тип | Описание |
|---|---|
T[] где T является одним из типов выходных привязок большого двоичного объекта |
Массив, содержащий содержимое для нескольких больших двоичных объектов. Каждая запись представляет содержимое одного большого двоичного объекта. |
Для других выходных сценариев создайте и используйте blobClient или BlobContainerClient с другими типами из Azure.Storage.Blobs напрямую. Пример использования внедрения зависимостей для создания типа клиента из пакета SDK Azure см. в статье "Регистрация клиентов Azure".
Типы привязки ПАКЕТА SDK
Типы пакетов SDK для BLOB-объектов службы хранилища Azure общедоступны! Чтобы приступить к работе с типами SDK для BLOB-объектов в Python, следуйте привязкам пакета SDK для Python .
Внимание
Для привязок типов SDK требуется модель программирования Python версии 2.
| Привязка | Типы параметров | Образцы |
|---|---|---|
| Триггер BLOB-объектов |
BlobClient, ContainerClient, StorageStreamDownloader |
BlobClient,ContainerClient,StorageStreamDownloader |
| Входные данные BLOB-объектов |
BlobClient, ContainerClient, StorageStreamDownloader |
BlobClient,ContainerClient,StorageStreamDownloader |
Параметры файла 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,
"poisonBlobThreshold": 1
}
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| maxDegreeOfParallelism | 8 * (количество доступных ядер) | Целочисленное число одновременных вызовов, разрешенное для всех функций, активированных большим двоичным объектом, в данном приложении-функции. Минимальное допустимое значение — 1. |
| poisonBlobThreshold | 5 | Целое число раз, чтобы попытаться обработать сообщение, прежде чем переместить его в очередь яда. Минимальное допустимое значение — 1. |