StartSnapshot API リクエストのべき等性を確保
べき等性は、API リクエストが必ず 1 回だけで完了するようにします。べき等リクエストでは、元のリクエストが正常に完了した場合、その後の再試行は元の成功したリクエストの結果を返し、追加の効果はありません。
StartSnapshot API は、クライアントトークンを使用したべき等をサポートしています。クライアントトークンは、API リクエストを行うときに指定する一意の文字列です。API リクエストが正常に完了した後で、同じクライアントトークンと同じリクエストパラメータを使用して API リクエストを再試行すると、元のリクエストの結果が返されます。リクエストの再試行で同じクライアントトークンを使用し、リクエストパラメータの 1 つ以上を変更すると、ConflictException エラーが返されます。
独自のクライアントトークンを指定しない場合、AWS SDK はリクエストのクライアントトークンを自動的に生成し、それがべき等であることを確認します。
クライアントトークンには、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