Триггер BLOB-функции функций Azure - используйте одинаковые квитанции для разных имен хостов и новых версий функции.

Я использую функции Azure с триггером BLOB-объектов и с временем выполнения 2.x. После выполнения функции среда выполнения добавляет получение BLOB-объектов в расположенное ниже расположение (azure-webjob-hosts>blobreceipt>)

Есть ли способ заставить время выполнения использовать тот же hostnameid в пути (в данном случае это 8a76f42c1c01-2137340777)? Потому что, если запустить функцию локально или опубликовать новую версию кода, она будет использовать другой идентификатор хоста (например, macbook-id).

Основная проблема, когда я бегу func azure functionapp publish он будет запрашивать все существующие большие двоичные объекты с новой версией кода, даже если новая версия имеет то же имя функции, потому что будет использовать другой идентификатор хоста / функции для проверки поступлений.

Я знаю, что во время выполнения v1 вы могли бы добавить id в host.json. Я не вижу такой опции во время выполнения v2.

Редактировать:

Еще одна вещь. Как раз этим утром я узнал, что моя функция снова распространяется на все объекты. Когда я просматривал blobreceipts, я вижу, что хостид изменился, и есть новый пакет квитанций для нового идентификатора хоста. Идентификатор хоста изменился, хотя я не делал никаких развертываний. Как это возможно? Я также сообщил об ошибке в coretools по поводу изменения хоста при публикации. https://github.com/Azure/azure-functions-core-tools/issues/1012

Имя приложения altamente-prod-svc-shopify-background, Но идентификатор хоста d7031c9b43fc-2137340777, Я удалил все квитанции, чтобы сделать больше тестов на данный момент, но вы можете увидеть в журналах, что функция была запущена снова этим утром сама по всем моим 7 каплям. Пока есть только одна функция (а также функция WarmUp, которая появилась автоматически). Я создал приложение linux func на портале Azure без функций, а затем только что опубликовал его с помощью основных инструментов моего Mac.

0 ответов

В отчете об ошибке Функций Azure, на который вы ссылаетесь, есть обходной путь. В основном, установитеAzureFunctionsWebHost:hostidв настройках приложения на какое-то явное значение. Я использую автономную среду выполнения функций, а Kubernetes не допускает двоеточия в переменных среды, поэтому я использовал обходной путь настройкиAzureFunctionsWebHost__hostid вместо этого, что тоже работает.

Другие вопросы по тегам