Kota politikası dağıtımı hatasını giderme

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

InvalidQuotaInterval

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
Invalid quota interval [interval] in quota policy [policy_name].

Örnek hata mesajı

Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.

Örnek ekran görüntüsü

Neden

Kota Politikası'nın <Interval> öğesinde belirtilen kota aralığı tam sayı değilse API proxy'sinin dağıtımı başarısız olur.

Örneğin, Kota Politikası'nın <Interval> öğesinde belirtilen kota aralığı 0, 1 ise API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hatanın oluştuğu Kota politikasını ve geçersiz kota aralığını tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı Quota-1, geçersiz kota aralığı ise 0.1 şeklindedir:

    Error Saving Revision 1
    Invalid quota interval 0.1 in quota policy Quota-1.
    
  2. Başarısız Kota politikasında belirtilen kota aralığı değerinin, hata mesajında (yukarıdaki 1. adım) tanımlanan değerle eşleştiğini doğrulayın. Örneğin, aşağıdaki politika kota aralığının değerini 0.1 olarak belirtir. Bu değer, hata mesajındaki değerle eşleşir:

    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
     <DisplayName>Quota-1</DisplayName>
     <Properties />
     <Allow count="3" />
     <Interval>0.1</Interval>
     <TimeUnit>minute</TimeUnit>
    </Quota>
    
  3. Belirtilen kota aralığının tam sayı olmaması, hatanın nedenidir.

    Yukarıda gösterilen Kota Politikası örneğinde, kota aralığının değeri tam sayı olmayan 0, 1'dir. Bu nedenle, API Proxy'sinin dağıtımı şu hatayla başarısız olur:

    Invalid quota interval 0.1 in quota policy Quota-1.
    

Çözünürlük

Kota Politikası'nın <Interval> öğesinde belirtilen kota aralığı değerinin tam sayı olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

InvalidQuotaTimeUnit

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
Invalid quota interval time unit [time_unit] in quota policy
[policy_name] in Revision [revision_number] of application
[proxy_name], in organization [org_name].

Örnek hata mesajı

Error Saving Revision 1
Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.

Örnek ekran görüntüsü

Neden

Kota politikasının <TimeUnit> öğesinde belirtilen zaman birimi desteklenmiyorsa API proxy'sinin dağıtımı başarısız olur.

Desteklenen zaman birimleri minute, hour, day, week ve month şeklindedir.

Örneğin, zaman birimi Kota Politikası'nın <TimeUnit> öğesinde year olarak belirtilmişse API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hatanın oluştuğu Kota politikasını ve geçersiz zaman birimini tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı Quota-1, geçersiz zaman birimi ise year şeklindedir:

    Invalid quota interval time unit year in quota policy Quota-1
    in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
    
  2. Kota politikasının <TimeUnit> öğesinde belirtilen zaman biriminin, hata mesajında belirtilen zaman birimiyle eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politika kota aralığının değerini year olarak belirtir. Bu değer, hata mesajındaki değerle eşleşir:

    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
     <DisplayName>Quota-1</DisplayName>
     <Properties />
     <Allow count="3" />
     <Interval>1</Interval>
     <TimeUnit>year</TimeUnit>
    </Quota>
    
  3. Kota Politikası'nda belirtilen zaman birimi desteklenmiyorsa hatanın nedeni budur.

    Yukarıda gösterilen örnek Kota politikasında zaman birimi year olarak belirtilmiştir. bu da desteklenmiyor. Bu nedenle, API Proxy'sinin dağıtımı şu hatayla başarısız olur:

    Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
    

Çözünürlük

Kota politikasının <TimeUnit> öğesinde belirtilen zaman biriminin desteklendiğinden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>month</TimeUnit>
</Quota>

InvalidQuotaType

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
No enum constant com.apigee.quota.types.QuotaType.[type].

Örnek hata mesajı

Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.

Örnek ekran görüntüsü

Neden

<Quota> öğesindeki type özelliği tarafından belirtilen kotanın türü öğesi geçersizse API proxy'sinin dağıtımı başarısız olur.

Desteklenen kota türleri şunlardır: default, calendar, flexi ve rollingwindow.

Örneğin, politikanın türü <Quota> öğesinde window olarak belirtilmişse veya API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Kota politikasında kullanılan geçersiz kota türünü tanımlayın. Bu bilgi edinemez. Örneğin, aşağıdaki hatada geçersiz politika türü window şeklindedir:

    Error Saving Revision 1
    No enum constant com.apigee.quota.types.QuotaType.window.
    
  2. Hatanın oluştuğu ilgili API Proxy'sinde tüm Kota politikalarını inceleyin. <Quota> öğesinde belirtilen kota türünün yukarıdaki 1. Adım'da tanımlanan desteklenmeyen türle eşleştiği bir Kota politikası varsa hatanın nedeni budur.

    Örneğin, aşağıdaki politika türü, hata mesajındakiyle eşleşen window olarak belirtir:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="window">
        <DisplayName>Quota-1</DisplayName>
        <Properties/>
        <Allow count="3"/>
        <Interval>1</Interval>
        <TimeUnit>minute</TimeUnit>
        <StartTime>2017-7-16 12:00:00</StartTime>
        <MessageWeight ref="messageWeight"/>
    </Quota>
    

    Tür özelliği desteklenmeyen window olarak ayarlandığı için API Proxy'sinin dağıtımı şu hatayı vererek başarısız oluyor:

    No enum constant com.apigee.quota.types.QuotaType.window.
    

