Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
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.
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 variabelassertcondition.MyAssertCondition.truthValue
ditetapkan ketrue
. - Namun, jika nilai variabel
google.dialogflow.my-prefix.claimAmount
adalah 1200, variabelassertcondition.MyAssertCondition.truthValue
ditetapkan kefalse
.
Elemen ini memiliki atribut berikut yang umum untuk semua kebijakan:
Atribut | Default | Wajib? | Deskripsi |
---|---|---|---|
name |
T/A | Wajib |
Nama internal kebijakan. Nilai atribut Secara opsional, gunakan elemen |
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 |