Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UYGULANANLAR: Tüm API Management katmanları
İlke, rate-limit çağrı oranını belirli bir zaman aralığı için belirtilen bir numarayla sınırlayarak API kullanımındaki ani artışları abonelik başına engeller. Çağrı oranı aşıldığında, arayan bir 429 Too Many Requests yanıt durum kodu alır.
Hız sınırları ile kotalar arasındaki farkı anlamak için bkz. Hız sınırları ve kotalar.
Dikkat
Azaltma mimarisinin dağıtılmış yapısı nedeniyle hız sınırlaması hiçbir zaman tam olarak doğru değildir. yapılandırılmış izin verilen istek sayısı ile gerçek sayı arasındaki fark, istek hacmine ve hızına, arka uç gecikme süresine ve diğer faktörlere bağlı olarak değişir.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
İlke bildirimi
<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>
Özellikler
| Öznitelik | Açıklama | Zorunlu | Varsayılan |
|---|---|---|---|
| Aramalar | içinde renewal-periodbelirtilen zaman aralığında izin verilen toplam çağrı sayısı üst sınırı. İlke ifadelerine izin verilmez. |
Evet | Yok |
| yenileme süresi | İzin verilen istek sayısının içinde callsbelirtilen değeri aşmaması gereken kayan pencerenin saniye cinsinden uzunluğu. İzin verilen maksimum değer: 300 saniye. İlke ifadelerine izin verilmez. |
Evet | Yok |
| retry-after-header-name | Değeri, belirtilen çağrı hızı aşıldıktan sonra saniye cinsinden önerilen yeniden deneme aralığı olan özel yanıt üst bilgisinin adı. İlke ifadelerine izin verilmez. | Hayır | Retry-After |
| retry-after-variable-name | Belirtilen çağrı hızı aşıldıktan sonra önerilen yeniden deneme aralığını saniyeler içinde depolayan değişkenin adı. İlke ifadelerine izin verilmez. | Hayır | Yok |
| remaining-calls-header-name | Her ilke yürütmeden sonraki değeri içinde belirtilen zaman aralığı için izin verilen kalan çağrı sayısı olan yanıt üst bilgisinin renewal-periodadıdır. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| remaining-calls-variable-name | Her ilke yürütmeden sonra içinde belirtilen zaman aralığı için izin verilen çağrıların sayısını depolayan bir değişkenin renewal-periodadı. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| total-calls-header-name | değeri içinde callsbelirtilen değer olan bir yanıt üst bilgisinin adı. İlke ifadelerine izin verilmez. |
Hayır | Yok |
Öğeler
| Öğe | Açıklama | Zorunlu |
|---|---|---|
| API | Ürün içindeki API'lere çağrı oranı sınırı uygulamak için bu öğelerden birini veya daha fazlasını ekleyin. Ürün ve API çağrı hızı sınırları bağımsız olarak uygulanır. API'ye veya namearacılığıyla id başvurulabilir. Her iki öznitelik de sağlanmışsa id kullanılır ve name yoksayılır. |
Hayır |
| Operasyon | Bir API içindeki işlemlere çağrı oranı sınırı uygulamak için bu öğelerden birini veya daha fazlasını ekleyin. Ürün, API ve işlem çağrı hızı sınırları bağımsız olarak uygulanır. İşleme veya namearacılığıyla id başvurulabilir. Her iki öznitelik de sağlanmışsa id kullanılır ve name yoksayılır. |
Hayır |
api öznitelikleri
| Öznitelik | Açıklama | Zorunlu | Varsayılan |
|---|---|---|---|
| Adı | Hız sınırının uygulanacağı API'nin adı. | Veya nameid belirtilmelidir. |
Yok |
| kimlik | Hız sınırının uygulanacağı API'nin kimliği. | Veya nameid belirtilmelidir. |
Yok |
| Aramalar | içinde renewal-periodbelirtilen zaman aralığında izin verilen toplam çağrı sayısı üst sınırı. İlke ifadelerine izin verilmez. |
Evet | Yok |
| yenileme süresi | İzin verilen istek sayısının içinde callsbelirtilen değeri aşmaması gereken kayan pencerenin saniye cinsinden uzunluğu. İzin verilen maksimum değer: 300 saniye. İlke ifadelerine izin verilmez. |
Evet | Yok |
işlem öznitelikleri
| Öznitelik | Açıklama | Zorunlu | Varsayılan |
|---|---|---|---|
| Adı | Hız sınırının uygulanacağı işlemin adı. | Veya nameid belirtilmelidir. |
Yok |
| kimlik | Hız sınırının uygulanacağı işlemin kimliği. | Veya nameid belirtilmelidir. |
Yok |
| Aramalar | içinde renewal-periodbelirtilen zaman aralığında izin verilen toplam çağrı sayısı üst sınırı. İlke ifadelerine izin verilmez. |
Evet | Yok |
| yenileme süresi | İzin verilen istek sayısının içinde callsbelirtilen değeri aşmaması gereken kayan pencerenin saniye cinsinden uzunluğu. İzin verilen maksimum değer: 300 saniye. İlke ifadelerine izin verilmez. |
Evet | Yok |
Kullanım
- İlke bölümleri: gelen
- İlke kapsamları: ürün, API, işlem
- Ağ geçitleri: klasik, v2, tüketim, şirket içinde barındırılan, çalışma alanı
Kullanım notları
- Bu ilke, ilke tanımı başına yalnızca bir kez kullanılabilir.
- Bu ilke yalnızca bir API'ye abonelik anahtarı kullanılarak erişildiğinde uygulanır.
- Şirket içinde barındırılan bir ağ geçidindeki hız sınırı sayısı, yerel olarak (küme düğümleri arasındaki ağ geçidi örnekleri arasında), örneğin Kubernetes için Helm grafiği dağıtımı veya Azure portalı dağıtım şablonları kullanılarak eşitlenecek şekilde yapılandırılabilir. Ancak hız sınırı sayıları, buluttaki yönetilen ağ geçidi de dahil olmak üzere API Management örneğinde yapılandırılan diğer ağ geçidi kaynaklarıyla eşitlenmez. Daha fazla bilgi edinin
- Bu ilke, çalışma alanı ağ geçitleri ve çok bölgeli dağıtımdaki bölgesel ağ geçitleri dahil olmak üzere uygulandığı her ağ geçidinde çağrıları bağımsız olarak izler. Çağrı verilerini tüm örnek genelinde toplamaz.
Örnek
Aşağıdaki örnekte abonelik başına hız sınırı 90 saniyede 20 çağrıdır. Her ilke yürütmeden sonra, zaman aralığında izin verilen kalan çağrılar değişkeninde remainingCallsPerSubscriptiondepolanır.
<policies>
<inbound>
<base />
<rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/>
</inbound>
<outbound>
<base />
</outbound>
</policies>
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- İlke oyun alanı deposu
- Azure API Management ilke araç seti
- Politikalar oluşturmak, açıklamak ve sorun gidermek için Copilot yardımı alın