MonetizationLimitsCheck politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Genel bakış

MonetizationLimitsCheck politikası, uygulama geliştirici tarafından yapılan API çağrılarınızda para kazanma sınırları uygulayabilmenizi sağlar.

Politikanın tetiklendiği durumlardan bazıları şunlardır:

  • Para kazanılan API'ye erişen bir uygulama geliştiricisi, ilişkili API ürünü için abonelik satın almamışsa
  • Geliştiricinin hesabında yeterli bakiye yok.
  • Geliştirici, işlem hacmi sınırını aştı.

Politikayı API proxy'nize ekleme hakkında bilgi için API proxy'lerinde para kazanma sınırları uygulama başlıklı makaleye bakın.

<MonetizationLimitsCheck> öğe

MonetizationLimitsCheck politikasını belirtir.

Varsayılan Değer Yok
Zorunlu mu? Gerekli
Tür Karmaşık tür
Üst Öğe Yok
Alt Öğeler <DisplayName>
<FaultResponse>
<IgnoreUnresolvedVariables>
<Variables>

Aşağıdaki tabloda <MonetizationLimitsCheck> alt öğelerinin üst düzey açıklaması verilmiştir:

Alt Öğe Zorunlu mu? Açıklama
<DisplayName> İsteğe bağlı Politika için özel bir ad.
<FaultResponse> İsteğe bağlı Hata bildirildiğinde istekte bulunan istemciye döndürülen yanıt mesajını belirtir.
<IgnoreUnresolvedVariables> İsteğe bağlı Çözülmemiş bir değişkenle karşılaşıldığında işlemenin durup durmayacağını belirler.
<Variables> İsteğe bağlı Para kazanma sınırlarını kontrol etmek için akış değişkenlerini belirtir.

<MonetizationLimitsCheck> öğesi şu söz dizimini kullanır:

Söz dizimi

<?xml version="1.0" encoding="UTF-8"?>
<MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="POLICY_NAME">
    <DisplayName>DISPLAY_NAME</DisplayName>
    <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
    <Variables>
        <Product>VARIABLE_NAME</Product>
    </Variables>
    <FaultResponse>
        <Set>
            <Payload contentType="text/xml">
                <error>
                    <messages>
                        <message>MESSAGE_TEXT</message>
                        <message>MESSAGE_TEXT</message>
                    </messages>
                </error>
            </Payload>
            <StatusCode>HTTP_STATUS</StatusCode>
            <ReasonPhrase>REASON_TEXT</ReasonPhrase>
        </Set>
    </FaultResponse>
</MonetizationLimitsCheck>

Örnek

Aşağıdaki örnekte MonetizationLimitsCheck politika tanımı gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="Monetization-Limits-Check">
    <DisplayName>Monetization Limits Check</DisplayName>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <Variables>
        <Product>myproductvar.name</Product>
    </Variables>
	<FaultResponse>
	        <Set>
	            <Payload contentType="text/xml">
	                <error>
	                    <messages>
	                        <message>Developer has reached usage quota</message>
	                        <message>Is Developer Suspended - {monetizationLimits.isDeveloperSuspended} </message>
	                    </messages>
	                </error>
	            </Payload>
	            <StatusCode>403</StatusCode>
	            <ReasonPhrase>Forbidden</ReasonPhrase>
	        </Set>
	</FaultResponse>
 </MonetizationLimitsCheck>

Bu öğe, tüm politikalarda ortak olan aşağıdaki özelliklere sahiptir:

Özellik Varsayılan Zorunlu mu? Açıklama
name Yok Zorunlu

Politikanın dahili adı. name özelliğinin değeri harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içerebilir. Bu değer 255 karakteri aşamaz.

İsteğe bağlı olarak, politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı, doğal bir dille etiketlemek için <DisplayName> öğesini kullanın.

continueOnError yanlış İsteğe bağlı Politika başarısız olduğunda hata döndürmek için "false" değerine ayarlayın. Bu, çoğu politika için beklenen bir durumdur. Bir politika başarısız olsa bile akış yürütmenin devam etmesi için değeri "true" olarak ayarlayın.
enabled true İsteğe bağlı Politikayı uygulamak için "true" (doğru) değerine ayarlayın. Politikayı "kapalı" hale getirmek için "false" değerine ayarlayın. Politika, bir akışa bağlı kalsa bile zorunlu kılınmaz.
async   yanlış Kullanımdan kaldırıldı Bu özellik kullanımdan kaldırıldı.

Alt öğe referansı

Bu bölümde <MonetizationLimitsCheck> alt öğeleri açıklanmaktadır.

