

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

# PutObject (SOAP API)
<a name="SOAPPutObject"></a>

**注意**  
 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 不提供物件鎖定；如果您需要，請務必將其建置到您的應用程式層。

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

```
 1. <PutObject xmlns="https://doc.s3.amazonaws.com/2006-03-01">
 2.   <Bucket>quotes</Bucket>
 3.   <Key>Nelson</Key>
 4.   <Metadata>
 5.     <Name>Content-Type</Name>
 6.     <Value>text/plain</Value>
 7.   </Metadata>
 8.   <Metadata>
 9.     <Name>family</Name>
10.     <Value>Muntz</Value>
11.   </Metadata>
12.   <ContentLength>5</ContentLength>
13.   <AccessControlList>
14.     <Grant>
15.       <Grantee xsi:type="CanonicalUser">
16.         <ID>a9a7b886d6241bf9b1c61be666e9</ID>
17.         <DisplayName>chriscustomer</DisplayName>
18.       </Grantee>
19.       <Permission>FULL_CONTROL</Permission>
20.     </Grant>
21.     <Grant>
22.       <Grantee xsi:type="Group">
23.         <URI>http://acs.amazonaws.com/groups/global/AllUsers<URI>
24.       </Grantee>
25.       <Permission>READ</Permission>
26.     </Grant>
27.   </AccessControlList>
28.   <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId>
29.   <Timestamp>2007-05-11T12:00:00.183Z</Timestamp>
30.   <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature>
31. </PutObject>
```
`Sample Response`  

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

## 元素
<a name="SOAPPutObjectElements"></a>
+  `Bucket:` 要新增物件的儲存貯體。
+ `Key:` 要指派給物件的金鑰。
+ `Metadata:` 您可以在中繼資料元素中提供名稱值中繼資料對。這些會與 物件一起存放。
+ `ContentLength:` 資料的長度，以位元組為單位。
+ `AccessControlList:` 資源的存取控制清單。此元素是選用的。如果省略，請求者會獲得物件的`FULL_CONTROL`存取權。如果物件已存在，則會取代預先存在的存取控制政策。

## 回應
<a name="SOAPPutObjectResponse"></a>
+ `ETag:` 實體標籤是 物件的 MD5 雜湊，您可以使用 對物件執行條件式擷取`GetObjectExtended`。ETag 只會反映物件內容的變更，而不是其中繼資料。
+ `LastModified:` 已儲存物件的 Amazon S3 時間戳記。

## 存取控制
<a name="SOAPPutObjectAccessControl"></a>

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

## 相關資源
<a name="SOAPPutObject_RelatedResources"></a>
+  [CopyObject (SOAP API)](SOAPCopyObject.md) 