Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
GÄLLER FÖR: Alla API Management-nivåer
I den här handledningen lär du dig hur du konfigurerar principer för att skydda eller transformera ditt API. Principer är en samling instruktioner som körs sekventiellt på begäran eller svaret från ett API som ändrar API:ets beteende.
Tips
API-team kan använda den här funktionen på arbetsytor. Arbetsytor ger isolerad administrativ åtkomst till API:er och egna API-körningsmiljöer.
Till exempel kanske du vill ange en anpassad svarsrubrik. Eller konfigurera en hastighetsbegränsningsprincip för att skydda ditt serverdels-API, så att utvecklare inte överanvänder API:et. De här exemplen är en enkel introduktion till API Management-principer. Fler principalternativ finns i API Management-principer.
Anteckning
Som standardinställning konfigurerar API Management en global forward-request policy. Principen forward-request krävs för att gatewayen ska kunna slutföra en begäran till en serverdelstjänst.
I den här handledningen lär du dig:
- Transformera ett API för att ange ett anpassat svarshuvud
- Skydda ett API genom att lägga till en princip för hastighetsbegränsning eller hastighetsbegränsning
- Testa omvandlingarna
Förutsättningar
- Lär dig Azure API Management-terminologin.
- Förstå begreppet principer i Azure API Management.
- Slutför följande snabbstart: Skapa en Azure API Management-instans. I den här självstudien rekommenderar vi att du använder någon av de klassiska nivåerna eller v2-nivåerna, till exempel nivån Developer eller Nivån Basic v2. Förbrukningsnivån stöder inte alla principer som används i den här handledningen.
- Slutför följande självstudie: Importera och publicera ditt första API.
Gå till API Management-instansen
I Azure -portalensöker du efter och väljer API Management-tjänster:
På sidan API Management Services väljer du din API Management-instans:
Testa det ursprungliga svaret
Visa det ursprungliga svaret:
- I din API Management-tjänstinstans väljer du API:er>.
- I din API-lista väljer du Swagger Petstore.
- Välj Testa överst på skärmen.
- Välj åtgärden GET Finds Pets by status och välj valfritt ett annat värde för statusFrågeparameter.
- Välj Skicka.
Det ursprungliga API-svaret bör se ut ungefär så här:
Transformera ett API för att lägga till ett anpassat svarshuvud
API Management innehåller flera transformeringsprinciper som du kan använda för att ändra nyttolaster för begäran eller svar, rubriker eller statuskoder. I det här exemplet anger du ett anpassat svarshuvud i API-svaret.
Ställ in transformationspolicy
Det här avsnittet visar hur du konfigurerar ett anpassat svarshuvud med hjälp av set-header principen. Här använder du en formulärbaserad principredigerare som förenklar principkonfigurationen.
Välj Swagger Petstore>Design>Alla åtgärder.
I avsnittet Utgående bearbetning väljer du + Lägg till princip.
I fönstret Lägg till utgående princip väljer du Ange rubriker.
Så här konfigurerar du principen Ange rubriker:
- Under Namn anger du Anpassad.
- Under Värde väljer du + Lägg till värde. Ange Mitt anpassade värde.
- Välj Spara.
Efter konfigurationen visas ett principelement för set-header i avsnittet Utgående bearbetning .
Skydda ett API genom att lägga till en princip för hastighetsbegränsning
Det här avsnittet visar hur du lägger till skydd i serverdels-API:et genom att konfigurera hastighetsgränser så att utvecklare inte överanvänder API:et. Det här exemplet visar hur du konfigurerar rate-limit-by-key principen med hjälp av kodredigeraren. I det här exemplet är gränsen inställd på tre anrop per 15 sekunder. Efter 15 sekunder kan en utvecklare försöka att anropa API:et igen.
Anteckning
Den här principen stöds inte på förbrukningsnivån.
Välj Swagger Petstore>Design>Alla åtgärder.
I avsnittet Inkommande bearbetning väljer du kodredigerarens (</>) ikon.
Placera markören inuti elementet
<inbound>på en tom rad. Välj sedan Visa kodfragment i det övre högra hörnet på skärmen.
I det högra fönstret går du till Principer för åtkomstbegränsning och väljer Begränsa anropsfrekvens per nyckel.
Elementet
<rate-limit-by-key />läggs till vid markören.
Ändra koden
<rate-limit-by-key />i elementet<inbound>till följande kod. Välj sedan Spara.<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
Testa omvandlingarna
Om du nu tittar på koden i kodredigeraren ser dina principer ut som följande kod:
<policies>
<inbound>
<rate-limit calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
<base />
</inbound>
<outbound>
<set-header name="Custom" exists-action="override">
<value>"My custom value"</value>
</set-header>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
I resten av detta avsnitt testas principtransformationer som du anger i denna artikel.
Testa den anpassade svarsheadern
Välj Swagger Petstore>Test.
Välj åtgärden GET Finds Pets by status och välj eventuellt ett annat värde för statusfrågeparameter. Välj Skicka.
Som du ser läggs det anpassade svars-huvudet till.
Testa hastighetsgränsen
Välj Swagger Petstore>Test.
Välj åtgärden GET Finds Pets by status. Välj Skicka flera gånger i rad.
När du har skickat för många begäranden under den konfigurerade perioden får du svaret 429 för många begäranden .
Vänta i 15 sekunder eller mer och välj sedan Skicka igen. Den här gången bör du få svaret 200 OK.
Få Hjälp med Copilot
Du kan få AI-hjälp från Copilot för att skapa och redigera api Management-principdefinitioner. Du kan använda Copilot för att skapa och uppdatera principer som matchar dina specifika krav utan att behöva känna till XML-syntaxen. Du kan också få förklaringar av befintliga principer. Och Copilot kan hjälpa dig att översätta principer som du kan ha konfigurerat i andra API-hanteringslösningar.
- Azure Copilot tillhandahåller principredigeringshjälp med frågor om naturligt språk i Azure-portalen. Du kan skapa principer i API Management-principredigeraren och be Copilot att förklara principavsnitt.
- GitHub Copilot för Azure i Visual Studio Code ger stöd för principredigering i Visual Studio Code, och du kan använda Azure API Management-tillägget för Visual Studio Code för att påskynda principkonfigurationen. Du kan uppmana Copilot Chat eller Copilot Edits med naturligt språk att skapa och förfina principdefinitioner på plats.
Exempelfråga:
Generate a policy that adds an Authorization header to the request with a Bearer token.
Copilot drivs av AI, så överraskningar och misstag är möjliga. Mer information finns i vanliga frågor och svar om användning av Copilot.
Sammanfattning
I den här självstudiekursen lärde du dig att:
- Transformera ett API för att ange ett anpassat svarshuvud
- Skydda ett API genom att lägga till en princip för hastighetsbegränsning
- Testa omvandlingarna
Nästa steg
Gå vidare till nästa kurs: