使用 REST API 用戶端呼叫 API - Amazon API Gateway

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

使用 REST API 用戶端呼叫 API

為了提供 end-to-end 教學課程,我們現在會示範如何使用 Postman 呼叫 API,它支援 AWS IAM 授權。

使用 Postman 呼叫 Amazon S3 代理 API
  1. 部署或重新部署 API。請記下 API 的基本 URL,而此 API 顯示在階段編輯器頂端的呼叫 URL旁邊。

  2. 啟動 Postman。

  3. 選擇授權,然後選擇 AWS Signature。分別在和輸入欄位中SecretKey輸入 IAM 使用者的存取金鑰 ID AccessKey和秘密存取金鑰。在 [ AWS 地區] 文字方塊中輸入 API 部署的AWS 區域。在服務名稱輸入欄位中,輸入 execute-api

    您可以從 IAM 管理主控台之 IAM 使用者帳戶的 Security Credentials (安全登入資料) 標籤中建立一對金鑰。

  4. 將名為 apig-demo-5 的儲存貯體新增至 {region} 區域中的 Amazon S3 帳戶:

    注意

    請確定儲存貯體名稱必須為全域唯一。

    1. 從下拉式方法清單中選擇 PUT,並輸入方法 URL (https://api-id.execute-api.aws-region.amazonaws.com/stage/folder-name

    2. Content-Type 標頭值設定為 application/xml。您可能需要先刪除任何現有標頭,再設定內容類型。

    3. 選擇內文選單項目,並輸入下列 XML 片段做為請求內文:

      <CreateBucketConfiguration> <LocationConstraint>{region}</LocationConstraint> </CreateBucketConfiguration>
    4. 選擇傳送,以提交請求。如果成功,您應該會收到具有空承載的 200 OK 回應。

  5. 若要將文字檔案新增至儲存貯體,請遵循上述說明操作。如果您在 URL 中指定 apig-demo-5 的儲存貯體名稱 {folder}Readme.txt 的檔案名稱 {item},並提供字串 Hello, World! 做為檔案內容 (因此其會成為請求承載),則請求會如下所示:

    PUT /S3/apig-demo-5/Readme.txt HTTP/1.1 Host: 9gn28ca086.execute-api.{region}.amazonaws.com Content-Type: application/xml X-Amz-Date: 20161015T062647Z Authorization: AWS4-HMAC-SHA256 Credential=access-key-id/20161015/{region}/execute-api/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=ccadb877bdb0d395ca38cc47e18a0d76bb5eaf17007d11e40bf6fb63d28c705b Cache-Control: no-cache Postman-Token: 6135d315-9cc4-8af8-1757-90871d00847e Hello, World!

    如果一切順利,您應該會收到含有空白承載的 200 OK 回應。

  6. 若要取得剛剛新增至 Readme.txt 儲存貯體之 apig-demo-5 檔案的內容,請執行 GET 請求,如下所示:

    GET /S3/apig-demo-5/Readme.txt HTTP/1.1 Host: 9gn28ca086.execute-api.{region}.amazonaws.com Content-Type: application/xml X-Amz-Date: 20161015T063759Z Authorization: AWS4-HMAC-SHA256 Credential=access-key-id/20161015/{region}/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ba09b72b585acf0e578e6ad02555c00e24b420b59025bc7bb8d3f7aed1471339 Cache-Control: no-cache Postman-Token: d60fcb59-d335-52f7-0025-5bd96928098a

    如果成功,您應該會收到具有 200 OK 字串做為承載的 Hello, World! 回應。

  7. 若要列出 apig-demo-5 儲存貯體中的項目,請提交下列請求:

    GET /S3/apig-demo-5 HTTP/1.1 Host: 9gn28ca086.execute-api.{region}.amazonaws.com Content-Type: application/xml X-Amz-Date: 20161015T064324Z Authorization: AWS4-HMAC-SHA256 Credential=access-key-id/20161015/{region}/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4ac9bd4574a14e01568134fd16814534d9951649d3a22b3b0db9f1f5cd4dd0ac Cache-Control: no-cache Postman-Token: 9c43020a-966f-61e1-81af-4c49ad8d1392

    如果成功,除非先將更多檔案新增至儲存貯體再提交此請求,否則您應該會收到 200 OK 回應,而其 XML 承載顯示所指定儲存貯體中的單一項目。

    <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>apig-demo-5</Name> <Prefix></Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>Readme.txt</Key> <LastModified>2016-10-15T06:26:48.000Z</LastModified> <ETag>"65a8e27d8879283831b664bd8b7f0ad4"</ETag> <Size>13</Size> <Owner> <ID>06e4b09e9d...603addd12ee</ID> <DisplayName>user-name</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> </ListBucketResult>
注意

若要上傳或下載影像,您需要將內容處理設定為 CONVERT_TO_BINARY。