如此处所述https://aws.amazon.com/blogs/aws/new-amazon-ec2-feature-idempotent-instance-creation/ AWS CLI强制执行aws ec2 run-instances --cli-input-json命令。 不幸的是,没有关于如何生成客户端令牌的文档。
我确实发现aws ec2 describe-instances结果中有一个ClientToken字段,但是如果你尝试使用一个,你当然会得到下面的错误:
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 ?
你做一个!
把任何string<64个字符将工作。 describe调用只是简单的给你返回用于创build实例的客户端令牌string
那么,这个想法是你处理这样的失败。
自从我编写这个代码以来已经很久了,但是我相信当我这样做时,我的工作人员使用SQS消息ID作为客户端令牌,所以如果我的工作者失败,或者sqs交付两次,我不会泄露实例。