演習 - API ゲートウェイを作成する

完了

API を共有するには、まず API ゲートウェイを構成する必要があります。

靴の会社の例では、NorthWind Shoes は在庫 API をパートナーと共有することにしました。 この API によって、パートナーは在庫と製品の情報にアクセスすることができます。

ここでは、API ゲートウェイを作成して、OpenAPI エンドポイントを公開する在庫アプリを発行します。

ShoeCompany Web API をデプロイする

あなたは在庫と製品の情報を生成する .NET Core アプリを開発しました。 アプリには、OpenAPI の Swagger ドキュメントを生成する Swashbuckle が含まれています。

時間を節約するために、Azure で RESTful API をホストするスクリプトの実行から始めましょう。 このスクリプトでは、次のステップを実行します。

  • 無料レベルの Azure App Service プランを作成する
  • ローカル リポジトリからの Git デプロイ向けに構成された Azure App Service 内に、Web API を作成する
  • アプリ用にアカウント レベルのデプロイ資格情報を設定する
  • Git をローカルで構成する
  • Web API を App Service インスタンスにデプロイする
  1. Cloud Shell で次の git コマンドを実行して、アプリのソースが含まれる GitHub リポジトリをクローンします。

    git clone https://github.com/MicrosoftDocs/mslearn-publish-manage-apis-with-azure-api-management.git
    
  2. 操作が完了したら、ローカル リポジトリ フォルダーを開き、次のコマンドを実行してその内容の一覧を表示します。

    cd mslearn-publish-manage-apis-with-azure-api-management
    ls -l
    

    ファイルの 1 つは setup.sh です。その名前が示すように、テスト API を設定するために実行するスクリプトです。

  3. 次のコマンドを入力して、このスクリプトを実行します。 これにより、OpenAPI インターフェイスを公開するパブリックな Web アプリが生成されます。

    bash setup.sh
    

    スクリプトの実行には約 1 分かかります。 デプロイの間に、アプリの実行に必要なすべての依存関係がリモートの App Service に自動的にインストールされます。 出力には、すべての操作の一覧が表示されます。 スクリプトが完了すると、最後の 2 行が、アプリのデプロイをテストするために使用する URL です。

  4. アプリが正しくデプロイされたことをテストするには、Cloud Shell から最初の URL (Swagger URL) をコピーし、ブラウザーの新しいタブに貼り付けます。

    ブラウザーにアプリの Swagger UI が表示され、次の RESTful エンドポイントが宣言されるはずです。

    • api/inventory では、製品の一覧と在庫数が生成されます
    • api/inventory/{productid} では、指定した製品 ID (整数) の在庫数が返されます
    • api/Products では、製品の一覧が生成されます
    • api/Products/{productid} では、指定した productid の詳細が返されます

    API 管理の概要。

  5. 最後に、Cloud Shell の出力から 2 つ目の URL (Swagger JSON URL) をコピーして保存します。 次の演習で、この URL が必要になります。

API ゲートウェイをデプロイする

この演習の最後のタスクでは、Azure portal で API ゲートウェイを作成します。 次の演習では、このゲートウェイを使って API を発行します。

  1. サンドボックスのアクティブ化に使用したものと同じアカウントを使って、Azure portal にサインインします。

  2. [Azure サービス] で、または [ホーム] ページから、[リソースの作成] を選びます。 [リソースの作成] ウィンドウが表示されます。

  3. リソース メニューで [統合] を選び、結果で [API Management] を選びます。 [API Management の作成] ウィンドウが表示されます。

  4. [基本] タブで、各設定に対して次の値を入力します。

    設定
    プロジェクトの詳細
    サブスクリプション コンシェルジェ サブスクリプション
    リソース グループ リソース グループ <rgn>[sandbox resource group name]</rgn> を選びます
    インスタンスの詳細
    リージョン 次のいずれかを選びます: 米国中北部、米国西部、西ヨーロッパ、北ヨーロッパ、東南アジア、オーストラリア東部。 この演習で使用する従量課金レベルは、これらのリージョンで使用できます。
    リソース名 apim-NorthWindShoes<random number>random number は、名前がグローバルに一意になるように一連の数値に置き換えます。
    組織名 NorthWindShoes. この名前を使って、開発者ポータルでリソースを識別します。
    管理者のメール アドレス 自分の Azure アカウントのメール アドレスが既定で表示されない場合は、ドロップダウン リストから自分のメール アドレスを選びます。
    価格レベル Consumption

    注意

    従量課金プランを使うと、テスト プロセス中の出力の生成がはるかに速くなります。 全体的なエクスペリエンスは他の価格レベルと非常に似ており、サンドボックスの有効期限が切れると、リソースは自動的に削除されます。

  5. [確認および作成] を選んで、設定を検証します。

  6. 検証が成功したら、[作成] を選択します。 デプロイが完了するまでに数分かかる場合があります。 デプロイが完了すると、Azure リソースのゲートウェイの一覧が表示されます。 また、メール メッセージも受け取ります。 デプロイが完了するまでに数分かかる場合があります。

  7. デプロイが完了したら、[リソース グループに移動] を選んで、リソース グループを表示します。 ページの下部にあるリソースの一覧に、お使いの API Management サービスが表示されるはずです。