练习 - 限制 API 请求

已完成

在 API 管理中,使用策略来实施限制(速率限制)。

回想一下,政府机构要防止其 API 滥用,如存在大量请求。

此单元介绍如何设置人口普查 API 调用频率的限制。 在此示例中,该限制全局应用于所有人口普查 API 终结点。

应用速率限制策略

若要在 API 管理中应用限制策略,请执行以下步骤:

  1. 使用在上一个练习中所用的帐户登录到 Azure 门户

  2. 在 Azure 门户菜单或“主页”上,选择“所有资源”,然后选择 API 管理实例。

  3. 在左侧菜单窗格的“API”下,选择“API”,然后在中间窗格中,选择“人口普查数据”。

  4. 在顶部菜单栏,选择“设计”选项卡,然后选择“所有操作”。

  5. 在“入站处理”部分,选择“</>”图标。 此时将显示 XML 策略编辑器。

    Screenshot of the Design tab with the Policies icon highlighted in the Inbound processing section.

  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 错误(请求过多)响应:

    Screenshot of an HTTP response showing a 429 Too Many Requests error.