AWS CLI 删除CloudFront分发 - InvalidIfMatchVersion

8

我正在尝试通过AWS CLI删除一个CloudFront分发。操作如下:

aws cloudfront delete-distribution --id <DISTRIBUTION-ID>

我遇到了以下错误:
A client error (InvalidIfMatchVersion) occurred when calling the DeleteDistribution operation: 
The If-Match version is missing or not valid for the resource.

我不太明白这个错误的含义以及如何避免它。

根据此文档,我认为需要先禁用分发。但是如果是这样的话-我该如何使用CLI来实现呢?

1个回答

12

您收到了什么错误?在修改分发时,您没有向CloudFront API提供Etag。可能的原因是,您没有使用当前更改覆盖其他人所做的更改。

要获取Etag,运行以下命令:

$ aws cloudfront get-distribution-config --id E123456

截断的示例输出:

{ "ETag": "ETAGEXAMPLE",

$ aws cloudfront delete-distribution --id E123456 --if-match ETAGEXAMPLE

最终,您将会得到:

"调用DeleteDistribution操作时发生了客户端错误(DistributionNotDisabled):您尝试删除的分发尚未被禁用。"

您需要提交一个更新来禁用您的分发,然后才能删除它。


非常感谢!不过第一行看起来有点问题,似乎以逗号结尾? - Alexander Presber
已更新以反映其被截断。我的示例正在调用etag所在的部分。 - imperalix
明白了,谢谢!现在我仍然在为必要的状态更新而苦苦挣扎,也许你也可以在这方面提供帮助:https://dev59.com/x4Pba4cB1Zd3GeqP0P8N - Alexander Presber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接