REST API クライアントを使用して API を呼び出す
エンドツーエンドのチュートリアルを提供するため、ここで AWS IAM 認証をサポートする Postman
Postman を使用して Amazon S3 のプロキシの API を呼び出すには
-
API をデプロイまたは再デプロイします。[ステージエディタ] の最上部にある [呼び出し URL] の横に表示された API のベース URL を書き留めます。
-
Postman を起動します。
-
[Authorization] (認可) を選択し、次に
AWS Signature
を選択します。[AccessKey] と [SecretKey] の各入力フィールドに、IAM ユーザーのアクセスキー ID とシークレットアクセスキーをそれぞれ入力します。API のデプロイ先の AWS リージョンを [AWS リージョン] テキストボックスに入力します。[サービス名] 入力フィールドに「execute-api
」と入力します。キーのペアは、IAM マネジメントコンソールの IAM ユーザーアカウントの [Security Credentials (認証情報)] タブで作成できます。
-
次の手順に従って、
amzn-s3-demo-bucket
リージョンの Amazon S3 アカウントに
という名前のバケットを追加します。{region}
-
ドロップダウンリストから [PUT] を選択し、メソッド URL (
https://
) を入力します。api-id
.execute-api.aws-region
.amazonaws.com/stage
/folder-name
-
Content-Type
ヘッダーの値をapplication/xml
に設定します。コンテンツタイプを設定する前に、既存のヘッダーを削除しなければならない場合があります。 -
[本文] メニュー項目を選択し、リクエストの本文として次の XML フラグメントを入力します。
<CreateBucketConfiguration> <LocationConstraint>
{region}
</LocationConstraint> </CreateBucketConfiguration> -
[送信] を選択してリクエストを送信します。成功したときは、空のペイロードを持つ
200 OK
のレスポンスを受け取ります。
-
-
バケットにテキストファイルを追加するには、上記の手順に従います。
amzn-s3-demo-bucket
に対して{folder}
というバケット名を指定し、URL の中のReadme.txt
に{item}
というファイル名を指定して、ファイルの内容としてHello, World!
というテキスト文字列を入力した場合 (したがってそれをリクエストペイロードにした場合)、リクエストは次のようになります。PUT /S3/amzn-s3-demo-bucket/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
レスポンスを受け取ります。 -
先ほど
Readme.txt
バケットに追加したamzn-s3-demo-bucket
ファイルのコンテンツを取得するには、次のような GET リクエストを実行します。GET /S3/amzn-s3-demo-bucket/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!
レスポンスを受け取ります。 -
amzn-s3-demo-bucket
バケット内の項目をリストするには、次のリクエストを送信します。GET /S3/amzn-s3-demo-bucket 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成功したときは、このリクエストを送信する前にバケットにファイルを追加した場合を除き、指定のバケット内に項目が 1 つだけ表示されている XML ペイロードを持った
200 OK
レスポンスを受け取ります。<?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>
注記
画像をアップロードまたはダウンロードするには、処理したコンテンツを [バイナリに変換] に設定する必要があります。