Тайм-аут при удалении сертификата пакетной службы Azure

Я получаю на портале следующее:

При удалении [ОТПЕЧАТКА ЗДЕСЬ] произошла ошибка. Сервер вернул ошибку 500. Хотите попробовать еще раз?

Я подозреваю, что на сертификате висит пул / узел пакетной обработки Azure, однако пул / узлы, использующие этот сертификат, уже удалены (по крайней мере, они не видны на портале).

Есть ли способ принудительно удалить сертификат, при нормальной работе мой конвейер выпуска зависит от возможности удалить сертификат.


Перехватывая лазурную оболочку PowerShell с помощью fiddler, я вижу это в HTTP-ответе, поэтому похоже, что время ожидания истекло.

{
  "odata.metadata":"https://ttmdpdev.northeurope.batch.azure.com/$metadata#Microsoft.Azure.Batch.Protocol.Entities.Container.errors/@Element","code":"OperationTimedOut","message":{
    "lang":"en-US","value":"Operation could not be completed within the specified time.\nRequestId:[REQUEST ID HERE]\nTime:2017-08-23T16:54:23.1811814Z"
  }
}

Я также удалил все соответствующие задачи и расписания, все равно не повезло.


person Alex KeySmith    schedule 23.08.2017    source источник


Ответы (1)


(Раскрытие информации: на момент написания я работаю в группе пакетной службы Azure, но не в основной службе.)

Ошибки 500 обычно являются временными и могут представлять большую нагрузку на внутреннее устройство пакетной обработки (в отличие от ошибок 503, которые представляют собой большую нагрузку на сам пакетный API). Это отражает внутренняя ошибка тайм-аута. Возможно, произошел неожиданный всплеск спроса на определенные API-интерфейсы, которые являются дорогостоящими, но обычно редко используются. Мы отслеживаем и смягчаем их, но иногда чрезвычайно высокая нагрузка с необычной схемой использования может повлиять на скорость отклика службы. Я предлагаю вам продолжать попытки каждые 10-15 минут, и если через несколько часов ничего не изменится, попробуйте подать заявку в службу поддержки.

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

Наконец, что касается вашего конкретного сценария, вы можете увидеть, возможно ли изменить рабочий процесс, чтобы он не зависел от удаления сертификата. Например, у вас может быть инструмент для сбора мусора (возможно, работающий с использованием функций Azure или планировщика Azure), который периодически очищает старые сертификаты. Можно утверждать, что это добавляет больше сложности (и, возможно, в этом нет необходимости), но это повышает устойчивость и другими способами упрощает решение, поскольку ваш основной путь больше не должен так сильно беспокоиться о задержках и тайм-аутах. Если вы хотите изучить этот путь, возможно, разместите сообщение на форумах, посвященных пакетной обработке, и начните обсуждение с командой возможных подходов к проектированию.

person itowlson    schedule 24.08.2017
comment
Большое спасибо! Теперь он работает, спасибо. Хорошая идея для очистки с помощью планировщика Azure. Я придерживался использования одного сертификата, чтобы его можно было легко найти по его общему имени для настраиваемых действий фабрики данных. Мне нравится ваше предложение. - person Alex KeySmith; 24.08.2017