はじめに
Azure API Management についてのメモ。
とりあえず、チュートリアルをやってみる。
手順
API のインポートと発行
API Management (APIM) インスタンス作成
OpenAPI 仕様のバックエンド API を JSON 形式で Azure API Management に
インポートする方法について Azure Portal を使った実際の手順を進めていきます。
バックエンド API (JSON) を API Management にインポートした後は、
API Management API が バックエンド API の ファサード (Facad) になります。
この ファサード は、API Management でニーズに応じてカスタマイズ可能であり、
バックエンド API に触れずに作業を実行することができます。
Swagger Editor で JSON を開くと、今回インポートする予定の
Demo Conference API
を確認することができます。
※ OpenAPI は RESTful API を記述するための仕様の1つ。
※ Facad (ファサード) : 「建物の正面」という意味を持つ英単語。
複雑な内部処理を隠蔽し、ユーザーにシンプルなUIを提供する目的を持つ。
1.Azure Portal で API Management サービスを検索、選択します。
2.API Management サービスの作成を行います。
作成画面では、リソースグループの選択、API Management インスタンスを配置する リージョン、リソース名等を入力します。
項目 | 入力値 |
---|---|
プロジェクト詳細 | |
サブスクリプション | 自動選択 (プルダウンで変更可) |
リソースグループ | APIMTutorialRG (任意) |
インスタンスの詳細 | |
リージョン | Japan West (任意) |
リソース名 | tutorial-apim (任意) |
組織名 | XXXXXXX (任意) |
メールアドレス | XXXXXX (任意) |
Pricing tier | |
Pricing tier | Developer (no SLA) |
入力が完了したら、画面最下部の「確認および作成」ボタンを押します。
※ API Management インスタンスをデプロイ、アクティブにするまでに
30~40 分程度かかる場合があります。
APIM インスタンスのデプロイが完了すると、概要を確認することができます。
バックエンド API のインポートと発行
1.作成した API Management インスタンスページのメニューより、
「API」 を選択します。
2.[OpenAPI] を選択します。
3.[Full] を選択します。
4.各項目の値を入力して、[作成]ボタンを押します。
項目 | 入力値 |
---|---|
OpenAPI specification : Open API の仕様 | https://conferenceapi.azurewebsites.net?format=json |
Display name : 表示名 | 開発者ポータルに表示される名前 (任意) |
Name : 名前 | API の名前 (任意) |
Description : 説明文 | API の説明文 (省略可) |
URL scheme | HTTPS (API にアクセスできるプロトコル) |
API URL suffix | API Management サービスのベースURL に付与されるサフィックス |
Tags | 検索、グループ、フィルターなどに使用するタグ |
Products | Unlimited |
Gateways | Managed (API を公開する API ゲートウェイ) |
※ これらの項目は、Open API の仕様 (JSON) を読み込むと自動入力されます。
Azure Portal を使って新しい API をテストする
1.API Management インスタンスページのメニューより、[API][Demo][Conference API] を選択
2.[Test] タブを選択後、[GetSpeakers] を選択します。
※ Ocp-Apim-Subscription-key には、この API が紐付けられているサブスクリプションキーの値が自動的に入力されます。
3.Template parameters > id の値に 1 を入力し、[Send] ボタンを押します。
HTTP レスポンス値を確認すると、Status Code 200 が返ってきていて、
Microsoft の Scott Guthrie (スコット・ガスリー) さんの名前と紹介文が返ってきました。
ということで、Open API の仕様 (JSON) を読み込んで、API を発行することができました。