Триггер 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
вместо этого, что тоже работает.