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

Function Compute:クラウドネイティブ API Gateway トリガー

最終更新日:Mar 05, 2025

Function Compute は、クラウドネイティブ API Gateway をイベントソースとして使用することをサポートしています。API のバックエンドサービスとして Function Compute を設定できます。Function Compute をバックエンドサービスとして使用するように設定されたクラウドネイティブ API Gateway インスタンスがリクエストを受信すると、ゲートウェイインスタンスは関連付けられた関数をトリガーして実行します。関数が実行を完了すると、Function Compute は結果をゲートウェイインスタンスに返送します。

背景

クラウドネイティブ API Gateway トリガーは、API Gateway トリガーと同様に機能します。詳細については、「API Gateway トリガー」をご参照ください。Function Compute がクラウドネイティブ API Gateway と統合されると、関数は API を介してクライアントに安全に公開できます。この設定により、認証やトラフィック制御など、さまざまな懸念事項を効果的に管理できます。クラウドネイティブ API Gateway は、イベント関数と Web 関数を区別しません。リクエストはルーティングルールに基づいて一致し、Function Compute に転送されます。

説明

Function Compute 3.0 のみクラウドネイティブ API Gateway と統合できます。

関数を作成し、クラウドネイティブ API Gateway と統合する

手順 1: 関数を作成する

Function Compute コンソール にログインして、関数を作成します。詳細については、「関数の作成」をご参照ください。

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

  1. ゲートウェイインスタンスを作成します。詳細については、「ゲートウェイインスタンスの作成」をご参照ください。

  2. HTTP API を作成します。詳細については、「HTTP API の作成」をご参照ください。

  3. サービスを作成します。詳細については、「サービスの作成」をご参照ください。

    image

  4. ルートを作成します。詳細については、「ルートの作成」をご参照ください。

    以下に概説するように必須パラメーターを設定します。残りはデフォルト設定のままにしておくことができます。

    image

    パラメーター

    説明

    [ドメイン名]

    ドメイン名を使用してサービスを管理できます。前の図のドメイン example.com はプレースホルダーです。独自のドメインを追加して選択し、サービスにアクセスできます。

    [パス]

    ルーティングパスを設定します。パスが異なると、トリガーされる関数が異なります。

    [バックエンドサービス]

    手順 2.3 で作成したバックエンドサービスを選択します。

  5. ルーティングルールを公開します。詳細については、「ルーティングルールの公開」をご参照ください。

手順 3: 結果を確認する

  1. サービスにバインドされている環境の第 2 レベルドメイン名を取得します。

  2. テストのために公開された API を呼び出します。この例では、curl コマンドを使用します。

    curl -i -X GET env-ct6ovnem1hknd****-cn-hangzhou.alicloudapi.com/fc

    次のコードスニペットは出力例を示しています。

    HTTP/1.1 200 OK
    access-control-expose-headers: Date,x-fc-request-id
    content-disposition: attachment
    content-length: 11
    content-type: application/json
    x-fc-request-id: 1-674eae6c-15b2172f-7db950e70148
    date: Tue, 03 Dec 2024 07:08:28 GMT
    req-cost-time: 29
    req-arrive-time: 1733209708197
    resp-start-time: 1733209708226
    x-envoy-upstream-service-time: 28
    server: istio-envoy
    
    hello world