如此处所述https://aws.amazon.com/blogs/aws/new-amazon-ec2-feature-idempotent-instance-creation/ AWS CLI 强制执行命令的幂等性aws ec2 run-instances --cli-input-json
。不幸的是,没有关于如何生成客户端令牌的文档。
我确实发现结果中有一个ClientToken
字段aws ec2 describe-instances
,但是如果您尝试使用一个字段,当然您仍然会收到以下错误:
An error occurred (IdempotentParameterMismatch) when calling the RunInstances operation: Arguments on this idempotent request are inconsistent with arguments used in previous request(s).
如何获得与 一起使用的令牌--client-token
?
你补一个!
放置任何 < 64 个字符的字符串都可以。describe 调用只是将用于创建实例的客户端令牌字符串返回给您
然后的想法是你处理这样的失败。
我建议阅读http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html以了解有关幂等性的更多信息。
自从我编写此代码以来已经有很长时间了,但我相信当我这样做时,我让我的工作人员使用 SQS 消息 ID 作为客户端令牌,所以如果我的工作人员失败,或者 sqs 交付两次,我不会泄漏实例。