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つのステップから成っています:
web関数の作成: function Compute 3.0に基づいてwebアプリケーションを構築します。
バックエンドサービスを作成する: API GatewayのFunction Computeを指すバックエンドサービスを定義します。 これにより、シームレスなフロントエンドとバックエンドの統合で、APIリクエストを対応するweb機能に正確に転送できます。
Create API: 外部アプリケーションがweb関数を呼び出すためのAPIを作成します。
アプリケーションを作成し、APIの呼び出しを許可する: API呼び出しの認証メカニズムを確立します。 これにより、許可されたアプリケーションのみがAPIを呼び出すことができ、セキュリティが強化されます。
APIのデバッグ: オンラインデバッグツールを使用して、作成したAPIをデバッグします。 これにより、APIの問題が検出および解決され、APIが公開される前に適切に動作します。
APIの呼び出し: すべての設定が完了すると、APIは呼び出しの準備が整います。
ステップ1: web関数の作成
API GatewayをFunction Computeサービスに接続する前に、webアプリケーションをすばやくビルドしてデプロイできるように、function Computeサービスでweb関数を作成する必要があります。 この例では、Function Compute 3.0が使用されています。
Function Compute 3.0コンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。 [関数] ページで、上部のナビゲーションバーでリージョンを選択します。
重要web関数がAPI Gatewayインスタンスと同じリージョンに作成されていることを確認します。
[関数] ページで、[関数の作成] をクリックし、[Web関数] を選択して、次のパラメーターを設定し、[作成] をクリックします。
基本設定: 関数名を設定します。
Code: 関数のランタイムとコードを設定します。 スタートアップコマンドとリスニングポートのデフォルト設定を使用します。
関数の作成後に自動的に表示される [関数の詳細] タブで、[設定] タブをクリックします。 左側のナビゲーションツリーで、[トリガー] をクリックします。 使用するトリガーを見つけ、その内部エンドポイント
https:// ***-helloworld-**.cn-hangzhou.fcapp.ru n
を [設定] 列にコピーします。
手順2: バックエンドサービスの作成
API Gatewayでは、バックエンドサービスをリージョンのリソースとして設定し、管理を簡素化できます。 API Gatewayコンソールでバックエンドサービスを作成し、Function Computeに関連付けるバックエンドサービスのURLを設定するだけで済みます。
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [バックエンドサービス] を選択します。 表示されるページで、上部のナビゲーションバーでリージョンを選択し、[バックエンドサービスの作成] をクリックします。
[バックエンドサービスの作成] ダイアログボックスでパラメーターを設定し、[確認] をクリックします。 次の図に例を示します。
[バックエンドサービス] ページで、作成したバックエンドサービスをクリックします。 [バックエンドサービス定義] ページで、[運用] タブをクリックします。 [基本情報] セクションで、[作成] をクリックします。
表示されるページの [基本情報] セクションで、[トリガーパス] を
https:// ***-helloworld-**.cn-hangzhou.fcapp.ru n
に設定します。これは [web関数の作成] の前の手順でコピーされています。 次に、[公開] をクリックします。
ステップ3: APIの作成
このステップでは、外部アプリケーションが特定のメソッドで呼び出すためのAPIを作成します。 API呼び出しは、関連付けられたweb関数を呼び出します。 APIグループは、統合セキュリティおよびトラフィックポリシーに基づいてAPIを管理するために使用されます。
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択します。 [APIグループ] ページで、右上隅の [グループの作成] をクリックします。
[グループの作成] ダイアログボックスで、[インスタンス] ドロップダウンリストからインスタンスを選択し、[グループ名] を
[FC-グループ]
に、[BasePath] を[/
] に設定し、[確認] をクリックします。グループの作成後、グループの [操作] 列で [APIの管理] をクリックし、[API] ページに移動します。
[APIの作成] をクリックします。 [基本情報] ステップで、次のパラメーターを設定し、[次へ] をクリックします。
[APIリクエストの定義] ステップで、[リクエストパス] を
/
に設定し、他のパラメーターのデフォルト値を維持し、[次へ] をクリックします。[バックエンドサービスの定義] ステップで、次のパラメーターを設定し、[次へ] をクリックします。
[応答の定義] ステップで、デフォルトの設定を維持し、[作成] をクリックします。 APIの作成後、APIページでAPIを見つけ、[操作] 列の [発行] をクリックします。
[発行API] ダイアログボックスで、次のパラメーターを設定し、[発行] をクリックします。
ステップ4: アプリケーションを作成し、APIの呼び出しを許可する
アプリケーションは、API呼び出し元がAPIを呼び出すと想定するIDです。 この例では、[APIの作成] ステップの [セキュリティ認証] パラメーターにAlibaba Cloudアプリが選択されています。 したがって、APIが公開された後、アプリケーションを作成し、作成したAPIを呼び出すようにアプリケーションを承認する必要があります。
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[呼び出しAPI] < [アプリ] を選択します。
[アプリ] ページで、右上隅の [アプリの作成] をクリックします。 [アプリの作成] ダイアログボックスで、[アプリ名] を
[fcAPP]
に設定し、[確認] をクリックします。アプリページで、作成した
fcApp
アプリケーションをクリックします。 [アプリの詳細] ページで、[AppKey]
と[AppCode]
の2つの認証方法が利用できることがわかります。AppKey
メソッドには、ユーザー名とパスワードのペアと同様に機能するAppKey
とAppSecret
のペアが含まれます。 APIを呼び出すときは、AppKey
をパラメーターとして渡す必要があります。AppSecret
は、署名の計算に使用されます。 API Gatewayは、AppKeyとAppSecretのペアを検証してIDを認証します。左側のナビゲーションウィンドウで、[APIの管理] > [API] を選択します。 APIページで、作成した
FC-test
APIを見つけ、[操作] 列の /> [許可] をクリックします。[権限付与] ページで、[ステージ] パラメーターを [リリース] に設定します。 [承認用アプリの選択] セクションの検索バーに
fcApp
と入力します。 検索結果で、作成したアプリケーションを選択し、[操作] 列の [追加] をクリックし、[確認] をクリックします。 アプリケーションがAPIの呼び出しを許可されていることを通知するメッセージが表示されます。
ステップ5: APIのデバッグ
オンラインデバッグツールを使用して、作成したAPIをデバッグします。 これにより、APIの問題が検出および解決され、APIが公開される前に適切に動作します。
API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの呼び出し] > [デバッグ] を選択します。
[デバッグ] ページで、作成した
[FC-test]
APIを選択し、検証方法を [アプリコードの使用] に設定し、[リクエストの送信] をクリックします。 次の情報は、設定が成功したことを示します。
ステップ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呼び出しの結果を次の図に示します。