Azure API Management で Azure Function App を API としてインポートする

Azure API Management は、Azure Function App の新しい API としてのインポートや既存の API への追加をサポートします。 プロセスが自動的に Azure Function App 内にホスト キーを生成して、Azure API Management 内の名前付きの値に割り当てます。

この記事では、Azure API Management で Azure Function App を API としてインポートしてテストする手順について説明します。

学習内容:

  • Azure Function App の API としてのインポート
  • Azure Function App の API への追加
  • 新しい Azure Function App のホスト キーと Azure API Management の名前付きの値の表示
  • Azure Portal での API のテスト

前提条件

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

Note

Visual Studio Code 用の API Management 拡張機能を使用して API をインポートおよび管理できます。 API Management 拡張機能のチュートリアルに従ってインストールしてから作業を開始してください。

API Management インスタンスに移動します。

  1. Azure portal で、API Management サービス を検索して選択します。

    Select API Management services

  2. [API Management サービス] ページで、ご自身の API Management インスタンスを選択します。

    Select your API Management instance

Azure Function App を新しい API としてインポートする

以下の手順に従って、Azure Function App から新しい API を作成します。

  1. Azure portal で API Management サービスに移動し、メニューから [API] を選択します。

  2. [Add a new API](新しい API の追加) の一覧で [Functions App](Function App) を選択します。

    Screenshot that shows the Function App tile.

  3. [参照する] をクリックして、インポートする Function を選択します。

    Screenshot that highlights the Browse button.

  4. [Functions App](Function App) セクションをクリック、使用可能な Function App の一覧から選択します。

    Screenshot that highlights the Function App section.

  5. 関数のインポート元となる Function App を検索してクリックし、 [選択] をクリックします。

    Screenshot that highlights the Function App you want to import Functions from and the Select button.

  6. インポートする Function を選択して、 [選択] をクリックします。

    • インポートできるのは、承認レベルが Anonymous または Function に設定された、HTTP トリガーに基づく関数のみです。

    Screenshot that highlights the Functions to import and the Select button.

  7. [完全] ビューに切り替え、 [製品] を新しい API に割り当てます。

  8. 必要に応じて、作成時に他のフィールドを指定することも、後で [設定] タブで構成することもできます。

    Note

    成果物は、開発者ポータルを通じて開発者に提供される 1 つまたは複数の API を関連付けたものです。 開発者は、まず成果物をサブスクライブして API へのアクセス権を取得する必要があります。 サブスクライブすると、その成果物の API に使用されるサブスクリプション キーが提供されます。 API Management インスタンスの作成者は管理者となるため、既定ですべての製品をサブスクライブすることになります。

    すべての API Management インスタンスは、既定のサンプル成果物を 2 つ備えています。

    • スターター
    • 無制限
  9. Create をクリックしてください。

Azure Function App を既存の API に追加する

以下の手順に従って、Azure Function App を既存の API に追加します。

  1. お使いの Azure API Management サービス インスタンスで、左側のメニューから [API] を選択します。

  2. Azure Function App のインポート先となる API を選択します。 [...] をクリックして、コンテキスト メニューから [インポート] を選択します。

    Screenshot that highlights the Import menu option.

  3. [Function App] タイルをクリックします。

    Screenshot that highlights the Function App tile.

  4. ポップアップ ウィンドウで、 [参照] をクリックします。

    Screenshot that shows the Browse button.

  5. [Functions App](Function App) セクションをクリック、使用可能な Function App の一覧から選択します。

    Screenshot that highlights the list of Function Apps.

  6. 関数のインポート元となる Function App を検索してクリックし、 [選択] をクリックします。

    Screenshot that highlights the Function App you want to import functions from.

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

    Screenshot that highlights the functions you'd like to import.

  8. [インポート] をクリックします。

    Append from Function App

承認

Azure Function App のインポートによって、次が自動的に生成されます。

  • apim-{<お使いの Azure API Management サービス インスタンス名>} という名前の、Function App 内のホスト キー。
  • {<お使いの Azure Function App のインスタンス名>}-key という名前の、Azure API Management インスタンス内の名前付きの値。作成されたホスト キーが含まれます。

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

警告

Azure Function App のホスト キーの値または Azure API Management の名前付きの値のいずれかを削除または変更すると、サービス間の通信が失われます。 値は自動的に同期されません。

ホスト キーを交換する必要がある場合は、Azure API Management の名前付きの値も変更されることを確認します。

Azure Function App のホスト キーにアクセスする

  1. お使いの Azure Function App のインスタンスに移動します。

    Screenshot that highlights selecting your Function app instance.

  2. サイド ナビゲーション メニューの [関数] セクションで [アプリ キー] を選択します。

    Screenshot that highlights the Function Apps settings option.

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

    Screenshot that highlights the Host Keys section.

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

お使いの Azure API Management インスタンスに移動し、左側のメニューから [API] をクリックします。 Azure Function App のキーは、そこに格納されています。

Add from Function App

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

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

Screenshot that highlights the test procedure.

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

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

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

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

    • テストが成功すると、バックエンドから 200 OK およびいくつかのデータが応答として返されます。

次のステップ