View a markdown version of this page

PutObject (SOAP API) - Amazon Simple Storage Service

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

PutObject (SOAP API)

注意

Amazon S3 的 SOAP API 不適用於新客戶,並且將於 2025 年 8 月 31 日接近生命週期結束 (EOL)。我們建議您使用 REST API 或 AWS SDKs。

PutObject 操作會將物件新增至儲存貯體。物件的資料會附加為 DIME 連接。

為了確保物件不會在網路上損毀,您可以計算物件的 MD5、將物件 PUT 轉換為 Amazon S3,並將傳回的 Etag 與計算的 MD5 值進行比較。

如果儲存貯體中已存在物件,則新物件會覆寫它,因為 Amazon S3 會儲存最後一個寫入請求。不過,Amazon S3 是分散式系統。如果 Amazon S3 幾乎同時收到相同物件的多個寫入請求,所有物件都可能儲存,即使最後只有一個獲勝。Amazon S3 不提供物件鎖定;如果您需要,請務必將其建置到您的應用程式層。

範例

此範例會將一些資料和中繼資料放入「引號」儲存貯體的「Nelson」物件中,讓使用者 (通常是擁有者) FULL_CONTROL存取物件,並讓匿名方讀取物件。在此範例中,不會顯示實際附件。

Sample Request

<PutObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <ContentLength>5</ContentLength> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser"> <ID>a9a7b886d6241bf9b1c61be666e9</ID> <DisplayName>chriscustomer</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers<URI> </Grantee> <Permission>READ</Permission> </Grant> </AccessControlList> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2007-05-11T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </PutObject>

Sample Response

<PutObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <PutObjectResponse> <ETag>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> <LastModified>2006-03-01T12:00:00.183Z</LastModified> </PutObjectResponse> </PutObjectResponse>

元素

  • Bucket: 要新增物件的儲存貯體。

  • Key: 要指派給物件的金鑰。

  • Metadata: 您可以在中繼資料元素中提供名稱值中繼資料對。這些會與 物件一起存放。

  • ContentLength: 資料的長度,以位元組為單位。

  • AccessControlList: 資源的存取控制清單。此元素是選用的。如果省略,請求者會獲得物件的FULL_CONTROL存取權。如果物件已存在,則會取代預先存在的存取控制政策。

回應

  • ETag: 實體標籤是 物件的 MD5 雜湊,您可以使用 對物件執行條件式擷取GetObjectExtended。ETag 只會反映物件內容的變更,而不是其中繼資料。

  • LastModified: 已儲存物件的 Amazon S3 時間戳記。

存取控制

若要將物件放入儲存貯體,您必須擁有儲存貯體的WRITE存取權。

相關資源