Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: Všechny úrovně služby správy rozhraní API
V tomto kurzu se dozvíte o konfiguraci zásad pro ochranu nebo transformaci rozhraní API. Zásady jsou kolekce příkazů, které se spouštějí postupně na požadavku nebo odpovědi rozhraní API, které upravují chování rozhraní API.
Návod
Týmy rozhraní API můžou tuto funkci používat v pracovních prostorech. Pracovní prostory poskytují izolovaný přístup pro správu k rozhraním API a svým vlastním runtime prostředím API.
Můžete například chtít nastavit vlastní hlavičku odpovědi. Můžete také chránit backendové rozhraní API tím, že nakonfigurujete zásady omezení rychlosti, aby rozhraní API nebylo nadužívané vývojáři. Tyto příklady představují jednoduchý úvod do zásad služby API Management. Další možnosti zásad najdete v tématu Zásady služby API Management.
Poznámka:
Ve výchozím nastavení služba API Management konfiguruje globální forward-request
zásady. Pro k forward-request
dokončení požadavku na službu backendu je potřeba politika pro bránu.
V tomto kurzu se naučíte:
- Transformace rozhraní API pro nastavení vlastní hlavičky odpovědi
- Ochrana rozhraní API přidáním zásad omezení rychlosti (omezování)
- Testovat transformace
Požadavky
- Seznamte se s terminologií služby Azure API Management.
- Seznamte se s konceptem zásad ve službě Azure API Management.
- Projděte si následující rychlý start: Vytvoření instance Azure API Managementu. Pro účely tohoto kurzu doporučujeme použít některou z klasických nebo v2 úrovní, například úroveň Developer nebo Úroveň Basic v2. Úroveň Consumption nepodporuje všechny zásady použité v tomto kurzu.
- Dokončete také následující kurz: Import a publikování vašeho prvního rozhraní API.
Přejít k instanci služby API Management
Na portálu Azure vyhledejte a vyberte služby API Management:
Na stránce služby API Management vyberte instanci služby API Management:
Test původní odpovědi
Původní odpověď zobrazíte následovně:
- V instanci služby Správa rozhraní API vyberte rozhraní API.
- Ze seznamu rozhraní API vyberte Swagger Petstore .
- Vyberte kartu Test v horní části obrazovky.
- Vyberte operaci „Získat zvířata podle stavu“ (GET Finds pets by status), a volitelně vyberte jinou hodnotu pro stavdotazovacího parametru. Vyberte Odeslat.
Původní odpověď rozhraní API by měla vypadat podobně jako následující odpověď:
Transformace rozhraní API pro přidání vlastní hlavičky odpovědi
Služba API Management obsahuje několik zásad transformace, které můžete použít k úpravě datových částí požadavků nebo odpovědí, hlaviček nebo stavových kódů. V tomto příkladu nastavíte vlastní hlavičku odpovědi v odpovědi rozhraní API.
Nastavení zásady transformací
V této části se dozvíte, jak nakonfigurovat vlastní hlavičku odpovědi pomocí zásad set-header
. Tady použijete editor zásad založený na formuláři, který zjednodušuje konfiguraci zásad.
Vyberte Swagger Petstore>Design>Všechny operace.
V části Zpracování odchozích přenosů vyberte + Přidat zásadu.
V okně Přidat odchozí zásady vyberte Nastavit záhlaví.
Pokud chcete nakonfigurovat zásady nastavení hlaviček, postupujte takto:
- V části Název zadejte Vlastní.
- V části Hodnota vyberte + Přidat hodnotu. Zadejte "Moje vlastní hodnota".
- Zvolte Uložit.
Po konfiguraci se v části Odchozího zpracování zobrazí element zásady nastavení hlavičky.
Ochránit rozhraní API přidáním zásady omezení rychlosti (throttling)
Tato část ukazuje, jak přidat ochranu k vašemu backendovému rozhraní API tím, že nakonfigurujete omezení přístupu, aby rozhraní API nebylo nadměrně používáno vývojáři. Tento příklad ukazuje, jak nakonfigurovat zásadu rate-limit-by-key
pomocí editoru kódu. V tomto příkladu je limit nastavený na tři volání za 15 sekund. Po 15 sekundách může vývojář zkusit volat rozhraní API znovu.
Poznámka:
Tato zásada není ve vrstvě spotřeby podporovaná.
Vyberte Swagger Petstore>Design>Všechny operace.
V části Zpracování příchozích dat vyberte ikonu editoru kódu (</>).
Umístěte kurzor uvnitř
<inbound>
prvku na prázdný řádek. Pak vyberte Zobrazit fragmenty kódu v pravém horním rohu obrazovky.V pravém okně v části Zásady omezení přístupu vyberte Omezit četnost volání na klíč.
Prvek
<rate-limit-by-key />
se přidá k pozici kurzoru.Upravte
<rate-limit-by-key />
kód v elementu<inbound>
na následující kód. Pak vyberte Uložit.<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
Testovat transformace
Pokud se v tomto okamžiku podíváte na kód v editoru kódu, vaše zásady vypadají jako následující kód:
<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>
Zbývající část článku testuje transformace zásad, které jste nastavili.
Otestujte hlavičku vlastní odpovědi
Vyberte Swagger Petstore>Test.
Vyberte operaci „Získat zvířata podle stavu“ (GET Finds pets by status), a volitelně vyberte jinou hodnotu pro stavdotazovacího parametru. Vyberte Odeslat.
Jak vidíte, přidá se vlastní hlavička odpovědi:
Test omezování rychlosti
Vyberte Swagger Petstore>Test.
Vyberte operaci GET Finds Pets by Status (Najít domácí zvířata podle stavu). Vyberte Odeslat několikrát za sebou.
Po odeslání příliš velkého počtu požadavků v nakonfigurované době získáte odpověď 429 Příliš mnoho požadavků .
Počkejte 15 sekund nebo déle a pak znovu vyberte Odeslat . Tentokrát by se už měla objevit odpověď 200 OK.
Získejte asistenci Copilota
Pomoc s AI můžete získat od společnosti Copilot k vytvoření a úpravě definic zásad služby API Management. Pomocí Copilotu můžete vytvářet a aktualizovat zásady, které odpovídají vašim konkrétním požadavkům, aniž byste museli znát syntaxi XML. Můžete také získat vysvětlení existujících zásad. A Copilot vám může pomoct přeložit zásady, které jste možná nakonfigurovali v jiných řešeních služby API Management.
- Microsoft Copilot v Azure poskytuje pomoc při vytváření zásad s výzvami v přirozeném jazyce na webu Azure Portal. Máte možnost vytvářet zásady v editoru zásad služby API Management a požádat Copilota o vysvětlení sekcí zásad.
- GitHub Copilot pro Azure v editoru Visual Studio Code poskytuje pomoc při vytváření zásad v editoru Visual Studio Code a ke zrychlení konfigurace zásad můžete použít rozšíření Azure API Management pro Visual Studio Code . Můžete použít funkce Copilot Chat nebo Copilot Edits s přirozeným jazykem k vytváření a upřesňování definic zásad.
Příklad výzvy:
Generate a policy that adds an Authorization header to the request with a Bearer token.
Copilot využívá AI, takže překvapení a chyby jsou možné. Další informace najdete v tématu Nejčastější dotazy k obecnému použití copilotu.
Shrnutí
V tomto kurzu jste se naučili, jak:
- Transformace rozhraní API pro nastavení vlastní hlavičky odpovědi
- Ochrana rozhraní API přidáním zásad omezení rychlosti (omezování)
- Testovat transformace
Další kroky
Přejděte k dalšímu kurzu: