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

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

最終更新日:Nov 26, 2024

API Gatewayは、API呼び出し元がAPIを呼び出すための安全で制御された方法を提供します。 これにより、Function Computeサービスの管理と監視を改善できます。 このトピックでは、API GatewayでAPIを作成し、APIを呼び出してfunction Compute 3.0でweb関数を呼び出す方法に関するクイックガイドを提供します。 呼び出しでは、Alibaba Cloud Appの認証方法に従って、アプリケーションのAppCodeが使用されます。

前提条件

API Gatewayインスタンスが作成されました。 インスタンスタイプの詳細については、「インスタンスタイプの選択」をご参照ください。

概要

この例では、function Compute 3.0でweb関数をデプロイし、API Gatewayで作成されたweb関数に関連付けられたバックエンドサービスを使用するAPIを作成し、承認されたアプリケーションのAppCodeを使用してAPIを呼び出します。 この例は、API Gatewayを使用してFunction Computeサービスへのアクセスを制御する方法を理解するのに役立ちます。 プロセスは6つのステップから成っています:

  1. web関数の作成: function Compute 3.0に基づいてwebアプリケーションを構築します。

  2. バックエンドサービスを作成する: API GatewayのFunction Computeを指すバックエンドサービスを定義します。 これにより、シームレスなフロントエンドとバックエンドの統合で、APIリクエストを対応するweb機能に正確に転送できます。

  3. Create API: 外部アプリケーションがweb関数を呼び出すためのAPIを作成します。

  4. アプリケーションを作成し、APIの呼び出しを許可する: API呼び出しの認証メカニズムを確立します。 これにより、許可されたアプリケーションのみがAPIを呼び出すことができ、セキュリティが強化されます。

  5. APIのデバッグ: オンラインデバッグツールを使用して、作成したAPIをデバッグします。 これにより、APIの問題が検出および解決され、APIが公開される前に適切に動作します。

  6. APIの呼び出し: すべての設定が完了すると、APIは呼び出しの準備が整います。

ステップ1: web関数の作成

API GatewayをFunction Computeサービスに接続する前に、webアプリケーションをすばやくビルドしてデプロイできるように、function Computeサービスでweb関数を作成する必要があります。 この例では、Function Compute 3.0が使用されています。

  1. Function Compute 3.0コンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。 [関数] ページで、上部のナビゲーションバーでリージョンを選択します。

    重要

    web関数がAPI Gatewayインスタンスと同じリージョンに作成されていることを確認します。

  2. [関数] ページで、[関数の作成] をクリックし、[Web関数] を選択して、次のパラメーターを設定し、[作成] をクリックします。

    • 基本設定: 関数名を設定します。

    • Code: 関数のランタイムとコードを設定します。 スタートアップコマンドリスニングポートのデフォルト設定を使用します。

      image

  3. 関数の作成後に自動的に表示される [関数の詳細] タブで、[設定] タブをクリックします。 左側のナビゲーションツリーで、[トリガー] をクリックします。 使用するトリガーを見つけ、その内部エンドポイントhttps:// ***-helloworld-**.cn-hangzhou.fcapp.ru n[設定] 列にコピーします。

    image

手順2: バックエンドサービスの作成

API Gatewayでは、バックエンドサービスをリージョンのリソースとして設定し、管理を簡素化できます。 API Gatewayコンソールでバックエンドサービスを作成し、Function Computeに関連付けるバックエンドサービスのURLを設定するだけで済みます。

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

    image

  2. [バックエンドサービスの作成] ダイアログボックスでパラメーターを設定し、[確認] をクリックします。 次の図に例を示します。

    image

  3. [バックエンドサービス] ページで、作成したバックエンドサービスをクリックします。 [バックエンドサービス定義] ページで、[運用] タブをクリックします。 [基本情報] セクションで、[作成] をクリックします。

    image

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

    image

ステップ3: APIの作成

このステップでは、外部アプリケーションが特定のメソッドで呼び出すためのAPIを作成します。 API呼び出しは、関連付けられたweb関数を呼び出します。 APIグループは、統合セキュリティおよびトラフィックポリシーに基づいてAPIを管理するために使用されます。

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

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

    image

  3. グループの作成後、グループの [操作] 列で [APIの管理] をクリックし、[API] ページに移動します。

    image

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

    image

  5. [APIリクエストの定義] ステップで、[リクエストパス]/に設定し、他のパラメーターのデフォルト値を維持し、[次へ] をクリックします。

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

    image

  7. [応答の定義] ステップで、デフォルトの設定を維持し、[作成] をクリックします。 APIの作成後、APIページでAPIを見つけ、[操作] 列の [発行] をクリックします。

  8. [発行API] ダイアログボックスで、次のパラメーターを設定し、[発行] をクリックします。

    image

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

アプリケーションは、API呼び出し元がAPIを呼び出すと想定するIDです。 この例では、[APIの作成] ステップの [セキュリティ認証] パラメーターにAlibaba Cloudアプリが選択されています。 したがって、APIが公開された後、アプリケーションを作成し、作成したAPIを呼び出すようにアプリケーションを承認する必要があります。

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

  2. [アプリ] ページで、右上隅の [アプリの作成] をクリックします。 [アプリの作成] ダイアログボックスで、[アプリ名][fcAPP] に設定し、[確認] をクリックします。

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

    image

  4. 左側のナビゲーションウィンドウで、[APIの管理] > [API] を選択します。 APIページで、作成したFC-test APIを見つけ、[操作] 列の image /> [許可] をクリックします。

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

    image

ステップ5: APIのデバッグ

オンラインデバッグツールを使用して、作成したAPIをデバッグします。 これにより、APIの問題が検出および解決され、APIが公開される前に適切に動作します。

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

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

    image

ステップ6: APIを呼び出す

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

API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの呼び出し] > [アプリ] を選択します。 [アプリ] ページで、許可されたアプリケーションをクリックし、表示されるページでそのアプリケーションコードを取得します。 次に、次のサンプルコードを使用してAPIを呼び出します。

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

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

image