次の方法で共有


Azure API Management で API として Azure 関数アプリをインポートする

適用対象: すべての API Management レベル

Azure API Management では、Azure 関数アプリを新しい API としてインポートしたり、既存の API に追加したりできます。 このプロセスでは、Azure 関数アプリでホスト キーが自動的に生成され、API Management の名前付き値に割り当てられます。

現在、この機能はワークスペースでは使用できません。

この記事では、Azure 関数アプリを API として Azure API Management にインポートし、API をテストする方法について説明します。

次の方法について学習します。

  • API として Azure 関数アプリをインポートする
  • API に Azure 関数アプリを追加する
  • 新しい関数アプリのホスト キーと API Management の名前付き値を表示する
  • Azure Portal での API のテスト

前提条件

  • Azure API Management インスタンスの作成に関するクイックスタートを完了します。
  • サブスクリプションに Azure 関数アプリがあることを確認します。 詳細については、「Azure Functions の概要」を参照してください。 関数には HTTP トリガーが必要です。 承認レベルは 、匿名 または 関数に設定する必要があります。

また、Visual Studio Code 用 API Management 拡張機能を使用して、API をインポートおよび管理することもできます。 開始するには、 API Management 拡張機能のチュートリアル を完了します。

Azure 関数アプリを新しい API としてインポートする

Azure 関数アプリから新しい API を作成するには:

  1. Azure portal で API Management サービスに移動します。

  2. 左側のウィンドウで [API>API] を選択します。

  3. [ Azure リソースから作成] で、[ 関数アプリ] を選択します。

    Azure portal の [関数アプリ] タイルを示すスクリーンショット。

  4. [ 参照 ] ボタンを選択します。

    [参照] ボタンが強調表示されているスクリーンショット。

  5. [必要な設定の構成] の下にある [選択] ボタンをクリックして、使用可能な関数アプリの一覧から選択します。

    [選択] ボタンを示すスクリーンショット。

  6. 関数をインポートする関数アプリを見つけて選択し、[ 選択] をクリックします。

    関数アプリと [選択] ボタンを示すスクリーンショット。

  7. インポートする関数を選択し、[ 選択] をクリックします。 インポートできるのは、HTTP トリガーと 匿名 または関数の承認レベルを持つ 関数 のみです。

    関数と [選択] ボタンを示すスクリーンショット。

  8. フル ビューに切り替えて、しい API に製品を割り当てます。

    製品 は、開発者ポータルを介して開発者に提供される 1 つ以上の API の関連付けです。 開発者は、まず成果物をサブスクライブして API へのアクセス権を取得する必要があります。 サブスクライブすると、製品内の任意の API のサブスクリプション キーが取得されます。 API Management インスタンスを作成した場合、管理者は既定ですべての製品にサブスクライブされます。

    一部の価格レベルでは、API Management インスタンスには 2 つの既定のサンプル製品が付属しています。

    • スターター
    • 無制限
  9. 必要に応じて、他の設定を指定します。 後で [ 設定] タブで設定を指定することもできます。これらの設定については、 最初の API のインポートと発行 に関するチュートリアルで説明します。

  10. を選択してを作成します。

既存の API に関数アプリを追加する

関数アプリを既存の API に追加するには:

  1. Azure API Management サービス インスタンスで、左側のウィンドウで [API>API] を選択します。

  2. 関数アプリをインポートする API を選択します。 API の横にある省略記号 (...) を選択し、[ インポート] を選択します。

    [インポート] メニュー オプションを示すスクリーンショット。

  3. 「Function App」(関数アプリ) タイルを選択します。

    [関数アプリ] タイルを示すスクリーンショット。

  4. [ 関数アプリからのインポート] ウィンドウで、[ 参照] を選択します。

    [参照] ボタンを示すスクリーンショット。

  5. [必要な設定の構成] の下にある [選択] ボタンをクリックして、使用可能な関数アプリの一覧から選択します。

    [Function App]\(関数アプリ\) セクションを示すスクリーンショット。

  6. 関数をインポートする関数アプリを見つけて選択し、[ 選択] をクリックします。

    関数アプリと [選択] ボタンを示すスクリーンショット。

  7. インポートする関数を選択し、[ 選択] をクリックします。

    関数の一覧を示すスクリーンショット。

  8. [インポート] を選択します

    [インポート] ボタンを示すスクリーンショット。

承認

Azure 関数アプリをインポートすると、次の項目が自動的に生成されます。

  • 関数アプリのホスト キー。 キーの名前は apim-<your API Management service instance name> です。
  • <your Azure function app instance name>-key名を持つ API Management インスタンス内の名前付き値。 この値には、ホスト キーが含まれています。

2019 年 4 月 4 日以降に作成された API の場合、ホスト キーは API Management からの HTTP 要求でヘッダー内の関数アプリに渡されます。 以前の API では、ホスト キーがクエリ パラメーターとして渡されます。 この動作は、関数アプリに関連付けられているPATCH Backend エンティティに対する Backendを使用して変更できます。

警告

Azure 関数アプリのホスト キー値または API Management の名前付き値を削除または変更すると、サービス間の通信が無効になります。 値は自動的に同期されません。

ホスト キーをローテーションする必要がある場合は、API Management の名前付き値も変更してください。

関数アプリのホスト キーにアクセスする

  1. Azure 関数アプリ インスタンスに移動します。

    関数アプリ インスタンスの一覧を示すスクリーンショット。

  2. 左側のウィンドウの [ 関数 ] セクションで、[ アプリ キー] を選択します。

    メニューのアプリ キーを示すスクリーンショット。

  3. [ホスト キー] セクションでキーを見つけます。

    ホスト キーを示すスクリーンショット。

API Management で名前付き値にアクセスする

API Management インスタンスに移動し、左側のウィンドウで API>名前付き値 を選択します。 Azure 関数アプリ キーがそこに格納されます。

関数アプリ キーの場所を示すスクリーンショット。

Azure portal での新しい API のテスト

操作は Azure portal から直接呼び出すことができます。 Azure portal は API の操作を表示およびテストするのに便利です。

API をテストする手順を示すスクリーンショット。

  1. 前のセクションで作成した API を選択します。

  2. [テスト] タブを選びます。

  3. テストする操作を選択します。

    • ページに、クエリ パラメーターとヘッダーのフィールドが表示されます。
    • ヘッダーの 1 つが Ocp-Apim-Subscription-Keyです。 このヘッダーは、API に関連付けられている製品サブスクリプション キー用です。
    • API Management インスタンスを作成した場合は管理者であるため、キーは自動的に入力されます。
  4. [Send] を選択します。

    テストが成功すると、バックエンドは 200 OK と一部のデータで応答します。