すべてのプロダクト
Search
ドキュメントセンター

API Gateway:API Gatewayを使用してfunction Computeでweb関数をトリガーする

最終更新日:Sep 29, 2024

このトピックでは、API GatewayでAPIを作成し、APIを呼び出してfunction Computeでweb関数を呼び出す方法に関するクイックガイドを提供します。 呼び出しでは、Alibaba Cloud Appの認証方法に従って、アプリケーションのAppCodeが使用されます。

処理中

次の手順を順番に実行する必要があります。

  1. web関数の作成

  2. バックエンドサービスの作成

  3. APIグループの作成

  4. APIの作成

  5. アプリケーションを作成し、アプリケーションにAPIの呼び出しを許可します

  6. APIのデバッグ

  7. APIの呼び出し

web関数の作成

  1. function Computeでweb関数を作成します。 詳細については、「web関数の作成」をご参照ください。

    重要

    web関数を作成するときは、関数がAPI Gatewayインスタンスと同じリージョンに存在し、ランタイムがJava 8に設定され、コードアップロードメソッドがサンプルコードを使用するように設定されている必要があることに注意してください。

  2. Function Computeコンソールの [関数] ページで、作成した関数をクリックして詳細ページに移動します。 [設定] タブをクリックします。 左側のナビゲーションツリーで、[トリガー] をクリックします。 使用するトリガーを見つけ、その内部エンドポイントhttps:// ***-helloworld-**.cn-hangzhou.fcapp.ru n[設定] 列にコピーします。

バックエンドサービスの作成

API Gatewayでは、バックエンドサービスをリージョンのリソースとして設定し、管理を簡素化できます。 API Gatewayコンソールでバックエンドサービスを作成し、異なる環境でバックエンドサービスに異なるURLを設定するだけで済みます。 その後、設定されたバックエンドサービスを直接選択してAPIを作成できます。

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [バックエンドサービス] を選択します。 表示されるページで、右上隅の [バックエンドサービスの作成] をクリックします。

  2. [バックエンドサービスの作成] ダイアログボックスで、[名前][FC-Backend] に、[タイプ][Function Compute] に、[バージョン][Function Compute V3.0] に、[関数タイプ][HTTP Function] に設定します。 次に、[確認] をクリックします。

  3. [バックエンドサービス] ページで、作成した [FC-Backend] サービスをクリックします。 表示されるページで、[制作] タブを選択し、右上隅の [作成] をクリックします。

  4. 表示されるページの [基本情報] セクションで、[トリガーパス]https:// ***-helloworld-**.cn-hangzhou.fcapp.ru nに設定します。これは [web関数の作成] の前の手順でコピーされています。 次に、[公開] をクリックします。

    image

APIグループの作成

APIはAPIグループで管理されます。 APIを作成する前に、APIグループを作成する必要があります。

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] < [APIグループ] を選択します。 [APIグループ] ページで、右上隅の [グループの作成] をクリックします。

  2. [グループの作成] ダイアログボックスで、[インスタンス] ドロップダウンリストからインスタンスを選択し、[グループ名][FC-グループ] に、[BasePath][/] に設定し、[確認] をクリックします。

    image

    説明

    APIグループは、Function Compute関数と同じリージョンにある必要があります。

