Pemecahan masalah error deployment kebijakan kuota

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.

InvalidQuotaInterval

Pesan error

Deployment proxy API melalui UI atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

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 di elemen <Interval> 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 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. Verifikasi bahwa 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, hal itu adalah penyebab error.

    Pada contoh Kebijakan Kuota yang ditampilkan di atas, nilai interval kuota adalah 0,1, yang bukan merupakan 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

Penyebab

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

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

Misalnya, jika satuan waktu ditentukan sebagai year di elemen <TimeUnit> Kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kuota tempat error terjadi dan satuan 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 satuan waktu yang ditentukan dalam elemen <TimeUnit> kebijakan Kuota cocok 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, hal tersebut adalah penyebab error.

    Dalam 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 satuan 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

Penyebab

Jika jenis kuota yang ditentukan oleh atribut type dalam 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 yang ditentukan sebagai window di elemen <Quota> kebijakan Kuota, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi jenis kuota yang 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota yang jenis kuotanya 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 jenis 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 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

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 yang nilainya 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 jenis 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 diperlukan, 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 yyyy-MM-dd HH:mm:ss yang diperlukan. 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

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 ditetapkan ke flexi atau rolling window di elemen <Quota> 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota yang atribut jenisnya ditentukan cocok dengan jenis kuota yang diidentifikasi pada Langkah #1 di atas dan elemen <StartTime> ditentukan, maka 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 ditentukan 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 jika jenis kuota yang ditunjukkan oleh atribut type di 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

Penyebab

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

Jika elemen Distributed ditetapkan 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. Oleh karena itu, timeunit 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 ditetapkan ke second dan elemen <Distributed> ditetapkan 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. Elemen <TimeUnit> dapat disetel ke salah satu nilai lain yang diizinkan - minute, hour, day, week,ataumonth. 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 1.

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 tempat kegagalan terjadi. Jika ada kebijakan Kuota yang menetapkan elemen <SyncIntervalInSeconds> 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> dalam 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 atau API Apigee 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

Terjadi error saat menyimpan revisi 2.

Penyebab

Jika nilai elemen <Synchronous> ditetapkan 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 tempat kegagalan terjadi. Jika ada kebijakan Kuota yang menetapkan elemen <Synchronous> ke true dan jika kebijakan tersebut juga memiliki elemen <AsynchronousConfiguration> yang ditentukan, hal itulah yang menyebabkan error.

Misalnya, kebijakan di bawah memiliki elemen <Synchronous> yang ditetapkan 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> ditetapkan 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>