練習 - 對 API 要求進行節流

已完成

在 API 管理中,您可以使用原則來實作節流 (速率限制)。

您應該記得,您的政府機關想要防止濫用其 API,例如大量的要求。

在此單元中,您將了解如何對呼叫人口普查 API 的頻率設定限制。 在此範例中,此限制會全域套用至您所有的人口普查 API 端點。

套用速率限制原則

若要在 API 管理內套用節流原則,請遵循下列步驟:

  1. 使用您在先前的練習中使用的相同帳戶登入 Azure 入口網站

  2. 在 Azure 入口網站功能表上,或從 [首頁] 頁面,選取 [所有資源],然後選取您的 API 管理執行個體。

  3. 在左側功能表窗格的 [API] 底下,選取 [API],然後在中間窗格中選取 [人口普查資料]

  4. 在頂部功能表列選取 [設計] 索引標籤,然後選取 [所有作業]

  5. 在 [輸入處理] 區段中,選取 </> 圖示。 XML 原則編輯器隨即出現。

    [設計] 索引標籤的螢幕擷取畫面,其中醒目提示了 [輸入處理] 區段中的 [原則] 圖示。

  6. 使用下列程式碼來取代整個 <inbound> 項目:

    <inbound>
        <rate-limit calls="3" renewal-period="15" />
        <base />
    </inbound>
    
  7. 選取 [儲存]。

您的原則檔案應該包含這三個原則,與下列程式碼類似:

<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. 再次選取 [人口普查資料],然後在頂部功能表列中,選取 [測試] 索引標籤。

  2. 選取 [GetLatestCensus] 作業,然後在資料列中選取 [傳送] 三次。

  3. 第三次傳送要求時,您應該會收到 429 錯誤 (要求太多) 回應:

    HTTP 回應的螢幕擷取畫面,其中顯示「429 要求數過多」錯誤。