REST API クライアントを使用して API を呼び出す - Amazon API Gateway

REST API クライアントを使用して API を呼び出す

エンドツーエンドのチュートリアルを提供するため、ここで AWS IAM 認証をサポートする Postman を使用して API を呼び出す方法を説明します。

Postman を使用して Amazon S3 のプロキシの API を呼び出すには
  1. API をデプロイまたは再デプロイします。[ステージエディタ] の最上部にある [呼び出し URL] の横に表示された API のベース URL を書き留めます。

  2. Postman を起動します。

  3. [Authorization] (認可) を選択し、次に AWS Signature を選択します。[AccessKey] と [SecretKey] の各入力フィールドに、IAM ユーザーのアクセスキー ID とシークレットアクセスキーをそれぞれ入力します。API のデプロイ先の AWS リージョンを [AWS リージョン] テキストボックスに入力します。[サービス名] 入力フィールドに「execute-api」と入力します。

    キーのペアは、IAM マネジメントコンソールの IAM ユーザーアカウントの [Security Credentials (認証情報)] タブで作成できます。

  4. 次の手順に従って、amzn-s3-demo-bucket リージョンの Amazon S3 アカウントに {region} という名前のバケットを追加します。

    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. バケットにテキストファイルを追加するには、上記の手順に従います。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 レスポンスを受け取ります。

  6. 先ほど 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! レスポンスを受け取ります。

  7. 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>
注記

画像をアップロードまたはダウンロードするには、処理したコンテンツを [バイナリに変換] に設定する必要があります。