REST API 用に API Gateway で生成された JavaScript SDK を使用する - Amazon API Gateway

REST API 用に API Gateway で生成された JavaScript SDK を使用する

注記

これらの手順は、すでに「API Gateway コンソールを使用して API の SDK を生成する」の手順を完了していることを前提としています。

重要

API に ANY メソッドのみが定義された場合、生成された SDK パッケージに apigClient.js ファイルは含まれず、ANY メソッドを自分で定義する必要があります。

REST API に対して API Gateway で生成された JavaScript SDK をインストールし、開始して呼び出すには
  1. ダウンロード済みの API Gateway で生成された .zip ファイルのコンテンツを抽出します。

  2. API Gateway で生成された SDK で呼び出すすべてのメソッドで Cross-Origin Resource Sharing (CORS) を有効にします。手順については、REST API リソースの CORS を有効にする を参照してください。

  3. ウェブページで、以下のスクリプトへの参照を含めます。

    <script type="text/javascript" src="lib/axios/dist/axios.standalone.js"></script> <script type="text/javascript" src="lib/CryptoJS/rollups/hmac-sha256.js"></script> <script type="text/javascript" src="lib/CryptoJS/rollups/sha256.js"></script> <script type="text/javascript" src="lib/CryptoJS/components/hmac.js"></script> <script type="text/javascript" src="lib/CryptoJS/components/enc-base64.js"></script> <script type="text/javascript" src="lib/url-template/url-template.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/sigV4Client.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/apiGatewayClient.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/simpleHttpClient.js"></script> <script type="text/javascript" src="lib/apiGatewayCore/utils.js"></script> <script type="text/javascript" src="apigClient.js"></script>
  4. コードで、API Gateway で生成された SDK を初期化します。次のようなコードを使用します。

    var apigClient = apigClientFactory.newClient();

    API Gateway で生成された SDK を AWS 認証情報で初期化するには、次のようなコードを使用します。AWS 認証情報を使用すると、API に対するすべてのリクエストに署名が付与されます。

    var apigClient = apigClientFactory.newClient({ accessKey: 'ACCESS_KEY', secretKey: 'SECRET_KEY', });

    API Gateway で生成された SDK で API キーを使用するには、次のようなコードを使用し、API キーをパラメータとして Factory オブジェクトに渡すことができます。API キーを使用する場合は、x-api-key ヘッダーの一部として指定され、API に対するすべてのリクエストに署名が付与されます。これは、各リクエストに適切な CORS Accept ヘッダーを設定する必要があることを意味します。

    var apigClient = apigClientFactory.newClient({ apiKey: 'API_KEY' });

  5. 以下のようなコードを使用して API Gateway で API メソッドを呼び出します。各呼び出しから、成功または失敗のコールバックとともに promise が返されます。

    var params = { // This is where any modeled request parameters should be added. // The key is the parameter name, as it is defined in the API in API Gateway. param0: '', param1: '' }; var body = { // This is where you define the body of the request, }; var additionalParams = { // If there are any unmodeled query parameters or headers that must be // sent with the request, add them here. headers: { param0: '', param1: '' }, queryParams: { param0: '', param1: '' } }; apigClient.methodName(params, body, additionalParams) .then(function(result){ // Add success callback code here. }).catch( function(result){ // Add error callback code here. });

    ここで、methodName は、メソッドリクエストのリソースパスと HTTP 動詞から作成されます。SimpleCalc API の場合、次の API メソッドの SDK メソッド

    1. GET /?a=...&b=...&op=... 2. POST / { "a": ..., "b": ..., "op": ...} 3. GET /{a}/{b}/{op}

    対応する SDK メソッドは次のとおりです。

    1. rootGet(params); // where params={"a": ..., "b": ..., "op": ...} is resolved to the query parameters 2. rootPost(null, body); // where body={"a": ..., "b": ..., "op": ...} 3. aBOpGet(params); // where params={"a": ..., "b": ..., "op": ...} is resolved to the path parameters