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 kazandırma sınırları uygulamanıza olanak tanır.
Politikanın tetiklendiği durumlardan bazıları şunlardır:
- Para kazanma özelliği etkinleştirilmiş API'ye erişen bir uygulama geliştiricisi, ilişkili API ürününe 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 nasıl ekleyeceğiniz hakkında bilgi edinmek için API proxy'lerinde para kazandırma sınırlarını zorunlu kılma başlıklı makaleyi inceleyin.
<MonetizationLimitsCheck> öğesi
MonetizationLimitsCheck politikasını belirtir.
| Varsayılan Değer | Yok |
| Zorunlu mu? | Zorunlu |
| Tür | Karmaşık tür |
| Üst öğe | Yok |
| Alt Öğeler |
<DisplayName><FaultResponse><IgnoreUnresolvedVariables><Variables> |
Aşağıdaki tabloda, <MonetizationLimitsCheck> öğesinin alt öğeleriyle ilgili üst düzey bir açıklama verilmektedir:
| Alt öğe | Zorunlu mu? | Açıklama |
|---|---|---|
<DisplayName> |
İsteğe bağlı | Politika için özel bir ad. |
<FaultResponse> |
İsteğe bağlı | Hata oluştuğunda istekte bulunan istemciye döndürülen yanıt mesajını belirtir. |
<IgnoreUnresolvedVariables> |
İsteğe bağlı | Çözümlenmemiş bir değişkenle karşılaşıldığında işlemenin durdurulup durdurulmayacağını belirler. |
<Variables> |
İsteğe bağlı | Para kazanma sınırları için kontrol edilecek 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ı. İsteğe bağlı olarak, politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı, doğal bir dille etiketlemek için |
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> öğesinin alt öğeleri açıklanmaktadır.
<DisplayName>
Politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı ve daha doğal bir adla etiketlemek için name özelliğiyle birlikte kullanın.
<DisplayName> öğesi tüm politikalarda ortaktır.
| Varsayılan Değer | Yok |
| Zorunlu mu? | İsteğe bağlı. <DisplayName> özelliğini atlarsanı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 durdurulup durdurulmayacağını belirler.
| Varsayılan Değer | Doğru |
| Zorunlu mu? | İsteğe bağlı |
| Tür | Boole |
| Üst öğe |
<MonetizationLimitsCheck> |
| Alt Öğeler | Yok |
Çözümlenmemiş değişkenleri yoksaymak ve işleme devam etmek için değeri true olarak ayarlayın;
aksi takdirde false. Varsayılan değer true'dır.
<IgnoreUnresolvedVariables> öğesini true olarak ayarlamak, <MonetizationLimitsCheck> öğesinin continueOnError özelliğini true olarak ayarlamaktan farklıdır. continueOnError değerini true olarak ayarlarsanız Apigee yalnızca değişken hatalarını değil, tüm hataları yoksayar.
<IgnoreUnresolvedVariables> öğesi şu söz dizimini kullanır:
Söz dizimi
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Örnek
Aşağıdaki örnekte <IgnoreUnresolvedVariables>, false olarak ayarlanır:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
Politika yürütülürken varlık veya kaynak adlarını getirmek istediğiniz akış değişkenlerini belirtir.
<Variables> öğesi 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ünün 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 örnek, API proxy akışınızda bulunan myproductvar.nameözel akış değişkeninden
API ürün adını alı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 örnek, API proxy akışınızda bulunan myproductvar.nameözel akış değişkeninden
API ürün adını alır.
<Product>myproductvar.name</Product>
AssignMessage veya JavaScript gibi politikaları kullanarak özel akış değişkenleri ayarlayabilirsiniz.
<FaultResponse>
Bir 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. öğesi ve tüm alt öğeleri hakkında daha fazla bilgi için FaultResponse bölümüne bakın.
Akış değişkenleri
<MonetizationLimitsCheck> öğesinin ContinueOnError özelliğini doğru olarak ayarlarsanız hata oluşmaz. Bu durumda, akış değişkenleri mint.limitsViolated, mint.isDeveloperSuspended ve mint.limitsPolicyError otomatik olarak ayarlanır. Bu değişkenler, gerekirse daha fazla istisna işleme gerçekleştirmek için kullanılabilir.