<DisplayName>

Politikayı, yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı, daha doğal bir adla etiketlemek için name özelliğine ek olarak kullanın.

<DisplayName> öğesi tüm politikalarda ortaktır.

Varsayılan Değer Yok
Zorunlu mu? İsteğe bağlı. <DisplayName> özelliğini çıkarırsanız politikanın name özelliğinin değeri kullanılır
Tür Dize
Üst Öğe <PolicyElement>
Alt Öğeler Yok

<DisplayName> öğesi şu söz dizimini kullanır:

Söz dizimi

<PolicyElement>
  <DisplayName>policy_display_name</DisplayName>
  ...
</PolicyElement>

Örnek

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

<DisplayName> öğesinin özelliği veya alt öğesi yoktur.

<IgnoreUnresolvedVariables>

Apigee, çözümlenmemiş bir değişkenle karşılaştığında politikanın işlenmesinin durup durmayacağını belirler.

Varsayılan Değer Doğru
Zorunlu mu? İsteğe bağlı
Tür Boole
Üst Öğe <MonetizationLimitsCheck>
Alt Öğeler Yok

Çözülmemiş değişkenleri yoksayıp işlemeye devam etmek için değeri true, aksi takdirde false olarak ayarlayın. Varsayılan değer: true.

<IgnoreUnresolvedVariables> öğesinin true değerine ayarlanması, <MonetizationLimitsCheck> öğesinin continueOnError özelliğinin true olarak ayarlanmasından farklıdır. continueOnError öğesini true olarak ayarlarsanız Apigee yalnızca değişken hatalarını değil, tüm hataları da göz ardı eder.

<IgnoreUnresolvedVariables> öğesi şu söz dizimini kullanır:

Söz dizimi

<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>

Örnek

Aşağıdaki örnekte <IgnoreUnresolvedVariables> değeri false olarak ayarlanmaktadır:

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<Variables>

Politika yürütme sırasında varlık veya kaynak adlarını getirmek istediğiniz akış değişkenlerini belirtir.

<Variables> öğesinin içinde yalnızca <Product> öğesini belirtebilirsiniz. Apigee, API ürün adını <Product> öğesinde belirtilen akış değişkeninden alır. <Variables> öğesini belirtmezseniz Apigee, varsayılan olarak API ürün adını apiproduct.name bağlam değişkeninden alır. Apigee, API ürün adını kullanarak ürüne karşılık gelen ücret planını alır ve para kazanma sınırları kontrolünü gerçekleştirir.

Varsayılan Değer Yok
Zorunlu mu? İsteğe bağlı
Tür Karmaşık tür
Üst Öğe <MonetizationLimitsCheck>
Alt Öğeler <Product>

<Variables> öğesi şu söz dizimini kullanır:

Söz dizimi

<Variables>
    <Product>VARIABLE_NAME</Product>
</Variables>

Örnek

Aşağıdaki örnekte API ürün adı, API proxy akışınızda bulunan myproductvar.name özel akış değişkeninden alınmaktadır.

<Variables>
    <Product>myproductvar.name</Product>
</Variables>

AssignMessage veya JavaScript gibi politikaları kullanarak özel akış değişkenleri ayarlayabilirsiniz.

<Product>

API ürün adını içeren değişkeni belirtir.

Varsayılan Değer Yok
Zorunlu mu? İsteğe bağlı
Tür Dize
Üst Öğe <Variables>
Alt Öğeler Yok

<Product> öğesi şu söz dizimini kullanır:

Söz dizimi

<Product>VARIABLE_NAME</Product>

Örnek

Aşağıdaki örnekte API ürün adı, API proxy akışınızda bulunan myproductvar.name özel akış değişkeninden alınmaktadır.

<Product>myproductvar.name</Product>

AssignMessage veya JavaScript gibi politikaları kullanarak özel akış değişkenleri ayarlayabilirsiniz.

<FaultResponse>

Hata oluştuğunda istekte bulunan istemciye döndürülen yanıt mesajını tanımlar. Yanıt mesajlarını gereksinimlerinize göre özelleştirebilirsiniz. Öğe ve tüm alt öğeleri hakkında daha fazla bilgi için FaultResponse konusuna bakın.

Akış değişkenleri

<MonetizationLimitsCheck> öğesinin ContinueOnError özelliğini true olarak ayarlarsanız herhangi bir hata bildirilmez. Bu durumda mint.limitsViolated, mint.isDeveloperSuspended ve mint.limitsPolicyError akış değişkenleri otomatik olarak ayarlanır. Gerekirse bu değişkenler daha fazla istisna işleme almak için kullanılabilir.