Регистрация расширений привязки Функций Azure

Начиная с Функций Azure версии 2.x в среде выполнения функций по умолчанию содержатся только триггеры HTTP и таймера. Другие триггеры и привязки предлагаются в виде отдельных пакетов.

Приложения-функции библиотеки классов .NET используют установленные в проекте привязки как пакеты NuGet. Пакеты расширений позволяют приложениям-функциям не из библиотеки .NET использовать такие ж привязки без взаимодействия с инфраструктурой .NET.

В таблице приведены сведения, о том когда и каким образом регистрируются привязки.

Среда разработки Регистрация
в службе "Функции" версии 1.x
Регистрация
в службе "Функции" версии 2.x или более поздней
Портал Azure Автоматически Автоматически*
Non-.NET языки Автоматически Используйте пакеты расширений (рекомендуется) или устанавливайте расширения напрямую
Библиотека C# классов с использованием Visual Studio С помощью средств NuGet С помощью средств NuGet
Библиотека классов C# с использованием Visual Studio Code Н/Д С помощью .NET Core CLI

* Портал использует пакеты расширений, включая скрипт C#.

Пакеты расширений

По умолчанию пакеты расширений используются приложениями-функциями Java, JavaScript, PowerShell, Python, скриптов C# и пользовательских обработчиков для работы с расширениями привязки. В случаях, когда использовать пакеты расширений нельзя, вы можете явно установить расширения привязки вместе с проектом приложения-функции. Пакеты расширений поддерживаются для среды выполнения Функций версии 2.x и более поздних.

Пакеты расширений — это способ добавления предварительно определенного набора совместимых расширений привязки в приложение-функцию. У пакетов расширений есть версии. В каждой версии содержится определенный проверенный набор расширений привязки, работающих вместе. Выберите пакет расширений с учетом расширений, которые нужны вам в приложении.

При создании проекта Функций не из библиотеки .NET с помощью инструментов или на портале пакеты расширений уже включены в файле host.json приложения.

Ссылка на пакет расширений определяется в разделе extensionBundle файла host.json следующим образом:

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

В extensionBundle доступны следующие свойства:

Свойство Описание
идентификатор Пространство имен для наборов расширений Функций Microsoft Azure.
version Версия устанавливаемого пакета. В среде выполнения Функций всегда выбирается максимально допустимая версия, определенная в диапазоне версий. Приведенное выше значение версии допускает использование всех версий пакета от 3.3.0 до 4.0.0 (не включительно). Дополнительные сведения см. в разделе об интервальной нотации для указания диапазонов версий.

В таблице ниже приведены доступные в настоящее время версии стандартного пакета Microsoft.Azure.Functions.ExtensionBundle и ссылки на расширения в этом пакете.

Версия пакета Версия в host.json Включенные расширения
1.x [1.*, 2.0.0) См. extensions.json, использованный для создания пакета
2.x [2.*, 3.0.0) См. extensions.json, использованный для создания пакета
3.x [3.3.0, 4.0.0) См. extensions.json, использованный для создания пакета1
4.x [4.0.0, 5.0.0) См. extensions.json, использованный для создания пакета1

1 Версия 4.x пакета расширений в настоящее время не включает привязки Web PubSub. Если вашему приложению требуется Web PubSub, необходимо продолжать использовать версию 3.x.

Примечание

Хотя host.json поддерживает пользовательские диапазоны для version, следует использовать значение версии из этой таблицы.

Установка расширений напрямую

Для скомпилированных проектов библиотеки классов C# (внутрипроцессных и изолированных рабочих процессов) необходимо установить пакеты NuGet для необходимых расширений, как обычно. Примеры см. в руководстве разработчика Visual Studio Code или руководстве разработчика Visual Studio.

Для языков не из библиотеки .NET и скриптов C#: если использовать пакеты расширений нельзя, необходимо вручную установить необходимые расширения привязки в локальном проекте. Самый простой способ — использовать Azure Functions Core Tools. Дополнительные сведения см. в статье Установка расширений.

Для разработки только на портале необходимо вручную создать файл extensions.csproj в корне приложения-функции. Дополнительные сведения см. в статье Установка расширений вручную.

Дальнейшие действия