APIゲートウェイにデプロイされたAPIのコール

Find out how to call an API that you have previously deployed on an API gateway with the API Gateway service.

APIゲートウェイにAPIをデプロイすると、デプロイ済のAPIをコールできます。

ヒント

このトピックで説明するcurlコマンドを構築する場合、次を使用して、APIデプロイメントのエンドポイントとしてhttps://<gateway-hostname>/<deployment-path-prefix>文字列の値をすばやく取得できます:

  • コンソール(「ゲートウェイの詳細」ページに移動し、APIデプロイメントのエンドポイントの横にある「コピー」をクリック)。
  • API(GetDeployments操作を使用)。

curlの使用

APIゲートウェイにデプロイされているAPIをコールするには:

  1. ターミナル・ウィンドウを開き、デプロイされているAPIに適している次のようなcURLコマンドを入力します:

    curl -k -X <method> https://<gateway-hostname>/<deployment-path-prefix>/<api-route-path>

    ここでは:

    • <method>は、デプロイ済のAPIに対して有効なメソッド(たとえば、GET、PUT)です。
    • <gateway-hostname>は、自動的に生成される<gateway-identifier>.apigateway.<region-identifier>.oci.customer-oci.comフォーマットのドメイン名です。説明は次のとおりです:

      • <gateway-identifier>は、APIゲートウェイを識別する文字列です。たとえば、lak...sjd(読みやすくするために省略形)と入力します。
      • <region-identifier>は、APIゲートウェイが作成されたリージョンの識別子です。リージョン別の可用性を参照してください。

      たとえば、lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.comです。

      コンソールまたはAPIを使用して、<gateway-hostname>の値として使用するドメイン名を見つけます。

    • /<deployment-path-prefix>は、APIデプロイメントの各ルートのパスに追加される接頭辞です。リクエストのデプロイメント・パス接頭辞は次の点に注意してください:

      • 複数のスラッシュを含めることができます(連続していない場合)
      • 英数字の大文字と小文字を使用できます
      • 特殊文字$ - _ . + ! * ' ( ) , % ; : @ & = を使用できます
      • パラメータおよびワイルドカードを含めることはできません
      • APIデプロイメントに定義されたデプロイメント・パス接頭辞と完全に一致する必要があります(APIデプロイメントの作成によるAPIゲートウェイへのAPIのデプロイを参照)

      コンソールまたはAPIを使用して、<deployment-path-prefix>の値として使用するパス接頭辞を確認します。

    • /<api-route-path>は、APIデプロイメント仕様で定義されている特定のルートへのパスです。リクエスト内のルート・パスで次の点に注意してください:

      • デプロイメント・パス接頭辞に対して相対的です
      • 1つのスラッシュである可能性があります
      • スラッシュは複数使用でき(連続していない場合)、スラッシュで終了できます
      • 英数字の大文字と小文字を使用できます
      • 特殊文字$ - _ . + ! * ' ( ) , % ; : @ & = を使用できます
      • APIデプロイメント仕様のルート・パスに、ワイルドカードありまたはワイルドカードなしのパス・パラメータが含まれている場合(ルート・パスへのパス・パラメータおよびワイルドカードの追加を参照)は、APIデプロイメント仕様で定義されたルート・パスと完全に一致する必要はありません

      コンソールまたはAPIを使用して、<api-route-path>の値として使用するパスを見つけます。

    例:

    curl -k -X GET https://lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com/marketing/hello/

    APIゲートウェイ・バック・エンドが、パラメータを受け入れるサーバーレス・ファンクションである場合、APIへのコールにこれらのパラメータを含めます。例:

    curl -k -X POST https://lak...sjd.apigateway.us-phoenix-1.oci.customer-oci.com/marketing/hello/ -d "name=john"