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


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

Среда выполнения Функций Azure изначально запускает триггеры HTTP и таймера. Поведение других поддерживаемых триггеров и привязок реализовано в отдельных пакетах расширений.

Проекты, использующие библиотеку классов .NET, используют расширения привязки, установленные в проекте в качестве пакетов NuGet.

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

Extension bundles

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

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

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

В маловероятном случае, когда нельзя использовать пакет расширений, необходимо явно установить расширения.

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

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

Не забудьте получить правильный пакет, так как пространство имен отличается в зависимости от модели выполнения:

Execution model Namespace
Изолированный рабочий процесс Microsoft.Azure.Functions.Worker.Extensions.*
In-process Microsoft.Azure.WebJobs.Extensions.*

Функции Azure предоставляют пакеты расширений для проектов non-.NET. Эти пакеты содержат полный набор расширений привязки, которые проверены на совместимость. Если у вас возникли проблемы совместимости между двумя или более расширениями привязки, просмотрите совместимые сочетания версий расширений. Поддерживаемые сочетания расширений привязки см. на странице выпуска пакетов расширений.

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

Чтобы вручную установить расширения привязки, выполните приведенные далее действия.

  1. Удалите ссылку на пакет расширений из host.json файла.

  2. func extensions install Используйте команду в azure Functions Core Tools, чтобы создать необходимый extensions.csproj файл в корневом каталоге локального проекта.

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

  3. Измените extensions.csproj файл, явно добавив PackageReference элемент для каждого расширения привязки и версии, которую требует ваше приложение.

  4. Проверьте функциональность вашего приложения локально, а затем повторно разверните проект, включая extensions.csproj, в ваше функциональное приложение в Azure.

Как можно скорее переключите приложение обратно на использование последнего поддерживаемого пакета расширений.