Sıfırlama Politikası

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Ne?

Hedef Kota politikasının izin verdiği kalan istek sayısını dinamik olarak değiştirmek için kullanın. Bu politikayı genellikle hedef Kota politikasının mevcut kota sayısını azaltmak için kullanırsınız. .

Örneğin, hedef kota politikası bir geliştiriciyi haftada 1.000 istekle sınırlandırır. Yazarak haftanın ikinci gününde geliştirici bu sınıra zaten ulaşmıştır. Kota Sıfırlama politikasını kullanma kalan kota için 500 isteğe daha fazla izin vermek üzere görebilirsiniz. Haftanın sonunda Kota politikası sıfırlanır ve geliştirici 1.000 değerine geri döner. haftalık istekler.

Daha fazla bilgi için Kota politikası bölümüne bakın Kota politikası. Ayrıca bkz. Topluluk gönderisi ile daha fazla bilgi edinebilirsiniz.

Örnekler

Bu politika kodu örnekleri, kota sayaçlarının nasıl sıfırlanacağını gösterir:

Varsayılan Sayacı Sıfırla

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Kota Sıfırlama politikası, <Quota> etiketinin name özelliğini kullanarak hedef Kota politikasını belirtir. Yukarıdaki örnekte, hedef, MyQuotaPolicy politikasıdır.

Tüm Kota Sıfırlama politikaları,&lt;Identifier&gt; sayaç'ı tıklayın. Kota politikalarında varsayılan olarak tek bir sayaç bulunur. Kota politikası &lt;Identifier&gt; etiketini içermiyorsa. Bu örnekte Hedef Kota politikası &lt;Identifier&gt; etiketini kullanmaz; dolayısıyla name özelliğini _default olarak ayarlamanız gerekir.

&lt;Allow&gt; öğesi hedef politikadaki mevcut kota sayısını azaltmak için kullanılan değeri belirtir. Burada Örneğin, hedef Kota'ya 100 isteğe daha izin vermek için kota sayısı 100 azaltılır. politikası. Hedef Kota politikası sıfırlandığında bu değişiklik silinir.

Aşağıda, hedef kota politikasının tanımı verilmiştir:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Referans Kullanma

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

Bu örnekte, hedef Kota politikasının adını ve kotasındaki değişikliği iletirsiniz. sayısı, istekteki başlık olarak kabul edilir. Daha sonra, bu anahtar kelimeleri içeren akış değişkenlerine kota sıfırlama politikasındaki değerlerdir.

Tanımlayıcıyı belirtin

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

Hedef Kota politikası &lt;Identifier&gt; etiketini belirtiyorsa Kotayı Sıfırla'nın &lt;Identifier&gt; etiketiyle aynı değeri belirtir. politikasını uygulayın. &lt;Identifier&gt; etiketinin hedefteki Aşağıdaki kota politikası, Kota Sıfırlama politikasında belirtilen değerle eşleşir:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

Öğe referansı

Öğe referansı, Kota Sıfırlama politikasının öğelerini ve özelliklerini açıklar.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

&lt;ResetQuota&gt; özellikler

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1"> 

Aşağıdaki tabloda tüm politika üst öğelerinde ortak olan özellikler açıklanmaktadır:

Özellik Açıklama Varsayılan Varlık
name

Politikanın dahili adı. name özelliğinin değeri Harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içermelidir. Bu değer, 255 karakteri aşmalıdır.

İsteğe bağlı olarak, politikayı<DisplayName> yönetim arayüzü proxy düzenleyicisinde farklı bir doğal dil adı kullanabilir.

Yok Zorunlu
continueOnError

Bir politika başarısız olduğunda hata döndürmesi için false olarak ayarlayın. Bu beklenen bir durumdur çoğu politika için geçerli olur.

Akış yürütmenin bir politikadan sonra bile devam etmesi için true olarak ayarlayın başarısız olur.

false İsteğe bağlı
enabled

Politikayı uygulamak için true olarak ayarlayın.

Politikayı devre dışı bırakmak için false değerine ayarlayın. Bu politika, bir akışa bağlı kalsa bile uygulanır.

