API Gateway によって生成された Ruby SDK を REST API で使用する - Amazon API Gateway

API Gateway によって生成された Ruby SDK を REST API で使用する

注記

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

REST API に対して API Gateway で生成された Ruby SDK をインストールし、開始して呼び出すには
  1. ダウンロードした Ruby SDK ファイルを解凍します。生成された SDK ソースは、次のように表示されます。

    ダウンロードした Ruby SDK ファイルを Ruby モジュールに解凍します

  2. ターミナルウィンドウで次のシェルコマンドを使用して、生成された SDK ソースから Ruby Gem を構築します。

    # change to /simplecalc-sdk directory cd simplecalc-sdk # build the generated gem gem build simplecalc-sdk.gemspec

    この後、[simplecalc-sdk-1.0.0.gem] が利用可能になります。

  3. gem をインストールします。

    gem install simplecalc-sdk-1.0.0.gem
  4. クライアントアプリケーションを作成します。アプリで Ruby SDK クライアントをインスタンス化して初期化します。

    require 'simplecalc-sdk' client = SimpleCalc::Client.new( http_wire_trace: true, retry_limit: 5, http_read_timeout: 50 )

    API に AWS_IAM タイプの許可が設定されている場合、初期化中に accessKeysecretKey を指定して、呼び出し元の AWS 認証情報を含めることができます。

    require 'pet-sdk' client = Pet::Client.new( http_wire_trace: true, retry_limit: 5, http_read_timeout: 50, access_key_id: 'ACCESS_KEY', secret_access_key: 'SECRET_KEY' )
  5. アプリで SDK を使用して API 呼び出しを行います。

    ヒント

    SDK のメソッド呼び出し規則に精通していない場合は、生成された SDK の client.rb フォルダの lib ファイルを確認できます。このフォルダには、サポートされている各 API メソッド呼び出しのドキュメントが含まれています。

    サポートされているオペレーションを検出するには:

    # to show supported operations: puts client.operation_names

    これにより、GET /?a={.}&b={.}&op={.}GET /{a}/{b}/{op}、および POST / の API メソッドに対応する次のような表示になります。必要に応じて {a:"…", b:"…", op:"…"} 形式のペイロードを加えます。

    [:get_api_root, :get_ab_op, :post_api_root]

    GET /?a=1&b=2&op=+API メソッドを呼び出すには、以下の Ruby SDK メソッドを呼び出します。

    resp = client.get_api_root({a:"1", b:"2", op:"+"})

    POST / を使用して、{a: "1", b: "2", "op": "+"} API メソッドを呼び出すには、以下の Ruby SDK メソッドを呼び出します。

    resp = client.post_api_root(input: {a:"1", b:"2", op:"+"})

    GET /1/2/+API メソッドを呼び出すには、以下の Ruby SDK メソッドを呼び出します。

    resp = client.get_ab_op({a:"1", b:"2", op:"+"})

    SDK メソッド呼び出しが正常に終了すると次のレスポンスを返します。

    resp : { result: { input: { a: 1, b: 2, op: "+" }, output: { c: 3 } } }