1

我在门户中收到以下信息:

删除 [THUMBPRINT HERE] 时出错。服务器返回 500 错误。你想再试一次吗?

我怀疑证书上挂着一个天蓝色的批处理池/节点,但是使用该证书的池/节点已经被删除(至少它们在门户中不可见)。

有没有办法强制删除证书,在正常操作中,我的发布管道依赖于能够删除证书。


用 fiddler 拦截 azure powershell,我可以在 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"
  }
}

我还删除了任何相应的任务和时间表,仍然没有运气。

4

1 回答 1

1

(披露:在撰写本文时,我在 Azure Batch 团队工作,但不在核心服务上。)

500 错误通常是暂时的,可能表示 Batch 内部的负载过重(与 503s 相反,它表示 Batch API 本身的负载过重)。内部超时错误反映了这一点。对高成本但通常使用率低的特定 API 的需求可能出现意外飙升。我们监控并缓解这些问题,但有时具有异常使用模式的极高负载可能会影响服务响应能力。我建议您每 10-15 分钟继续尝试一次,如果它在几个小时内没有自行清除,请尝试提出支持票。

目前没有办法强制删除证书。这是一种内部安全机制,可确保 Batch 永远不会处于必须部署不再拥有副本的证书的位置。您可以通过 Batch UserVoice 请求此类功能。

最后,关于您的具体情况,您可以查看是否可以重新调整您的工作流程,使其不依赖于证书删除。例如,您可以有一个垃圾收集工具(可能使用 Azure Functions 或 Azure Scheduler 运行)定期清除旧证书。可以说这增加了更多的复杂性(并且可以说不应该是必要的),但它提高了弹性并在其他方面简化了解决方案,因为您的主要路径不再需要过多担心延迟和超时。如果您想探索这条道路,那么也许可以在 Batch 论坛上发帖,并与团队就可能的设计方法展开讨论。

于 2017-08-24T00:48:58.637 回答