APIの作成

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択します。

  2. [APIグループ] ページで、作成した [FC-test] グループを見つけ、[操作] 列の [APIの管理] をクリックします。

  3. [API] ページで、右上隅の [APIの作成] をクリックします。

  4. [APIの作成] ウィザードの [基本情報] ステップで、次のパラメーターを設定し、[次へ] をクリックします。

    パラメーター

    グループ

    FC-グループ

    API名

    FCテスト

    セキュリティ認証

    Alibaba Cloudアプリ

    AppCode認証

    AppCode認証の有効化 (ヘッダーとクエリ)

    署名アルゴリズム

    HMAC_SHA256

    image

  5. [APIリクエストの定義] ステップで、次のパラメーターを設定し、[次へ] をクリックします。

    image

  6. [バックエンドサービスの定義] ステップで、次のパラメーターを設定し、[次へ] をクリックします。

    パラメーター

    設定モード

    既存のバックエンドサービスの使用

    バックエンドサービスタイプ

    Function Compute

    バージョン

    Function Compute V3.0

    関数タイプ

    HTTP関数

    バックエンドサービス

    FC-バックエンド

    バックエンドリクエストパス

    /

    HTTPメソッド

    GET

    バックエンドサービスのタイムアウト期間

    10000

    image

    説明

    このステップでは、API Gatewayがクライアントから受信したリクエストを送信するバックエンドサービスのタイプとURL、およびパラメーターのマッピングと処理方法を設定します。 この例では、Backend Service TypeパラメーターはFunction Computeに設定されています。

  7. [応答の定義] ステップで、ビジネス要件に基づいてページのパラメーターを設定し、[作成] をクリックします。

  8. 表示されるメッセージで、[公開] をクリックします。

  9. 表示される [APIの発行] ダイアログボックスで、環境を [リリース] に設定し、[備考] セクションに備考を入力し、[発行] をクリックします。

    image

アプリケーションを作成し、APIの呼び出しを許可する

アプリケーションは、APIを呼び出すために使用するIDです。 この例の [APIの作成] ステップでは、認証方法がAlibaba Cloud Appに設定されています。 したがって、APIが公開された後、アプリケーションを作成し、アプリケーションにAPIを呼び出す権限を付与する必要があります。

アプリケーションの作成

  1. API Gatewayコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、[APIの呼び出し] > [アプリ] を選択します。

  2. [アプリ] ページで、右上隅の [アプリの作成] をクリックします。

  3. [アプリの作成] ダイアログボックスで、[アプリ名][fcAPP] に設定し、[確認] をクリックします。

    image

  4. [アプリ] ページで、作成した [fcApp] アプリケーションをクリックします。 [アプリの詳細] ページで、[AppKey][AppCode] の2つの認証方法が利用できることがわかります。 AppKeyメソッドには、ユーザー名とパスワードのペアと同様に機能するAppKeyAppSecretのペアが含まれます。 APIを呼び出すときは、AppKeyをパラメーターとして渡す必要があります。 AppSecretは、署名の計算に使用されます。 API Gatewayは、AppKeyとAppSecretのペアを検証してIDを認証します。

    image

アプリケーションにAPIを呼び出す権限を付与する

  1. API Gatewayコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、[APIの管理] > [API] を選択します。

  2. APIページで、作成されたFC-test APIを見つけ、[操作] 列で image /> [承認] を選択します。

  3. [権限付与] ページで、[ステージ] パラメーターを [リリース] に設定します。 [承認用アプリの選択] セクションの検索バーに、作成したアプリケーションの名前を入力します。 検索結果で、作成したアプリケーションを選択し、[操作] 列の [追加] をクリックし、[確認] をクリックします。 アプリケーションがAPIの呼び出しを許可されていることを通知するメッセージが表示されます。

    image

APIのデバッグDebug the API

API Gatewayはオンラインデバッグをサポートしています。 クライアントでこのAPIを呼び出す前に、この機能を使用してAPIが正しく構成されているかどうかを確認することを推奨します。

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの呼び出し] > [デバッグ] を選択します。

  2. [デバッグ] ページで、作成した [FC-test] APIを選択し、検証方法を [アプリコードの使用] に設定し、[リクエストの送信] をクリックします。 次の情報は、設定が成功したことを示します。

    image

APIの呼び出し

上記の手順を実行することで、APIを作成して公開し、APIを呼び出すためのアプリケーションを作成して承認し、APIをデバッグしました。 このステップでは、API Gatewayが提供するAppCodeを使用して、ビジネスシステムから公開されたAPIを呼び出すことができます。 APIを呼び出す方法の詳細については、「簡易認証モードでAPIを呼び出す」をご参照ください。 この例では、cURLを使用してAPIを呼び出します。

curl -i -X GET "http://fd6f8e2b7bf44ab181a56****-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE 7d2b7e4945ce44028ab00***"

API呼び出しの結果を次の図に示します。

image