确保 StartSnapshot API 请求中的幂等性
幂等性确保 API 请求仅完成一次。对于幂等请求,如果原始请求成功完成,则后续重试将返回原始成功请求的结果,它们不会有额外的影响。
StartSnapshot API 使用客户端令牌 支持幂等性。客户端令牌是您在发出 API 请求时指定的唯一字符串。如果在某个 API 请求成功完成后,您使用相同的客户端令牌和相同的请求参数重试该请求,则返回原始请求的结果。如果使用相同的客户端令牌重试请求,但更改了一个或多个请求参数,则返回 ConflictException
错误。
如果您没有指定自己的客户端令牌,AWS 开发工具包会自动为请求生成客户端令牌,以确保其幂等性。
客户端令牌可以是包含最多 64 个 ASCII 字符的任意字符串。您不应为不同的请求重复使用相同的客户端令牌。
通过 API,使用您自己的客户端令牌发出幂等 StartSnapshot 请求
指定 ClientToken
请求参数。
POST /snapshots HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity User-Agent:
<User agent parameter>
X-Amz-Date: 20200618T040724Z Authorization:<Authentication parameter>
{ "VolumeSize": 8, "ParentSnapshot": snap-123EXAMPLE1234567, "ClientToken": "550e8400-e29b-41d4-a716-446655440000", "Timeout": 60 }
通过 AWS CLI,使用您自己的客户端令牌发出幂等 StartSnapshot 请求
指定 client-token
请求参数。
$
C:\>
aws ebs start-snapshot --region us-east-2 --volume-size 8 --parent-snapshot snap-123EXAMPLE1234567 --timeout 60 --client-token 550e8400-e29b-41d4-a716-446655440000