Hívássebesség korlátozása előfizetés szerint
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
A rate-limit
szabályzat megakadályozza, hogy az API-használat előfizetésenként megnőjön, ha a hívási arányt egy megadott időszakra korlátozza. A hívási sebesség túllépésekor a hívó válaszállapot-kódot 429 Too Many Requests
kap.
A sebességkorlátok és a kvóták közötti különbség megértéséhez tekintse meg a sebességkorlátokat és a kvótákat.
Figyelemfelhívás
A szabályozási architektúra elosztott jellege miatt a sebességkorlátozás soha nem teljesen pontos. Az engedélyezett kérelmek konfigurált és valós száma közötti különbség a kérések mennyiségének és sebességének, a háttér késésének és egyéb tényezőknek megfelelően változik.
Feljegyzés
Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.
Szabályzatutasítás
<rate-limit calls="number" renewal-period="seconds" retry-after-header-name="custom header name, replaces default 'Retry-After'"
retry-after-variable-name="policy expression variable name"
remaining-calls-header-name="header name"
remaining-calls-variable-name="policy expression variable name"
total-calls-header-name="header name">
<api name="API name" id="API id" calls="number" renewal-period="seconds" >
<operation name="operation name" id="operation id" calls="number" renewal-period="seconds" />
</api>
</rate-limit>
Attribútumok
Attribútum | Leírás | Kötelező | Alapértelmezett |
---|---|---|---|
Hívások | A megadott időintervallumban renewal-period engedélyezett hívások maximális teljes száma. A szabályzatkifejezések nem engedélyezettek. |
Igen | n/a |
megújítási időszak | A tolóablak másodpercben megadott hossza, amely során az engedélyezett kérelmek száma nem haladhatja meg a megadott calls értéket. Megengedett maximális érték: 300 másodperc. A szabályzatkifejezések nem engedélyezettek. |
Igen | n/a |
újrapróbálkozás a fejléc után | Annak az egyéni válaszfejlécnek a neve, amelynek értéke az ajánlott újrapróbálkozási időköz másodpercben a megadott hívási sebesség túllépése után. A szabályzatkifejezések nem engedélyezettek. | Nem | Retry-After |
újrapróbálkozó változó utáni név | Egy változó neve, amely a megadott hívási sebesség túllépése után másodpercekben tárolja az ajánlott újrapróbálkozási időközt. A szabályzatkifejezések nem engedélyezettek. | Nem | N.A. |
fennmaradó hívások-fejléc-név | Annak a válaszfejlécnek a neve, amelynek értéke az egyes szabályzatok végrehajtása után a megadott időintervallumban renewal-period engedélyezett hívások száma. A szabályzatkifejezések nem engedélyezettek. |
Nem | N.A. |
fennmaradó hívások-változó neve | Annak a változónak a neve, amely az egyes szabályzatok végrehajtása után tárolja a fennmaradó hívások számát a megadott időintervallumban renewal-period . A szabályzatkifejezések nem engedélyezettek. |
Nem | N.A. |
total-calls-header-name | Annak a válaszfejlécnek a neve, amelynek értéke a megadott calls érték. A szabályzatkifejezések nem engedélyezettek. |
Nem | N.A. |
Elemek
Elem | Leírás | Kötelező |
---|---|---|
api | Adjon hozzá egy vagy több ilyen elemet, hogy a terméken belüli API-kra vonatkozó hívási sebességkorlátot szabjon ki. A termék- és API-hívások sebességkorlátjai egymástól függetlenül lesznek alkalmazva. Az API-ra vagy a name id . Ha mindkét attribútum meg van adva, id a rendszer használja és name figyelmen kívül hagyja. |
Nem |
művelet | Adjon hozzá egy vagy több ilyen elemet, hogy hívássebesség-korlátot szabjon az API-n belüli műveletekre. A termék-, API- és művelethívási sebességkorlátok egymástól függetlenül lesznek alkalmazva. A műveletre a vagy id a segítségével name lehet hivatkozni. Ha mindkét attribútum meg van adva, id a rendszer használja és name figyelmen kívül hagyja. |
Nem |
api-attribútumok
Attribútum | Leírás | Kötelező | Alapértelmezett |
---|---|---|---|
név | Annak az API-nak a neve, amelyre alkalmazni szeretné a sebességkorlátot. | Vagy name meg id kell adni. |
n/a |
id | Annak az API-nak az azonosítója, amelyre alkalmazni szeretné a sebességkorlátot. | Vagy name meg id kell adni. |
n/a |
Hívások | A megadott időintervallumban renewal-period engedélyezett hívások maximális teljes száma. A szabályzatkifejezések nem engedélyezettek. |
Igen | n/a |
megújítási időszak | A tolóablak másodpercben megadott hossza, amely során az engedélyezett kérelmek száma nem haladhatja meg a megadott calls értéket. Megengedett maximális érték: 300 másodperc. A szabályzatkifejezések nem engedélyezettek. |
Igen | n/a |
műveleti attribútumok
Attribútum | Leírás | Kötelező | Alapértelmezett |
---|---|---|---|
név | Annak a műveletnek a neve, amelyre alkalmazni szeretné a sebességkorlátot. | Vagy name meg id kell adni. |
n/a |
id | Annak a műveletnek az azonosítója, amelyre alkalmazni szeretné a sebességkorlátot. | Vagy name meg id kell adni. |
n/a |
Hívások | A megadott időintervallumban renewal-period engedélyezett hívások maximális teljes száma. A szabályzatkifejezések nem engedélyezettek. |
Igen | n/a |
megújítási időszak | A tolóablak másodpercben megadott hossza, amely során az engedélyezett kérelmek száma nem haladhatja meg a megadott calls értéket. Megengedett maximális érték: 300 másodperc. A szabályzatkifejezések nem engedélyezettek. |
Igen | n/a |
Használat
- Szabályzatszakaszok: bejövő
- Szabályzat hatókörei: termék, API, művelet
- Átjárók: klasszikus, v2, használat, saját üzemeltetésű, munkaterület
Használati megjegyzések
- Ez a szabályzat szabályzatdefiníciónként csak egyszer használható.
- Ezt a szabályzatot csak akkor alkalmazza a rendszer, ha egy API-t egy előfizetési kulccsal érnek el.
- A sebességkorlátok száma egy saját üzemeltetésű átjáróban konfigurálható helyi szinkronizálásra (a fürtcsomópontok közötti átjárópéldányok között), például a Helm-diagram Kubernetes-alapú üzembe helyezésével vagy az Azure Portal üzembe helyezési sablonjainak használatával. A sebességkorlátok száma azonban nem szinkronizálható az API Management-példányban konfigurált többi átjáróerőforrással, beleértve a felhőben lévő felügyelt átjárót is. További információ
Példa
Az alábbi példában az előfizetésenkénti sebességkorlát 20 hívás/90 másodperc. Az egyes szabályzatok végrehajtása után az adott időszakban engedélyezett többi hívás a változóban remainingCallsPerSubscription
lesz tárolva.
<policies>
<inbound>
<base />
<rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/>
</inbound>
<outbound>
<base />
</outbound>
</policies>
Kapcsolódó szabályzatok
Kapcsolódó tartalom
A szabályzatok használatával kapcsolatos további információkért lásd:
- Oktatóanyag: AZ API átalakítása és védelme
- Szabályzathivatkozás a szabályzatutasságok és azok beállításainak teljes listájához
- Házirend-kifejezések
- Házirendek beállítása vagy szerkesztése
- Szabályzatkonfigurációk újrafelhasználása
- Szabályzatrészletek adattára
- Azure API Management policy toolkit
- Szabályzatok létrehozása a Microsoft Copilot használatával az Azure-ban