

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

# 什麼是 Amazon S3？
<a name="Welcome"></a>

Amazon Simple Storage Service (Amazon S3) 是一項物件儲存服務，提供領先業界的可擴展性、資料可用性、安全性和效能。所有規模與產業的客戶都可使用 Amazon S3 來存放和保護適用於各種使用案例的任意資料量，例如資料湖、網站、行動應用程式、備份與還原、封存、企業應用程式、IoT 裝置和大數據分析。Amazon S3 提供管理功能，讓您可以最佳化、組織和設定對資料的存取，從而滿足您的特定業務、組織和合規要求。

本指南提供有關使用 Amazon S3 REST API 來建置在雲端中存放和擷取資料的應用程式，以開發人員為中心的資訊。

您可以使用支援 HTTP 的任何工具組來使用 REST API。您甚至可以使用瀏覽器來擷取物件，只要物件是可匿名讀取即可。

REST API 使用標準 HTTP 標頭與狀態碼，因此標準瀏覽器與工具組會如預期般運作。在某些區域中，我們新增了 HTTP 的功能 （例如，我們新增了標頭以支援存取控制）。在這些情況下，我們新增了符合標準 HTTP 用量樣式的新功能。

**注意**  
透過 HTTP 的 SOAP 支援已棄用，但仍可透過 HTTPS 使用。不過，SOAP 不支援新的 Amazon S3 功能。建議您透過以下連結使用此 REST API 或 AWS SDKs：  
[https://aws.amazon.com/developer/tools/](https://aws.amazon.com/developer/tools/?nc1=f_dr)

此開發人員指南包括：
+ [常見請求標頭](RESTCommonRequestHeaders.md) 和 [常見回應標頭](RESTCommonResponseHeaders.md)
+ [錯誤回應](ErrorResponses.md) 
+ [使用 POST 的瀏覽器型上傳AWS （簽章第 4 版）](sigv4-UsingHTTPPOST.md) 

**重要**  
在前往特定 API 主題之前，請閱讀以下有關身分驗證和存取控制的資訊。

對 Amazon S3 的請求可以進行身分驗證或匿名。已驗證的存取需要 AWS 登入資料，可用來驗證您的請求。

## API 呼叫建議
<a name="APICallRecs"></a>

直接從程式碼進行 REST API 呼叫可能會很麻煩。它要求您撰寫必要的程式碼來計算有效的簽章，以驗證您的請求。我們建議您改用下列替代方法：
+ 使用 [AWS SDKs](https://aws.amazon.com/developer/tools/?nc1=f_dr) 傳送您的請求。

  此外，請參閱[範例程式碼和程式庫](https://aws.amazon.com/code)。

  如果您使用 SDKs，則不需要編寫程式碼來計算請求身分驗證的簽章，因為 SDK 用戶端會使用您提供的存取金鑰來驗證您的請求。除非您有充分理由不這麼做，否則您應該一律使用 AWS SDKs。
+ 使用 AWS CLI 進行 Amazon S3 API 呼叫。如需設定 CLI 和範例 Amazon S3 命令的相關資訊， AWS 請參閱下列主題：

   《Amazon Simple Storage Service [AWS 使用者指南》中的設定 CLI](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setup-aws-cli.html)。 **

   *AWS Command Line Interface 《 使用者指南*》中的[將 Amazon S3 與 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-s3.html)搭配使用。

## 進行直接 REST API 呼叫
<a name="MakingRestAPICalls"></a>

**注意**  
`PUT` 要求標頭的大小限制為 8 KB。在 PUT 要求標頭中，系統定義中繼資料的大小限制為 2 KB。測量系統定義中繼資料大小的方式，是透過計算每個索引鍵和值之 US-ASCII 編碼中的位元組數目加總。

如果您想要進行自己的 REST API 呼叫，而不是使用上述其中一個替代方案，請謹記一些事項。
+ 若要從您的程式碼進行直接 REST API 呼叫，請使用有效的登入資料建立簽章，並在請求中包含簽章。如需各種身分驗證方法和簽章計算的資訊，請參閱 [驗證請求AWS （簽章第 4 版）](sig-v4-authenticating-requests.md)。
+ REST API 使用標準 HTTP 標頭和狀態碼，因此標準瀏覽器和工具組可如預期運作。在某些區域中，我們新增了 HTTP 的功能 （例如，我們新增了標頭以支援存取控制）。在這些情況下，我們新增了符合標準 HTTP 用量樣式的新功能。如需提出請求的詳細資訊，請參閱[提出要求](MakingRequests.md)。

## 許可
<a name="Permissions"></a>

您可以擁有有效的登入資料來驗證請求，但除非您擁有帳戶擁有者或儲存貯體擁有者的 S3 許可，否則無法建立或存取 Amazon S3 資源。這些許可通常透過 AWS Identity and Access Management (IAM) [政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html#security_iam_access-manage)授予，例如儲存貯體政策。例如，您必須擁有建立 S3 儲存貯體或取得儲存貯體中物件的許可。如需 S3 許可的完整清單，請參閱 [Amazon S3 的動作、資源和條件索引鍵](/service-authorization/latest/reference/list_amazons3.html)。

如需 S3 資源類型對 S3 API 操作之許可的詳細資訊，請參閱《Amazon *Simple Storage Service *[使用者指南》中的 Amazon S3 API 操作的必要許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-policy-actions.html)。

如果您使用 的根使用者登入資料 AWS 帳戶，則您擁有所有許可。不過，不建議使用根使用者登入資料。反之，我們建議您在帳戶中建立 AWS Identity and Access Management (IAM) 角色並管理使用者許可。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[存取管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)。