Поделиться через


Регистрация расширений привязки Функций 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#

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

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

По умолчанию пакеты расширений обеспечивают поддержку привязки функций на следующих языках:

  • Java
  • JavaScript
  • PowerShell
  • Python
  • C# (язык сценариев)
  • Другие (пользовательские обработчики)

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

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

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

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

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

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

Свойство Description
id Пространство имен для наборов расширений Функций Microsoft Azure.
version Диапазон версий устанавливаемого пакета. В среде выполнения Функций всегда выбирается максимально допустимая версия, определенная в диапазоне версий. Например, version диапазон значений [4.0.0, 5.0.0) позволяет использовать все версии пакета от 4.0.0 до 5.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 , используемые для создания пакета.
4.x [4.0.0, 5.0.0) См . extensions.json , используемые для создания пакета.

Примечание.

Несмотря на то, что host.json поддерживает пользовательские диапазоны version, следует использовать значение диапазона версий из этой таблицы, например [4.0.0, 5.0.0). Полный список выпусков пакета расширений и версий расширений в каждом выпуске см. на странице выпуска пакетов расширений.

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

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

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

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

Следующие шаги