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