Kebijakan AssertCondition

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

ikon kebijakan

Ringkasan

Kebijakan AssertCondition mengevaluasi pernyataan kondisional saat runtime dalam alur permintaan atau respons. Anda dapat menentukan kondisi berdasarkan variabel alur, dan menggunakan kebijakan ini untuk menyatakan kondisi. Kondisi selalu dievaluasi ke nilai boolean, baik benar maupun salah. Untuk informasi selengkapnya tentang cara menulis pernyataan bersyarat, lihat Referensi kondisi.

Setelah mengevaluasi kondisi, kebijakan AssertCondition akan menyimpan hasil evaluasi dalam variabel alur assertcondition.policy-name.truthValue. Anda dapat menggunakan variabel alur yang dihasilkan dalam info atau logika terkoordinasi berikutnya. Jika kondisi bernilai benar, nilai variabel ditetapkan ke true, false jika tidak. Jika Anda telah menentukan beberapa kebijakan AssertCondition, policy-name dalam nama variabel akan membantu Anda mengidentifikasi variabel secara unik.

Kebijakan ini adalah Kebijakan standar dan dapat di-deploy ke jenis lingkungan apa pun. Untuk mengetahui informasi tentang jenis kebijakan dan ketersediaan dengan setiap jenis lingkungan, lihat Jenis kebijakan.

<AssertCondition>

Menentukan kebijakan <AssertCondition>. Dengan menggunakan kebijakan ini, Anda dapat mengevaluasi pernyataan bersyarat yang memiliki satu atau beberapa kondisi yang digabungkan oleh operator logika. Untuk mengetahui informasi tentang semua operator yang didukung dalam kondisi, lihat Operator.

Hasil pernyataan kondisional adalah boolean yang dapat berupa true atau false.
Nilai Default T/A
Wajib? Wajib
Jenis Jenis kompleks
Elemen Induk T/A
Elemen Turunan <Condition>
<DisplayName>

Tabel berikut memberikan deskripsi umum elemen turunan <AssertCondition>:

Elemen Turunan Wajib? Deskripsi
<Condition> Ya Menentukan kondisi yang akan dievaluasi.
<DisplayName> Opsional Nama kustom untuk kebijakan.

Elemen <AssertCondition> menggunakan sintaksis berikut:

Sintaks

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssertCondition">
    <!-- Display name for this policy -->
    <DisplayName>DISPLAY_NAME</DisplayName>
    <!-- Assertion's condition where operators are defined -->
    <Condition>CONDITIONAL_STATEMENT</Condition>
</AssertCondition>

Contoh

Contoh berikut memeriksa apakah variabel google.dialogflow.my-prefix.claimAmount lebih besar dari 0 dan kurang dari 1.000.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssertCondition continueOnError="false" enabled="true"
        name="MyAssertCondition">
    <DisplayName>Assert My Condition</DisplayName>
    <Condition>(google.dialogflow.my-prefix.claimAmount > 0)
                and
               (google.dialogflow.my-prefix.claimAmount LesserThan 1000)</Condition>
</AssertCondition>

Dalam contoh ini:

  • Jika nilai variabel google.dialogflow.my-prefix.claimAmount adalah 500, kondisi akan dievaluasi menjadi benar sehingga variabel assertcondition.MyAssertCondition.truthValue ditetapkan ke true.
  • Namun, jika nilai variabel google.dialogflow.my-prefix.claimAmount adalah 1200, variabel assertcondition.MyAssertCondition.truthValue ditetapkan ke false.

Elemen ini memiliki atribut berikut yang umum untuk semua kebijakan:

Atribut Default Wajib? Deskripsi
name T/A Wajib

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Secara opsional, gunakan elemen <DisplayName> untuk memberi label pada kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.

continueOnError false Opsional Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Perilaku ini wajar terjadi untuk sebagian besar kebijakan. Tetapkan ke true agar eksekusi alur berlanjut meskipun setelah kebijakan gagal. Lihat juga:
enabled benar Opsional Tetapkan ke true untuk menerapkan kebijakan. Tetapkan ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap terlampir ke alur.
async   false Tidak digunakan lagi Atribut ini tidak digunakan lagi.

Referensi elemen turunan

Bagian ini menjelaskan elemen turunan <AssertCondition>.

<Condition>

Menentukan kondisi yang akan dievaluasi. Untuk informasi selengkapnya tentang cara menulis pernyataan bersyarat di Apigee, lihat Referensi kondisi.

Nilai Default T/A
Wajib? Wajib
Jenis String
Elemen Induk <AssertCondition>
Elemen Turunan Tidak ada

<DisplayName>

Gunakan selain atribut name untuk memberi label pada kebijakan di editor proxy UI pengelolaan dengan nama yang berbeda dan lebih terdengar alami.

Elemen <DisplayName> umum untuk semua kebijakan.

Nilai Default T/A
Wajib? Opsional. Jika Anda menghilangkan <DisplayName>, nilai atribut name kebijakan akan digunakan.
Jenis String
Elemen Induk <PolicyElement>
Elemen Turunan Tidak ada

Elemen <DisplayName> menggunakan sintaksis berikut:

Sintaks

<PolicyElement>
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  ...
</PolicyElement>

Contoh

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

Elemen <DisplayName> tidak memiliki atribut atau elemen turunan.

Kode error

Bagian ini menjelaskan kode error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kerusakan Status HTTP Penyebab
steps.assertcondition.ConditionEvaluationFailed 500 Gagal mengevaluasi pernyataan bersyarat. Error ini dapat disebabkan oleh banyak hal, termasuk nilai yang salah dalam variabel pada waktu proses.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab
InvalidCondition Kebijakan tidak dapat memvalidasi pernyataan bersyarat. Error ini dapat disebabkan oleh banyak hal, termasuk kondisi yang salah format atau penggunaan operator yang tidak didukung.

Variabel error

Setiap kali ada error eksekusi dalam kebijakan, Apigee akan menghasilkan pesan error. Anda dapat melihat pesan error ini dalam respons error. Sering kali, pesan error yang dihasilkan sistem mungkin tidak relevan dalam konteks produk Anda. Anda mungkin ingin menyesuaikan pesan error berdasarkan jenis error untuk membuat pesan lebih bermakna.

Untuk menyesuaikan pesan error, Anda dapat menggunakan aturan error atau kebijakan RaiseFault. Untuk mengetahui informasi tentang perbedaan antara aturan error dan kebijakan RaiseFault, lihat FaultRules vs. kebijakan RaiseFault. Anda harus memeriksa kondisi menggunakan elemen Condition dalam aturan error dan kebijakan RaiseFault. Apigee menyediakan variabel error yang unik untuk setiap kebijakan dan nilai variabel error ditetapkan saat kebijakan memicu error runtime. Dengan menggunakan variabel ini, Anda dapat memeriksa kondisi error tertentu dan mengambil tindakan yang sesuai. Untuk informasi selengkapnya tentang cara memeriksa kondisi error, lihat Mem-build kondisi.

Tabel berikut menjelaskan variabel error khusus untuk kebijakan ini.

Variabel Dari mana Contoh
fault.name="FAULT_NAME" FAULT_NAME adalah nama error, seperti yang tercantum dalam tabel Runtime errors. Nama error adalah bagian terakhir dari kode error. fault.name Matches "ConditionEvaluationFailed"
AssertCondition.POLICY_NAME.failed POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. AssertCondition.My-AssertCondition.failed = true
Untuk informasi selengkapnya tentang error kebijakan, lihat Yang perlu Anda ketahui tentang error kebijakan.