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

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

InvalidQuotaInterval

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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 bir 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ı belirleyin. 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 belirtilen değerle eşleştiğini doğrulayın (yukarıdaki 1. adım). Ö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ığı tam sayı değilse hatanın nedeni budur.

    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 hatayı vererek 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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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 şunlardır: minute, hour, day, week ve month.

Örneğin, zaman birimi Kota Politikası'nın <TimeUnit> öğesinde year olarak belirtilirse 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 tanımlanan 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 desteklenmeyen year olarak belirtilmiştir. Bu nedenle, API Proxy'sinin dağıtımı şu hatayı vererek 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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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

Kota politikasının <Quota> öğesindeki type özelliği tarafından belirtilen kotanın type değeri 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, Kota politikasının <Quota> öğesinde window olarak belirtilen politika türü 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 bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada geçersiz politika türü window olur:

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

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

    <?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ığından, API Proxy'si dağıtımı şu hatayı vererek başarısız olur:

    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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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 saatin 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 şeklindedir.

Ö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 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 bir Kota politikası varsa hatanın nedeni budur.

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

    <?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, gerekli tarih/saat biçimine göre olmayan 7-16-2017 12:00:00 olarak ayarlandığından API Proxy'sinin dağıtımı şu hatayı vererek başarısız olur:

    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 gerekli 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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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 belirtilmişse API proxy'sinin dağıtımı başarısız olur.

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

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

Teşhis

  1. Başarısız olan 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 API Proxy'sinde tüm Kota politikalarını inceleyin. Belirtilen tür özelliğinin yukarıdaki 1. adımda belirtilen kota türüyle eşleştiği ve <StartTime> öğesi belirtildiği bir Kota politikası varsa hatanın nedeni budur.

    Örneğin, aşağıdaki politika kota türünü flexi olarak belirtir. Bu ayar hem hata mesajındakiyle eşleşir hem de <StartTime> öğesini 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 türü flexi olarak belirtilen Kota Politikası'nda <StartTime> öğesi belirtildiğinden, API Proxy'sinin dağıtımı şu hatayı vererek 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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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, <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ış kota için geçersiz.

Distributed öğesi true değerine ayarlandığında, politika merkezi bir sayaç tutmalı ve bunu tüm Mesaj İşleyicileri genelinde sürekli olarak senkronize etmelidir. Bu nedenle hem senkronizasyonun hem de istek sayısının saniye gibi kısa bir zaman aralığında belirtilen kotayı aşmadığının doğrulanması zor olur. Bu nedenle second zaman birimi, dağıtılan kota için geçersiz kabul edilir.

Teşhis

Hatanın oluştuğu API Proxy'sinde tüm Kota politikalarını inceleyin. <TimeUnit> öğesi second olarak ayarlı 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 olarak ayarlanmadığından emin olun. <TimeUnit> öğesi, izin verilen diğer değerlerden herhangi birine ayarlanabilir: minute, hour, day, week,veyamonth. Örneğin:

<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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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> öğesinde <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 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 politikada <SyncIntervalInSeconds> öğesi için belirtilmiş bir negatif değer vardır:

<?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çinde yer alan <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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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 bir 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 API Proxy'sinde tüm Kota politikalarını inceleyin. <Synchronous> öğesinin true olarak ayarlandığı bir Kota politikası varsa ve ayrıca tanımlanmış bir <AsynchronousConfiguration> öğesi varsa hatanın nedeni budur.

Örneğin, aşağıdaki politikada true olarak ayarlanmış bir <Synchronous> öğesi vardır ve ayrıca <AsynchronousConfiguration> öğesi de tanımlanmıştır:

<?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

Bir Kota politikasında <Synchronous> öğesi true olarak ayarlanmışsa <AsynchronousConfiguration> öğesi kullanılarak tanımlanmış eşzamansız yapılandırma olmadığından emin olun.

Yukarıdaki örnek, aşağıda gösterildiği gibi <AsynchronousConfiguration> bölümü 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>