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: バックエンドサービスを作成する
ゲートウェイインスタンスを作成します。詳細については、「ゲートウェイインスタンスの作成」をご参照ください。
HTTP API を作成します。詳細については、「HTTP API の作成」をご参照ください。
サービスを作成します。詳細については、「サービスの作成」をご参照ください。
ルートを作成します。詳細については、「ルートの作成」をご参照ください。
以下に概説するように必須パラメーターを設定します。残りはデフォルト設定のままにしておくことができます。
パラメーター
説明
[ドメイン名]
ドメイン名を使用してサービスを管理できます。前の図のドメイン
example.com
はプレースホルダーです。独自のドメインを追加して選択し、サービスにアクセスできます。[パス]
ルーティングパスを設定します。パスが異なると、トリガーされる関数が異なります。
[バックエンドサービス]
手順 2.3 で作成したバックエンドサービスを選択します。
ルーティングルールを公開します。詳細については、「ルーティングルールの公開」をご参照ください。
手順 3: 結果を確認する
サービスにバインドされている環境の第 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