Сброс функциональной клавиши Azure? - PullRequest
0 голосов
/ 19 октября 2018

Я только что закончил исправлять функцию (триггер HTTP), которая перестала работать из-за развертывания функций Azure Runtime 2.0.12050-alpha .Ошибка, отображаемая на портале, была The binding type(s) 'someType' are not registered.

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

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

Возможно ли, что функциональная клавиша была сброшена без моего ведома?
(Это небольшой побочный проект, и я единственный разработчик.)

Это из-за нового развертывания функций времени выполнения или ключи периодически сбрасываются?

1 Ответ

0 голосов
/ 22 октября 2018

См. Изменения в управлении ключами в функциях V2 .

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

Файловая система всегда использоваласьхранить секреты для 1.x и 2.x времени выполнения.Для версии 2.x начните со времени выполнения 2.0.12050-alpha , секреты функций по умолчанию хранятся в хранилище больших двоичных объектов (AzureWebJobsStorage в настройках приложения), пользователи могут переключаться на файлы, устанавливая приложение AzureWebJobsSecretStorageTypeзначение files.

Для обеспечения плавного перехода функция реализовала временный путь переноса кода ключа, который автоматически копировал бы секреты из файловой системы в хранилище больших двоичных объектов. НО этот внутренний метод не активирован во время выполнения 2.0.12115, поскольку он был несколько подвержен ошибкам.

Это означает:

Если вы пропинговали время выполнения вашей функции (установите * 1021)* до вспомогательной версии <= <code>2.0.11961-alpha) до развертывания 2.0.12050-alpha и отпустите команду ping (измените FUNCTIONS_EXTENSION_VERSION на основную версию ~2) после развертывания 2.0.12115 (сейчас это 2.0.12134) ваших функциональных клавишожидается, что он будет изменен.

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

Я всегда оставляю среду выполнения основнойверсия (beta до 2.x - GA и ~2 после), и я могу подтвердить, что мои ключи не подвержены влиянию.Что касается API-ключа SendGrid, он управляется службой SendGrid, отличной от Azure, поэтому на него нельзя повлиять.Кстати, мой ключ API SendGrid, сгенерированный несколько месяцев назад, все еще работает прямо сейчас.

...