Pemecahan masalah error deployment kebijakan kuota

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

InvalidQuotaInterval

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika interval kuota yang ditentukan dalam elemen <Interval> Kebijakan Kuota bukan bilangan bulat, deployment proxy API akan gagal.

Misalnya, jika interval kuota yang ditentukan adalah 0,1 dalam elemen <Interval> dari Kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kuota tempat error terjadi dan interval kuota tidak valid. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah Quota-1 dan interval kuota yang tidak valid adalah 0.1:

    Error Saving Revision 1
    Invalid quota interval 0.1 in quota policy Quota-1.
    
  2. Pastikan nilai interval kuota yang ditentukan dalam kebijakan Kuota yang gagal cocok dengan nilai yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan nilai interval kuota sebagai 0.1, yang cocok dengan yang ada dalam pesan error:

    <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. Jika interval kuota yang ditentukan bukan bilangan bulat, berarti itulah penyebab error.

    Pada contoh Kebijakan Kuota yang ditunjukkan di atas, nilai interval kuota adalah 0,1, yang bukan bilangan bulat. Oleh karena itu, deployment Proxy API gagal dengan error:

    Invalid quota interval 0.1 in quota policy Quota-1.
    

Resolusi

Pastikan nilai interval kuota yang ditentukan dalam elemen <Interval> Kebijakan Kuota adalah bilangan bulat. Contoh:

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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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].

Contoh pesan error

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.

Contoh screenshot

Penyebab

Jika unit waktu yang ditentukan dalam elemen <TimeUnit> kebijakan Kuota tidak didukung, deployment proxy API akan gagal.

Satuan waktu yang didukung adalah minute, hour, day, week, dan month.

Misalnya, jika unit waktu ditetapkan sebagai year dalam elemen <TimeUnit> Kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kuota tempat error terjadi dan unit waktu yang tidak valid. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah Quota-1 dan satuan waktu yang tidak valid adalah year:

    Invalid quota interval time unit year in quota policy Quota-1
    in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
    
  2. Pastikan unit waktu yang ditentukan dalam elemen <TimeUnit> kebijakan Kuota sesuai dengan satuan waktu yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan nilai interval kuota sebagai year, yang cocok dengan yang ada dalam pesan error:

    <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. Jika unit waktu yang ditentukan dalam Kebijakan Kuota tidak didukung, berarti unit waktu tersebut yang menyebabkan error.

    Pada contoh kebijakan Kuota yang ditampilkan di atas, satuan waktu ditentukan sebagai year, yang tidak didukung. Oleh karena itu, deployment Proxy API gagal dengan error:

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

Resolusi

Pastikan unit waktu yang ditentukan dalam elemen <TimeUnit> kebijakan Kuota didukung. Contoh:

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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika jenis kuota yang ditentukan oleh atribut type di elemen <Quota> kebijakan Kuota tidak valid, deployment proxy API akan gagal.

Jenis kuota yang didukung adalah default, calendar, flexi, dan rollingwindow.

Misalnya, jika jenis kebijakan ditetapkan sebagai window dalam elemen <Quota> kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi jenis kuota tidak valid yang digunakan dalam kebijakan Kuota. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, jenis kebijakan yang tidak valid adalah window:

    Error Saving Revision 1
    No enum constant com.apigee.quota.types.QuotaType.window.
    
  2. Periksa semua kebijakan Kuota di Proxy API tertentu yang mengalami kegagalan. Jika ada kebijakan Kuota yang jenis kuotanya ditentukan dalam elemen <Quota> cocok dengan jenis yang tidak didukung yang diidentifikasi pada Langkah #1 di atas, berarti itulah penyebab error.

    Misalnya, kebijakan berikut menentukan jenisnya sebagai window, yang cocok dengan yang ada dalam pesan error:

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

    Karena atribut jenis ditetapkan sebagai window yang tidak didukung, deployment Proxy API akan gagal dengan error:

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

Resolusi

Pastikan jenis kuota yang ditentukan oleh atribut type di elemen <Quota> kebijakan Kuota didukung. Contoh:

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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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.

Contoh screenshot

Penyebab

Jika format waktu yang ditentukan dalam elemen <StartTime> kebijakan Kuota tidak valid, deployment proxy API akan gagal.

Format yang valid adalah yyyy-MM-dd HH:mm:ss, yang merupakan format tanggal dan waktu ISO 8601.

Misalnya, jika waktu yang ditentukan dalam elemen <StartTime> kebijakan Kuota adalah 7-16-2017 12:00:00, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi waktu mulai yang tidak valid yang ditentukan dalam kebijakan Kuota. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, waktu mulai yang tidak valid adalah 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. Periksa semua kebijakan Kuota di Proxy API tertentu yang mengalami kegagalan. Jika terdapat kebijakan Kuota dengan nilai yang ditentukan dalam elemen <StartTime> sesuai dengan waktu mulai yang tidak valid yang diidentifikasi pada Langkah #1 di atas, berarti itulah penyebab error.

    Misalnya, kebijakan berikut menentukan jenisnya sebagai 7-16-2017 12:00:00, yang cocok dengan yang ada dalam pesan error:

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

    Karena nilai yang ditetapkan untuk <StartTime> ditetapkan sebagai 7-16-2017 12:00:00, yang tidak sesuai dengan format tanggal/waktu yang diwajibkan, deployment Proxy API akan gagal dengan error:

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

