Регистрация расширений привязки Функций 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 в корне приложения-функции. Дополнительные сведения см. в статье Установка расширений вручную.