Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как пакеты расширений позволяют коду функции использовать все триггеры и привязки, поддерживаемые Функциями Azure. Вы также узнаете о уровнях поддержки и политиках для приложений при использовании пакетов расширений.
Эта статья относится только к разработчикам функций Azure, использующим non-.NET языки. Сведения о добавлении расширений привязки непосредственно в приложения функций C# см. в статье "Регистрация расширений привязки функций Azure".
Overview
Пакеты расширений добавляют предопределенный набор совместимых расширений привязки в приложение-функцию. Пакет содержит все расширения привязки, поддерживаемые в настоящее время функциями. У пакетов расширений есть версии. Каждая версия содержит определенный набор версий расширения привязки, которые проверяются для совместной работы.
По возможности всегда следует использовать последнюю версию пакета в приложении.
При создании проекта Функций Azure из шаблона не на основе .NET пакеты расширений уже включены в файле приложения host.json.
Определение ссылки на пакет расширений
Вы определяете ссылку на пакет расширений в host.json файле проекта, добавив extensionBundle раздел, как в следующем примере:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
В этом примере значение version указывает хосту функций использовать версию пакета, которая как минимум [4.0.0, 5.0.0), но меньше 4.0.0, охватывая все потенциальные версии 4.x. Эта нотация эффективно поддерживает ваше приложение в последней доступной дополнительной версии пакета расширений версии 4.x.
В extensionBundle доступны следующие свойства:
| Property | Description |
|---|---|
id |
Пространство имен для пакетов расширений Azure Functions. |
version |
Диапазон версий устанавливаемого пакета. Среда выполнения Функций Azure всегда выбирает максимальную допустимую версию, определяемую диапазоном версий или интервалом. Например, version диапазон значений [4.0.0, 5.0.0) позволяет всем версиям пакетов от 4.0.0 до (но не включая) 5.0.0. Дополнительные сведения см. в разделе об интервальной нотации для указания диапазонов версий. |
Подсказка
Вы также можете увидеть диапазон версий, определенный в host.json как [4.*, 5.0.0), который интерпретируется так же, как [4.0.0, 5.0.0).
Версии пакета
В этой таблице перечислены все Microsoft.Azure.Functions.ExtensionBundle версии и текущее состояние поддержки:
| Версия пакета | Версия в host.json | Состояние поддержки* |
|---|---|---|
| 4.x | [4.0.0, 5.0.0)[4.*, 5.0.0) |
Active |
| 3.x | [3.3.0, 4.0.0) |
Устарело |
| 2.x | [2.*, 3.0.0) |
Устарело |
| 1.x | [1.*, 2.0.0) |
Устарело |
* Устаревшие версии пакета могут включать устаревшие версии расширения привязки. Для оптимальной поддержки и надежности необходимо обновить до пакета версии 4.x.
По умолчанию пакеты расширений определяются с помощью диапазонов версий, что гарантирует, что используется последняя дополнительная версия пакета. Выберите ссылку на версию в таблице, чтобы просмотреть extensions.json файл, определяющий последний пакет для этой основной версии.
Рекомендации по пакетам расширений
При работе с пакетами расширений следует учитывать следующие рекомендации.
- По возможности следует задать значение диапазона
versionвhost.jsonиз предыдущей таблицы, например,[4.0.0, 5.0.0), вместо определения настраиваемого диапазона. - Используйте последний диапазон версий, чтобы получить оптимальную производительность приложения и доступ к новейшим функциям.
- В маловероятном случае, когда нельзя использовать пакет расширений, необходимо явно установить расширения.
- При обновлении расширений, используемых развернутыми приложением, функции загружают новые версии расширений из конечной
cdn.functions.azure.comточки. Для успешного обновления расширений конечная точкаcdn.functions.azure.comдолжна быть доступна функциональному приложению.
Обновите пакеты расширений
Важно сохранить версию пакета up-to-date, чтобы ваши приложения могли продолжать иметь право на новые функции, исправления безопасности и оптимизацию производительности.
Чтобы обновить приложение до последнего пакета, измените файл host.json в корне проекта приложения. Задайте значение extensionBundle.version[4.0.0,5.0.0), которое должно выглядеть следующим образом в файле host.json:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
При обновлении версии пакета расширений, используемой приложением, следует учитывать следующие рекомендации.
- Содержимое последнего пакета 4.x всегда можно найти на этой странице выпуска в репозитории.
- Ознакомьтесь со справочной документацией по любым расширениям, используемым приложением для поиска критических изменений между версиями. Список версий расширений, включенных в пакет по умолчанию, см
extension.json. в файле проекта, связанном с этой таблицей. Вы можете просмотреть страницу выпусков пакета в репозитории пакетов для определенных тегов версии пакета. - Всегда проверяйте приложение локально после обновления версии пакета, чтобы обеспечить совместимость с обновленными расширениями. Для локального запуска приложения-функции можно использовать команду func start в Azure Functions Core Tools или F5 в Visual Studio или Visual Studio Code.
- Способ обновления расширений на основе изменений версии пакета в файле host.json зависит от среды приложения:
- Локальный проект: расширения обновляются локально при запуске Core Tools через команду
func startили при отладке в средствах разработки. - Функциональное приложение: расширения обновляются при развертывании обновленного файла host.json в вашем функциональном приложении в Azure.
- Локальный проект: расширения обновляются локально при запуске Core Tools через команду
Политика поддержки пакетов расширений
Выпуски основных версий пакета расширений могут возникать, когда в одном из содержащихся расширений привязки возникают критические обновления. Эти критические изменения расширения требуют обновления пакета, чтобы оставаться совместимым с базовыми пакетами SDK Azure. Обновление пакета гарантирует, что приложения продолжают получать новые функции, улучшения производительности и полную поддержку продуктов.
Замечание
Так как обновления пакета расширений управляются обновлениями базовых пакетов SDK Azure, цикл поддержки пакетов расширений обычно следует политикам поддержки базовых пакетов SDK Azure.
Корпорация Майкрософт уведомляет вас о том, что пакет расширений или версия расширения привязки устарела. Эти уведомления могут отображаться в разных частях интерфейса функций, таких как в журналах узлов, таблицах Application Insights или на портале Azure. При обнаружении этих уведомлений необходимо начать процесс планирования и обновления приложений-функций до последней поддерживаемой версии пакета расширений.
Цикл поддержки пакетов расширений следует следующим различным этапам:
| Phase | Description |
|---|---|
| Preview | Предварительные версии определенных расширений привязки поддерживаются в пакете расширений предварительной версии (Microsoft.Azure.Functions.ExtensionBundle.Preview). Этот пакет расширений предварительной версии можно использовать, чтобы воспользоваться предварительными расширениями и новыми поведениями в существующих расширениях, прежде чем они становятся общедоступными. Дополнительные сведения см. в статье "Работа с пакетами расширений предварительной версии". |
| Активный | Последняя основная версия пакетов расширений считается активной. Мы рекомендуем эту версию для функциональных приложений. |
| Исключения | Версия пакета заменена более поздним выпуском и теперь устарела. После того как пакет не рекомендуется, он получает только критические исправления ошибок и обновления системы безопасности в течение ограниченного периода перекрытия. Это перекрытие обычно составляет не менее 12 месяцев, что позволяет планировать, тестировать и обновлять приложения до последней версии пакета. Приложения-функции, которые продолжают использовать устаревший пакет, по-прежнему могут работать на платформе. Однако для обеспечения доступа к новым функциям, улучшению производительности, исправлениям безопасности и полной поддержке необходимо обновить приложения-функции до поддерживаемой версии пакета. |
Вы можете просмотреть версии пакета расширений и их включенные расширения в репозитории пакетов расширений Функций Azure. Вы также можете просмотреть страницу выпусков azure SDK для инвентаризации всех расширений функций. Отдельные пакеты .NET можно найти на NuGet.org.
Работа с пакетами расширений предварительной версии
При выборе использования пакета расширений, не относящихся к общедоступным (GA), необходимо учитывать следующие моменты.
- Пакеты предварительной версии могут включать функции, которые по-прежнему находятся в процессе разработки и еще не готовы к использованию в рабочей среде. Они предназначены для оценки и тестирования в непроизводственных средах.
- Критические изменения происходят между предварительными версиями без предварительного уведомления. Они могут включать в себя изменения:
- Определения триггеров и привязки.
- Расширения, включенные в предварительную версию.
- Характеристики производительности и стабильность.
- Обновления системы безопасности могут потребовать обновления версий.
- Необходимо полностью протестировать пакеты предварительной версии в непроизводственных средах и избегать использования пакетов предварительной версии в рабочей среде. При использовании пакета предварительной версии в рабочей среде выполните следующие дополнительные меры предосторожности:
- Закрепите пакет за определенной, хорошо проверенной версией пакета, а не в диапазоне. Закрепление предотвращает автоматическое обновление версии пакета перед проверкой обновления в непроизводной среде.
- Переместите приложение в версию пакета общедоступной версии, как только функциональные возможности становятся доступными в полностью поддерживаемом выпуске пакета.
- Чтобы оставаться в курсе обновлений пакета, включая переход с предварительной версии на общедоступную версию, необходимо:
- Отслеживайте выпуски версий пакетов предварительной версии на странице выпуска для пакетов расширений.
- Отслеживайте справочную документацию, специфичную для расширения.
- Просмотрите версии пакетов NuGet для конкретных расширений предварительного просмотра, которые вы используете.
- Отслеживайте значительные обновления или изменения в журналах изменений, опубликованных в NuGet.org для каждого расширения предварительной версии.
Связанный контент
- Дополнительные сведения о расширениях привязки см. в статье "Регистрация расширений привязки функций Azure".