Pemecahan masalah error deployment kebijakan kuota

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

ini.

InvalidQuotaInterval

Pesan error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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> pada Kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kuota tempat error terjadi dan interval kuota yang tidak valid. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakannya 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 sesuai dengan isi 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, maka itulah penyebab error.

    Dalam contoh Quota Policy yang ditampilkan 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> pada 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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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 terjadinya error 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 cocok dengan unit waktu yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan nilai interval kuota sebagai year, yang sesuai dengan isi 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, maka itulah penyebab error.

    Dalam contoh kebijakan Kuota yang ditampilkan di atas, unit waktu ditetapkan 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 di 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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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 type kuota ditentukan oleh atribut type di <Quota> Kebijakan Kuota tidak valid, maka deployment proxy API akan gagal.

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

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

Diagnosis

  1. Identifikasi jenis kuota yang tidak valid yang digunakan dalam kebijakan Kuota. Anda dapat menemukannya informasi 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota saat jenis kuota yang ditentukan dalam elemen <Quota> cocok dengan jenis yang tidak didukung yang diidentifikasi pada Langkah #1 di atas, maka itulah penyebab error.

    Misalnya, kebijakan berikut menentukan jenisnya sebagai window, yang cocok dengan isi 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 gagal dan disertai error:

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

Resolusi

Pastikan jenis kuota yang ditentukan oleh atribut type di elemen <Quota> dalam 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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota saat nilai yang ditentukan dalam elemen <StartTime> cocok dengan waktu mulai yang tidak valid yang diidentifikasi pada Langkah #1 di atas, maka itulah penyebab error.

    Misalnya, kebijakan berikut menentukan jenisnya sebagai 7-16-2017 12:00:00, yang cocok dengan isi 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 dibutuhkan, deployment Proxy API 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 waktu mulai 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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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 dalam elemen <Quota> kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Mengidentifikasi 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota saat atribut jenis yang ditentukan cocok dengan jenis kuota yang diidentifikasi pada Langkah #1 di atas dan elemen <StartTime> ditentukan, maka itulah penyebab error.

    Misalnya, kebijakan berikut menetapkan jenis kuota sebagai flexi, yang cocok dengan apa 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 ditentukan sebagai flexi, deployment Proxy API gagal dan disertai 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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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 terdistribusi.

Jika elemen Distributed disetel ke true, kebijakan harus mempertahankan penghitung pusat dan terus menyinkronkannya di semua Pemroses Pesan. Oleh karena itu, akan sulit untuk menyinkronkan 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota dengan elemen <TimeUnit> yang disetel ke second dan elemen <Distributed> disetel ke true, maka 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> disetel ke benar (true). Elemen <TimeUnit> dapat ditetapkan ke salah satu nilai lain yang diizinkan - minute, hour, day, week,atau month. Contoh:

<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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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> di kebijakan Kuota kurang dari nol, deployment proxy API akan gagal.

Diagnosis

Periksa semua kebijakan Kuota di Proxy API tertentu tempat kegagalan terjadi. Jika ada kebijakan Kuota saat elemen <SyncIntervalInSeconds> disetel ke nilai kurang dari nol, dalam elemen <AsynchronousConfiguration>, maka itulah penyebab 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

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan 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 ditetapkan menggunakan elemen <AsynchronousConfiguration>, deployment proxy API akan gagal.

Diagnosis

Periksa semua kebijakan Kuota di Proxy API tertentu tempat kegagalan terjadi. Jika ada kebijakan Kuota saat elemen <Synchronous> disetel ke true dan jika elemen <AsynchronousConfiguration> juga ditentukan, maka 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 di kebijakan Kuota.

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

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