true İsteğe bağlı
async

Bu özelliğin desteği sonlandırıldı.

false Kullanımdan kaldırıldı

&lt;DisplayName&gt; öğe

Politikayı name özelliğine ek olarak farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.

<DisplayName>Policy Display Name</DisplayName>
Varsayılan

Yok

Bu öğeyi çıkarırsanız politikanın name özelliğinin değeri: kullanılır.

Varlık İsteğe bağlı
Tür Dize

&lt;Quota&gt; öğe

Sayacının güncellenmesi gereken hedef Kota politikasını tanımlar.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Varsayılan: Yok
Bulunma: Zorunlu
Tür: Yok

Özellikler

Özellik Açıklama Varsayılan Varlık
ad

Hedef Kota politikasının adını belirtir.

Yok İsteğe bağlı
referans Hedef Kota politikasının adını içeren bir akış değişkeni. Eğer hem ref hem de name belirtildiğinde, ref öncelikli olur. ref değeri bulunmazsa name kullanılır. Yok İsteğe bağlı

&lt;Quota&gt;/&lt;Identifier&gt; öğe

Hedef Kota politikasında belirtilen durumlarda sayacı benzersiz şekilde tanımlamak için kullanılan değişken &lt;Identifier&gt; etiketinin alt etiketidir.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
Varsayılan: Yok
Bulunma: Zorunlu
Tür: Dize

Özellikler

Özellik Açıklama Varsayılan Varlık
ad

Hedef Kota politikasındaki sayı tanımlayıcısının adını belirtir. Kota İçin &lt;Identifier&gt; etiketini kullanmayan bir politika belirlemek için _default olarak ayarlamanız gerekir.

Yok İsteğe bağlı
referans

Hedef Kotadaki sayı tanımlayıcısının adını içeren bir akış değişkeni politikası. Hem ref hem de name belirtilirse ref öncelikli olur. ref şu saatte çözümlenmezse: name kullanılır.

Yok İsteğe bağlı

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Allow&gt; öğe

Kota sayacının azaltılacağı miktarı belirtir. &lt;Allow&gt; değeri belirtmeniz gerekir; aksi takdirde, politika kotayı değiştirebilirsiniz.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
Varsayılan: Yok
Bulunma: Zorunlu
Tür: Tamsayı

Özellikler

Özellik Açıklama Varsayılan Varlık
referans

Hedef Kota politikasındaki kota sayısındaki değişikliği içeren bir akış değişkeni.

Yok İsteğe bağlı

&lt;Quota&gt;/&lt;Identifier&gt;/&lt;Class&gt; öğe

Kota sayacının güncelleneceği sınıfı belirtir. Kota politikası, bkz. Ko politikasına tabidir.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
Varsayılan: Yok
Bulunma: İsteğe bağlı
Tür: Yok

Özellikler

Özellik Açıklama Varsayılan Varlık
referans

Güncellenecek kota sınıfını içeren akış değişkenine referans.

Yok İsteğe bağlı

Hata referansı

This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

These errors can occur when the policy executes.

Fault code HTTP status Cause Fix
policies.resetquota.InvalidRLPolicy 500 The Quota policy specified in the <Quota> element of the Reset Quota policy is not defined in the API proxy and thus is not available during the flow. The <Quota> element is mandatory and identifies the target Quota policy whose counter should be updated through the Reset Quota policy.
policies.resetquota.FailedToResolveAllowCountRef N/A The reference to the variable containing the allow count in the <Allow> element of the policy cannot be resolved to a value. This element is mandatory and specifies the amount to decrease the quota counter.
policies.resetquota.FailedToResolveRLPolicy 500 The variable referenced by the ref attribute in the <Quota> element cannot be resolved.

Deployment errors

These errors can occur when you deploy a proxy containing this policy.

Error name Cause Fix
InvalidCount If the count value specified in the <Allow> element of the Reset Quota Policy is not an integer, then the deployment of the API proxy fails.

Şemalar

İlgili konular

Kota politikası