Çözünürlük

Kota politikasının <Quota> öğesindeki type özelliği tarafından belirtilen kota türünün desteklendiğinden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="rollingwindow">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <MessageWeight ref="messageWeight"/>
</Quota>

InvalidStartTime

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.

Örnek hata mesajı

Error Saving Revision 1
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.

Örnek ekran görüntüsü

Neden

Kota politikasının <StartTime> öğesinde belirtilen zaman biçimi geçersizse API proxy'sinin dağıtımı başarısız olur.

Geçerli biçim, ISO 8601 tarih ve saat biçimi olan yyyy-MM-dd HH:mm:ss'dir.

Örneğin, Kota politikasının <StartTime> öğesinde belirtilen süre 7-16-2017 12:00:00 ise API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Kota politikasında belirtilen geçersiz başlangıç zamanını belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada geçersiz başlangıç zamanı: 7-16-2017 12:00:00

    Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
    
  2. Hatanın oluştuğu ilgili API Proxy'sinde tüm Kota politikalarını inceleyin. <StartTime> öğesinde belirtilen değerin yukarıdaki 1. Adımda tanımlanan geçersiz başlangıç zamanıyla eşleştiği herhangi bir Kota politikası varsa hatanın nedeni budur.

    Örneğin, aşağıdaki politika türü, hata mesajındakiyle eşleşen 7-16-2017 12:00:00 olarak belirtir:

    <?xml version="1.0" encoding="UTF-8"?>
    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar">
       <DisplayName>Quota-1</DisplayName>
       <Properties />
       <Allow count="3" />
       <Interval>1</Interval>
       <TimeUnit>minute</TimeUnit>
       <StartTime>7-16-2017 12:00:00</StartTime>
    </Quota>
    

    <StartTime> için ayarlanan değer 7-16-2017 12:00:00 olarak ayarlandığından, gerekli tarih/saat biçimine göre değilse API Proxy'sinin dağıtımı şu hatayı vererek başarısız oluyor:

    Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
    

Çözünürlük

Kota politikasının <StartTime> öğesinde belirtilen başlangıç zamanı biçiminin, gereken yyyy-MM-dd HH:mm:ss biçimine göre geçerli olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
</Quota>

StartTimeNotSupported

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.

Örnek hata mesajı

Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.

Örnek ekran görüntüsü

Neden

Kota türü takvim türü olmayan bir Kota politikasında <StartTime> öğesi belirtilirse API proxy'sinin dağıtımı başarısız olur.

<StartTime> öğesi yalnızca calendar kota türü için desteklenir.

Örneğin, type özelliği Kota politikasının <Quota> öğesinde flexi veya rolling window değerine ayarlanırsa API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Başarısız Kota politikasında belirtilen kota türünü tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada geçersiz başlangıç zamanı: flexi

    Starttime is not supported for quotatype flexi. Starttime is
    supported only for calendar based type.
    
  2. Hatanın oluştuğu ilgili API Proxy'sinde tüm Kota politikalarını inceleyin. Belirtilen "type" özelliğinin yukarıdaki 1. Adım'da tanımlanan kota türüyle eşleştiği bir Kota politikası varsa ve <StartTime> öğesi belirtilmişse hatanın nedeni budur.

    Örneğin, aşağıdaki politika kota türünü flexi olarak belirtir. Bu işlem, hata mesajındaki değerle eşleşir ve <StartTime> öğesini de belirtir:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi">
        <DisplayName>Quota-1</DisplayName>
        <Properties/>
        <Allow count="3"/>
        <Interval>1</Interval>
        <TimeUnit>minute</TimeUnit>
        <StartTime>2017-7-16 12:00:00</StartTime>
    </Quota>
    

    Kota Politikası'nda kota türü flexi olarak belirtilen <StartTime> öğesi belirtildiğinden, API Proxy'sinin dağıtımı şu hatayla başarısız olur:

    Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
    

Çözünürlük

<Quota> öğesindeki type özelliği tarafından belirtilen kota türü flexi veya rolling window olduğunda <StartTime> öğesinin belirtilmediğinden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

InvalidTimeUnitForDistributedQuota

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision number]
Invalid timeunit second for distributed quota.

Örnek hata mesajı

Error Saving Revision 1
Invalid timeunit second for distributed quota.

Örnek ekran görüntüsü

Neden