Resolusi

Pastikan format waktu mulai yang ditentukan dalam elemen <StartTime> kebijakan Kuota valid sesuai dengan format yang diperlukan yyyy-MM-dd HH:mm:ss. Contoh:

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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika elemen <StartTime> ditentukan dalam kebijakan Kuota yang jenis kuotanya bukan jenis kalender, deployment proxy API akan gagal.

Elemen <StartTime> hanya didukung untuk jenis kuota calendar.

Misalnya, jika atribut type disetel ke flexi atau rolling window di elemen <Quota> dalam kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi jenis kuota yang ditentukan dalam kebijakan Kuota yang gagal. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, waktu mulai yang tidak valid adalah flexi

    Starttime is not supported for quotatype flexi. Starttime is
    supported only for calendar based type.
    
  2. Periksa semua kebijakan Kuota di Proxy API tertentu yang mengalami kegagalan. Jika ada kebijakan Kuota yang atribut jenis yang ditentukan cocok dengan jenis kuota yang diidentifikasi pada Langkah #1 di atas dan elemen <StartTime> ditentukan, itulah penyebab error.

    Misalnya, kebijakan berikut menentukan jenis kuota sebagai flexi, yang cocok dengan yang ada dalam pesan error dan juga menentukan elemen <StartTime>:

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

    Karena elemen <StartTime> ditentukan dalam Kebijakan Kuota yang jenis kuotanya ditetapkan sebagai flexi, deployment Proxy API gagal dengan error:

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

Resolusi

Pastikan elemen <StartTime> tidak ditentukan saat jenis kuota yang ditunjukkan oleh atribut type dalam elemen <Quota> adalah flexi atau rolling window. Contoh:

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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

Error Saving Revision 1
Invalid timeunit second for distributed quota.

Contoh screenshot

Penyebab

Jika elemen <Distributed> disetel ke true dan elemen <TimeUnit> disetel ke second, deployment proxy API akan gagal. Unit waktu second tidak valid untuk kuota yang didistribusikan.

Jika elemen Distributed disetel ke true, kebijakan harus mempertahankan penghitung pusat dan terus menyinkronkannya di semua Pemroses Pesan. Oleh karena itu, akan sulit untuk melakukan sinkronisasi dan juga memverifikasi bahwa jumlah permintaan tidak melebihi kuota yang ditentukan dalam interval waktu yang singkat seperti detik. Karena alasan ini, satuan waktu second dianggap tidak valid untuk kuota terdistribusi.

Diagnosis

Periksa semua kebijakan Kuota di Proxy API tertentu yang mengalami kegagalan. Jika ada kebijakan Kuota dengan elemen <TimeUnit> yang disetel ke second dan elemen <Distributed> disetel ke true, itulah penyebab error.

Misalnya, kebijakan di bawah memiliki elemen <TimeUnit> yang disetel ke second dan elemen <Distributed> disetel ke true.

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

Resolusi

Pastikan elemen <TimeUnit> tidak pernah ditetapkan ke second saat elemen <Distributed> ditetapkan ke benar (true). Elemen <TimeUnit> dapat ditetapkan ke salah satu nilai lain yang diizinkan - minute, hour, day, week, atau month. Misalnya:

<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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika nilai yang ditentukan untuk elemen <SyncIntervalInSeconds> dalam elemen <AsynchronousConfiguration> dalam kebijakan Kuota kurang dari nol, deployment proxy API akan gagal.

Diagnosis

Periksa semua kebijakan Kuota di Proxy API tertentu yang mengalami kegagalan. Jika terdapat kebijakan Kuota saat elemen <SyncIntervalInSeconds> ditetapkan ke nilai kurang dari nol, dalam elemen <AsynchronousConfiguration>, itulah yang menyebabkan error.

Misalnya, kebijakan di bawah memiliki nilai negatif yang ditentukan untuk elemen <SyncIntervalInSeconds>:

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

Resolusi

Pastikan Anda selalu menentukan bilangan bulat positif untuk elemen <SyncIntervalInSeconds> dalam elemen <AsynchronousConfiguration> di kebijakan Kuota. Contoh:

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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika nilai elemen <Synchronous> disetel ke true dalam kebijakan Kuota, yang juga memiliki konfigurasi asinkron yang ditentukan menggunakan elemen <AsynchronousConfiguration>, deployment proxy API akan gagal.

Diagnosis

Periksa semua kebijakan Kuota di Proxy API tertentu yang mengalami kegagalan. Jika ada kebijakan Kuota saat elemen <Synchronous> ditetapkan ke true dan jika elemen <AsynchronousConfiguration> juga ditentukan, berarti itulah penyebab error.

Misalnya, kebijakan di bawah memiliki elemen <Synchronous> yang disetel ke true dan juga memiliki elemen <AsynchronousConfiguration> yang ditentukan:

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

Resolusi

Pastikan tidak ada konfigurasi asinkron yang ditentukan menggunakan elemen <AsynchronousConfiguration> jika elemen <Synchronous> disetel ke true dalam kebijakan Kuota.

Contoh di atas dapat diperbaiki dengan menghapus bagian <AsynchronousConfiguration> seperti yang ditunjukkan di bawah:

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