Övning – Begränsa API-begäranden

Slutförd

I API Management använder du principer för att implementera begränsning (hastighetsbegränsning).

Din myndighet ville alltså förhindra missbruk av sina API:er, till exempel stora volymer med begäranden.

I den här lektionen får du lära dig hur du anger en gräns för hur ofta census-API:et kan anropas. I det här exemplet tillämpas gränsen globalt på alla dina census-API-slutpunkter.

Tillämpa en princip för frekvensbegränsning

Följ dessa steg för att tillämpa en begränsningsprincip i API Management:

  1. Logga in på Azure Portal med samma konto som du använde i föregående övningar.

  2. På menyn i Azure-portalen eller på sidan Start väljer du Alla resurser och sedan din API Management-instans.

  3. I det vänstra menyfönstret under API:er väljer du API:er och i mittenfönstret väljer du Census Data.

  4. I den översta menyraden väljer du fliken Design och sedan Alla åtgärder.

  5. I avsnittet Inkommande bearbetning väljer du <ikonen /> . XML-principredigeraren visas.

    Skärmbild av fliken Design med ikonen Policys markerad i avsnittet Inkommande bearbetning.

  6. Ersätt hela elementet <inbound> med följande kod:

    <inbound>
        <rate-limit calls="3" renewal-period="15" />
        <base />
    </inbound>
    
  7. Välj Spara.

Din principfil bör innehålla alla tre principerna, ungefär som den här koden:

<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>

Kommentar

Ordningen på principerna i varje avsnitt är inte viktig för det här exemplet.

Testa principen

Nu ska vi se om begränsningsprincipen fungerar:

  1. Välj Census Data igen och välj fliken Test i den översta menyraden.

  2. Välj åtgärden GetLatestCensus och välj sedan Skicka tre gånger i rad.

  3. När du skickar begäran den tredje gången bör du få ett svar på 429-fel (för många begäranden):

    Skärmbild av ett HTTP-svar som visar ett fel med 429 för många begäranden.