演習 - API 要求をスロットリングする
API Management では、ポリシーを使用してスロットリング (レート制限) を実装します。
あなたの政府機関では、大量の要求など、API の誤用を防ぐ必要があることを思い出してください。
このユニットでは、Census API を呼び出せる頻度に制限を設定する方法について説明します。 この例では、制限はすべての Census API エンドポイントにグローバルに適用されます。
レート制限ポリシーを適用する
API Management 内でスロットリング ポリシーを適用するには、次の手順のようにします。
前の演習で使用したものと同じアカウントを使用して、Azure portal にサインインします。
Azure portal メニューで、または [ホーム] ページから、[すべてのリソース] を選択した後に、API Management インスタンスを選択します。
左側のメニュー ペインの [API] で、[API] を選択し、中央のペインで、[Census Data] を選択します。
上部のメニュー バーで、[デザイン] タブを選択し、[すべての操作] を選択します。
[受信処理] セクションで、</> アイコンを選択します。 XML ポリシー エディターが表示されます。
<inbound>
要素全体を次のコードに置き換えます。<inbound> <rate-limit calls="3" renewal-period="15" /> <base /> </inbound>
[保存] を選択します。
ポリシー ファイルには 3 つのポリシーがすべて含まれている必要があり、次のコードのようになります。
<policies>
<inbound>
<rate-limit calls="3" renewal-period="15" />
<base />
</inbound>
<backend>
<base />
</backend>
<outbound>
<set-header name="x-powered-by" exists-action="delete" />
<redirect-content-urls />
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
注意
各セクション内のポリシーの順序は、この例においては重要ではありません。
ポリシーをテストする
次に、スロットリング ポリシーが動作しているかどうかを確認しましょう。
[Census Data] を再度選択し、上部のメニュー バーで、[テスト] タブを選択します。
[GetLatestCensus] 操作を選択し、[送信] を連続して 3 回選択します。
3 回目に要求を送信すると、429 エラー (要求が多すぎます) 応答が返されます。