演習 - API 要求をスロットリングする

完了 100 XP

API Management では、ポリシーを使用してスロットリング (レート制限) を実装します。

あなたの政府機関では、大量の要求など、API の誤用を防ぐ必要があることを思い出してください。

このユニットでは、Census API を呼び出せる頻度に制限を設定する方法について説明します。 この例では、制限はすべての Census API エンドポイントにグローバルに適用されます。

レート制限ポリシーを適用する

API Management 内でスロットリング ポリシーを適用するには、次の手順のようにします。

  1. 前の演習で使用したものと同じアカウントを使用して、Azure portal にサインインします。

  2. Azure portal メニューで、または [ホーム] ページから、[すべてのリソース] を選択した後に、API Management インスタンスを選択します。

  3. 左側のメニュー ペインの [API] で、[API] を選択し、中央のペインで、[Census Data] を選択します。

  4. 上部のメニュー バーで、[デザイン] タブを選択し、[すべての操作] を選択します。

  5. [受信処理] セクションで、</> アイコンを選択します。 XML ポリシー エディターが表示されます。

    [デザイン] タブのスクリーンショット。[受信処理] セクションで [ポリシー] アイコンが強調表示されています。

  6. <inbound> 要素全体を次のコードに置き換えます。

    <inbound>
        <rate-limit calls="3" renewal-period="15" />
        <base />
    </inbound>
    
  7. [保存] を選択します。

ポリシー ファイルには 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>

注意

各セクション内のポリシーの順序は、この例においては重要ではありません。

ポリシーをテストする

次に、スロットリング ポリシーが動作しているかどうかを確認しましょう。

  1. [Census Data] を再度選択し、上部のメニュー バーで、[テスト] タブを選択します。

  2. [GetLatestCensus] 操作を選択し、[送信] を連続して 3 回選択します。

  3. 3 回目に要求を送信すると、429 エラー (要求が多すぎます) 応答が返されます。

    HTTP 応答のスクリーンショット。[429 要求が多すぎます] というエラーをかくにんできます。


次のユニット: まとめ

前へ 次へ