Przeglądasz dokumentację Apigee Edge.
  Przejdź do
     Dokumentacja Apigee X. informacje.
Omówienie
Zasada MonetizationLimitsCheck pozwala egzekwować limity zarabiania na wywołaniach interfejsu API przez dewelopera aplikacji.
Oto kilka przypadków wywołania zasady:
- Jeśli deweloper aplikacji, który uzyskuje dostęp do interfejsu API monetyzacji, nie kupił subskrypcji powiązana usługa API
- Na koncie dewelopera nie ma wystarczających środków.
- Deweloper przekroczył limit liczby transakcji.
Informacje na temat dołączania zasad do serwera proxy interfejsu API znajdziesz w sekcji Egzekwuj limity zarabiania na serwerach proxy interfejsu API.
<MonetizationLimitsCheck> element
Określa zasadę MonetizationLimitsCheck.
| Wartość domyślna | Nie dotyczy | 
| Wymagany? | Wymagane | 
| Typ | Typ złożony | 
| Element nadrzędny | Nie dotyczy | 
| Elementy podrzędne | <DisplayName><FaultResponse><IgnoreUnresolvedVariables><Variables> | 
W tej tabeli znajdziesz ogólny opis elementów podrzędnych elementu <MonetizationLimitsCheck>:
| Element podrzędny | Wymagana? | Opis | 
|---|---|---|
| <DisplayName> | Opcjonalnie | Własna nazwa zasady. | 
| <FaultResponse> | Opcjonalnie | Określa komunikat z odpowiedzią zwracany do klienta wysyłającego żądanie, gdy pojawia się błąd. | 
| <IgnoreUnresolvedVariables> | Opcjonalnie | Określa, czy przetwarzanie zatrzymuje się po napotkaniu nierozwiązanej zmiennej. | 
| <Variables> | Opcjonalnie | Określa zmienne procesu, które mają zostać sprawdzone pod kątem limitów zarabiania. | 
Element <MonetizationLimitsCheck> ma taką składnię:
Składnia
<?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>
Przykład
Oto przykład definicji zasady MonetizationLimitsCheck:
<?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>
Ten element ma te atrybuty, które są wspólne dla wszystkich zasad:
| Atrybut | Domyślnie | Wymagany? | Description | 
|---|---|---|---|
| name | Nie dotyczy | Wymagane | Wewnętrzna nazwa zasady. Wartość atrybutu  Opcjonalnie użyj elementu  | 
| continueOnError | fałsz | Opcjonalnie | Ustaw wartość „false”, aby wyświetlać błąd, gdy zasada nie działa. To prawidłowy proces w przypadku większości zasad. Ustaw wartość „true”, aby kontynuować wykonywanie przepływu nawet po wystąpieniu błędu. | 
| enabled | prawda | Opcjonalnie | Ustaw wartość „true”, aby egzekwować zasadę. Ustaw wartość „false”, aby wyłączyć zasadę. Zasada nie będzie egzekwowana, nawet jeśli pozostanie powiązana z przepływem. | 
| async | fałsz | Wycofano | Ten atrybut został wycofany. | 
Odniesienie do elementu podrzędnego
W tej sekcji opisano elementy podrzędne elementu<MonetizationLimitsCheck>.
    
  
 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
      
    
  
  
  
<DisplayName>
  Używaj go w połączeniu z atrybutem name, aby oznaczyć zasadę w edytorze proxy interfejsu zarządzania inną, bardziej naturalnie brzmiącą nazwą.
