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ı. İ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>
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.