確保 StartSnapshot API 請求中的冪等性 - Amazon EBS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

確保 StartSnapshot API 請求中的冪等性

冪等性可確保 API 請求只完成一次。使用等冪請求,若成功完成原始請求,後續重試會傳回原始成功請求的結果,而且它們沒有其他效果。

StartSnapshot API 支援使用用戶端標記的冪等性。用戶端標記是您在提出 API 請求時指定的唯一字串。如果您在成功完成後使用相同的用戶端標記和相同的請求參數重試 API 請求,則會傳回原始請求的結果。如果您使用相同的用戶端字符重試請求,但變更一或多個請求參數,則會傳回 ConflictException 錯誤。

如果您未指定自己的用戶端字符, AWS SDKs 會自動為請求產生用戶端字符,以確保其具有等冪性。

用戶端標記可以是任何包含最多 64 個 ASCII 字元的字串。對於不同的請求,您不應該重複使用相同的用戶端字符。

使用 API 使用您自己的用戶端字符發出冪等的啟動 Napshot 請求

指定 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 }
若要使用您自己的用戶端標記建立具冪等性的 startsNapshot 請求,請使用 AWS CLI

指定 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