Element <DisplayName> jest wspólny dla wszystkich zasad.
| Wartość domyślna | nie dotyczy | 
| Wymagany? | Opcjonalnie. Jeśli pominiesz <DisplayName>, używana jest wartość atrybutunamezasady. | 
| Typ | Ciąg znaków | 
| Element nadrzędny | <PolicyElement> | 
| Elementy podrzędne | Brak | 
Element <DisplayName> ma tę składnię:
Składnia
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
Przykład
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
Element <DisplayName> nie ma atrybutów ani elementów podrzędnych.
<IgnoreUnresolvedVariables> 
Określa, czy przetwarzanie zasady powinno zostać zatrzymane, gdy Apigee natrafi na nierozwiązaną zmienną.
| Wartość domyślna | Prawda | 
| Wymagany? | Opcjonalnie | 
| Typ | Wartość logiczna | 
| Element nadrzędny | <MonetizationLimitsCheck> | 
| Elementy podrzędne | Brak | 
Aby zignorować nierozstrzygnięte zmienne i kontynuować przetwarzanie, ustaw wartość na true;
   w przeciwnym razie: false. Wartością domyślną jest true.
Ustawienie <IgnoreUnresolvedVariables> na true różni się od ustawienia elementu <MonetizationLimitsCheck>
  continueOnError do true. Jeśli ustawisz continueOnError na true, Apigee będzie ignorować wartości
  błędy zmiennych,
ale też wszystkie błędy.
Element <IgnoreUnresolvedVariables> ma taką składnię:
Składnia
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Przykład
Ten przykład ustawia <IgnoreUnresolvedVariables> na false:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables> 
Określa zmienne przepływu, z których chcesz pobrać nazw encji lub zasobów podczas wykonywania zasady.
Element <Product> możesz określić tylko w elemencie <Variables>. Apigee uzyskuje
  nazwę produktu API ze zmiennej przepływu określonej w elemencie <Product>. Jeśli
  nie określa elementu <Variables>, Apigee domyślnie pobiera nazwę usługi interfejsu API z
  apiproduct.name – zmienna kontekstowa. Dzięki użyciu nazwy usługi API Apigee pobiera
odpowiedni abonament usługi i sprawdza limity zarabiania.
| Wartość domyślna | Nie dotyczy | 
| Wymagany? | Opcjonalnie | 
| Typ | Typ złożony | 
| Element nadrzędny | <MonetizationLimitsCheck> | 
| Elementy podrzędne | <Product> | 
Element <Variables> ma taką składnię:
Składnia
<Variables>
    <Product>VARIABLE_NAME</Product>
</Variables>Przykład
Ten przykład pobiera nazwę produktu API z niestandardowej zmiennej przepływu myproductvar.name
    obecne w przepływie serwera proxy interfejsu API.
<Variables> <Product>myproductvar.name</Product> </Variables>
Niestandardowe zmienne przepływu możesz ustawiać za pomocą zasad takich jak AssignMessage czy JavaScript.
<Product> 
Określa zmienną z nazwą usługi API.
| Wartość domyślna | Nie dotyczy | 
| Wymagany? | Opcjonalnie | 
| Typ | Ciąg znaków | 
| Element nadrzędny | <Variables> | 
| Elementy podrzędne | Brak | 
Element <Product> ma taką składnię:
Składnia
<Product>VARIABLE_NAME</Product>
Przykład
Ten przykład pobiera nazwę produktu API z niestandardowej zmiennej przepływu myproductvar.name
  obecne w przepływie serwera proxy interfejsu API.
<Product>myproductvar.name</Product>
Niestandardowe zmienne przepływu możesz ustawiać za pomocą zasad takich jak AssignMessage czy JavaScript.
<FaultResponse> 
Określa komunikat z odpowiedzią zwracany do klienta żądającego, jeśli zostanie zgłoszony błąd. Możesz dostosować odpowiedź wiadomości zgodnie z wymaganiami. Więcej informacji na temat elementu i wszystkich jego elementów podrzędnych – patrz FaultResponse.
Zmienne przepływu
Jeśli ustawisz w elemencie <MonetizationLimitsCheck> atrybut
  ContinueOnError ma wartość true (prawda), brak błędu. W tym przypadku parametr
  zmienne przepływu, mint.limitsViolated, mint.isDeveloperSuspended i
  mint.limitsPolicyError są ustawiane automatycznie. Tych zmiennych można użyć do:
  w razie potrzeby przeprowadzić dalszą obsługę wyjątków.