<Distributed> öğesi true değerine, <TimeUnit> öğesi ise second değerine ayarlanırsa API proxy'sinin dağıtımı başarısız olur. second zaman birimi, dağıtılmış bir kota için geçersiz.

Distributed öğesi true değerine ayarlanırsa politika, merkezi bir sayaç sağlamalı ve bunu tüm İleti İşleyenleri genelinde sürekli olarak senkronize etmelidir. Bu nedenle hem senkronize etmek hem de istek sayısının saniye gibi kısa bir zaman aralığında belirtilen kotayı aşmadığını doğrulamak zor olacaktır. Bu nedenle, second zaman birimi, dağıtılmış kota için geçersiz kabul edilir.

Teşhis

Hatanın oluştuğu ilgili API Proxy'sinde tüm Kota politikalarını inceleyin. <TimeUnit> öğesi second olarak ayarlanmış bir Kota politikası varsa ve <Distributed> öğesi true olarak ayarlanmışsa hatanın nedeni budur.

Örneğin, aşağıdaki politikada <TimeUnit> öğesi second, <Distributed> öğesi ise true olarak ayarlanmıştır.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar">
    <DisplayName>CheckQuota</DisplayName>
    <Properties/>
    <Allow count="30"/>
    <Interval>1</Interval>
    <TimeUnit>second</TimeUnit>
    <StartTime>2018-8-05 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
</Quota>

Çözünürlük

<Distributed> öğesi doğru değerine ayarlandığında <TimeUnit> öğesinin hiçbir zaman second değerine ayarlanmadığından emin olun. <TimeUnit> öğesi, izin verilen diğer değerlerden herhangi birine (minute, hour, day, week,veyamonth) ayarlanabilir. Örnek:

<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar">
    <DisplayName>CheckQuota</DisplayName>
    <Properties/>
    <Allow count="30"/>
    <Interval>1</Interval>
    <TimeUnit>hour</TimeUnit>
    <StartTime>2018-8-05 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
</Quota>

InvalidSynchronizeIntervalForAsyncConfiguration

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision number]
SyncIntervalInSeconds should be a value greater than zero.

Örnek hata mesajı

Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.

Örnek ekran görüntüsü

Neden

Kota politikasındaki <AsynchronousConfiguration> öğesi içinde yer alan <SyncIntervalInSeconds> öğesi için belirtilen değer sıfırdan küçükse API proxy'sinin dağıtımı başarısız olur.

Teşhis

Hatanın oluştuğu ilgili API Proxy'sinde tüm Kota politikalarını inceleyin. <AsynchronousConfiguration> öğesi içinde <SyncIntervalInSeconds> öğesinin sıfırdan küçük bir değere ayarlandığı bir Kota politikası varsa hatanın nedeni budur.

Örneğin, aşağıdaki politika <SyncIntervalInSeconds> öğesi için negatif bir değere sahiptir:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
    <AsynchronousConfiguration>
        <SyncIntervalInSeconds>-1</SyncIntervalInSeconds>
    </AsynchronousConfiguration>
</Quota>

Çözünürlük

Kota politikasındaki <AsynchronousConfiguration> öğesi için <SyncIntervalInSeconds> öğesi için her zaman pozitif bir tam sayı belirttiğinizden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
    <AsynchronousConfiguration>
        <SyncIntervalInSeconds>5</SyncIntervalInSeconds>
    </AsynchronousConfiguration>
</Quota>

InvalidAsynchronizeConfigurationForSynchronousQuota

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision number]
AsynchronousConfiguration is not valid for synchronous quota.

Örnek hata mesajı

Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.

Örnek ekran görüntüsü

Neden

<AsynchronousConfiguration> öğesi kullanılarak tanımlanmış eşzamansız yapılandırmaya sahip olan Kota politikasında <Synchronous> öğesinin değeri true olarak ayarlanırsa API proxy'sinin dağıtımı başarısız olur.

Teşhis

Hatanın oluştuğu ilgili API Proxy'sinde tüm Kota politikalarını inceleyin. <Synchronous> öğesinin true olarak ayarlandığı bir Kota politikası varsa ve tanımlanmış bir <AsynchronousConfiguration> öğesi varsa hatanın nedeni budur.

Örneğin, aşağıdaki politikada true olarak ayarlanmış bir <Synchronous> öğesi ve tanımlanmış bir <AsynchronousConfiguration> öğesi var:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>true</Synchronous>
    <AsynchronousConfiguration>
     <SyncIntervalInSeconds>1</SyncIntervalInSeconds>
    </AsynchronousConfiguration>
</Quota>

Çözünürlük

<Synchronous> öğesi, Kota politikasında true değerine ayarlanmışsa <AsynchronousConfiguration> öğesi kullanılarak eşzamansız yapılandırma tanımlanmadığından emin olun.

Yukarıdaki örnekte, <AsynchronousConfiguration> bölümü aşağıda gösterildiği gibi kaldırılarak düzeltilebilir:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
 <Synchronous>true</Synchronous>
</Quota>