确保 StartSnapshot API 请求中的幂等性 - Amazon EBS

确保 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