演習 - 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 clone コマンドを実行して、アプリのソースと、GitHub からのセットアップ スクリプトを含むリポジトリを複製します。

    git clone https://github.com/MicrosoftDocs/mslearn-publish-manage-apis-with-azure-api-management.git
    
  2. 次の cd コマンドを実行して、ローカルでリポジトリのフォルダーに移動します。

    cd mslearn-publish-manage-apis-with-azure-api-management
    
  3. setup.sh は、その名前からわかるように、テスト API を作成するために実行するスクリプトです。 これにより、OpenAPI インターフェイスを公開するパブリックな Web アプリが生成されます

    bash setup.sh
    

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

  1. アプリが正常にデプロイされたことをテストするために、まず Cloud Shell の出力から 1 つ目の URL をコピーして、お使いのブラウザーに貼り付けます。 ブラウザーによってアプリの swagger UI が表示され、次の RESTful エンドポイントが宣言されるはずです

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

API 管理の概要

最後に、Cloud Shell の出力から最後の URL (これは swagger の JSON の URL です) をコピーします。これは次の演習で必要になります

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

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

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

  2. Azure portal のメニューまたは [ホーム] ページで [リソースの作成] を選択します。

  3. [統合] をクリックしてから、[API 管理] をクリックします。

  4. [API Management サービス] ページで、次の詳細を入力します。

    フィールド 詳細
    名前 apim-NorthWindShoes<random number>。名前がグローバルに一意であることを保証するために、乱数を使います。
    サブスクリプション コンシェルジェ サブスクリプション
    リソース グループ [サンドボックス リソース グループ名] という既存のリソース グループを選択します。
    場所 次のいずれかから選択します。米国中北部、米国西部、西ヨーロッパ、北ヨーロッパ、東南アジア、オーストラリア東部。 この演習で使用する Consumption レベルは、これらのリージョンでのみ使用できます。
    組織名 NorthWindShoes。 この名前を使って、開発者ポータルでリソースを識別します。
    管理者のメール アドレス このアドレスはシステム通知のために使われます。既定値は自分の Azure アカウントのメール アドレスです。
    価格レベル Consumption (preview)

    注意

    注:従量課金プランを使うのは、テスト中にずっと高速に作成できるためです。 エクスペリエンス全体は他の価格レベルとよく似ています。

  5. [作成] をクリックします。

  6. デプロイには数分かかることがあります。 デプロイが完了すると、指定したメール アドレスにメッセージが届きます。 また、Azure リソースの一覧にもゲートウェイが表示されます。