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


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

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

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

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

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

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

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

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

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

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

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

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

Модель выполнения Пространство имен
Изолированный рабочий процесс Microsoft.Azure.Functions.Worker.Extensions.*
В процессе Microsoft.Azure.WebJobs.Extensions.*

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

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

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

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

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

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

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

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

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