Ringkasan
Kebijakan ReadPropertySet membaca kumpulan properti dan mengisi variabel alur dengan hasilnya.
Kebijakan ini merupakan Kebijakan standar dan dapat di-deploy ke jenis lingkungan apa pun. Tidak semua perlu diketahui pengguna tentang jenis kebijakan dan lingkungan. Sebagai informasi tentang jenis kebijakan dan ketersediaan untuk setiap jenis lingkungan, lihat Jenis kebijakan.
Elemen <ReadPropertySet>
Menentukan kebijakan ReadPropertySet.
Nilai Default | Lihat tab Kebijakan Default, di bawah |
Wajib? | Wajib |
Jenis | Objek kompleks |
Elemen Induk | T/A |
Elemen Turunan |
<Read> |
Elemen <ReadPropertySet>
menggunakan sintaksis berikut:
Sintaks
Elemen <ReadPropertySet>
menggunakan sintaksis berikut:
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> ... <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Kebijakan Default
Contoh berikut menunjukkan setelan default saat Anda menambahkan kebijakan ReadPropertySet ke alur Anda di UI Apigee:
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Saat Anda menyisipkan kebijakan ReadPropertySet baru di UI Apigee, template akan berisi stub untuk semua operasi yang memungkinkan. Lihat di bawah untuk mengetahui informasi tentang elemen yang diperlukan.
Elemen ini memiliki atribut berikut yang sama untuk semua kebijakan:
Atribut | Default | Wajib? | Deskripsi |
---|---|---|---|
name |
T/A | Wajib |
Nama internal kebijakan. Nilai atribut Atau, gunakan elemen |
continueOnError |
false | Opsional | Setel ke false untuk menampilkan error jika kebijakan gagal. Ini adalah perilaku yang wajar untuk sebagian besar kebijakan. Setel ke true agar eksekusi alur tetap berlanjut bahkan setelah kebijakan gagal. Lihat juga:
|
enabled |
true | Opsional | Setel ke true untuk menerapkan kebijakan. Setel ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap melekat pada alur. |
async |
false | Tidak digunakan lagi | Atribut ini sudah tidak digunakan lagi. |
Tabel berikut memberikan deskripsi tingkat tinggi tentang elemen turunan dari
<ReadPropertySet>
:
Elemen Turunan | Wajib? | Deskripsi |
---|---|---|
<Read> |
Wajib | Membaca dan me-resolve variabel set properti dan menetapkannya ke variabel alur tertentu. |
<IgnoreUnresolvedVariables> |
Opsional | Menentukan apakah pemrosesan berhenti saat kumpulan properti belum terselesaikan. |
Contoh
Bagian ini memberikan contoh penggunaan <ReadPropertySet>
.
Contoh
Contoh ini menggunakan <ReadPropertySet>
untuk mendapatkan
propertyset.environment.name.request.headers.api-version
dan
menetapkannya ke target_url
. Jika nilai yang ditetapkan
properti tidak diperoleh,
https://httpbin.org/get
digunakan sebagai gantinya.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">environment.name</Name> <Key ref="key-ref">request.headers.api-version</Key> <AssignTo>target_url</AssignTo> <DefaultValue>https://httpbin.org/get</DefaultValue> </Read> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ReadPropertySet>
Referensi elemen turunan
Bagian ini menjelaskan elemen turunan dari <ReadPropertySet>
.
<Read>
Menyelesaikan variabel kumpulan properti dan menetapkan hasilnya dalam variabel alur.
Elemen <Read>
menentukan variabel kumpulan properti yang akan di-resolve dan variabel flow untuk
tetapkan nilai tersebut. Ini juga mencakup nilai default opsional, yang digunakan jika terjadi
kumpulan properti yang belum terselesaikan. Anda dapat menyertakan beberapa elemen <Read>
dalam satu kebijakan <ReadPropertySet>
.
Nilai Default | T/A |
Wajib? | Opsional |
Jenis | Jenis kompleks |
Elemen Induk |
<ReadPropertySet>
|
Elemen Turunan |
<Name> <Key> <AssignTo> <DefaultValue> |
Elemen <Read>
menggunakan sintaksis berikut:
Sintaks
<Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read>
Contoh
Contoh ini menggunakan <ReadPropertySet>
untuk mendapatkan
propertyset.environment.name.request.headers.api-version
dan
menetapkannya ke target_url
. Jika nilai yang ditetapkan
properti tidak diperoleh,
https://httpbin.org/get
digunakan sebagai gantinya.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="environment.name">my-property-set-name</Name> <Key ref="request.headers.api-version">my-property-set-key</Key> <AssignTo>target_url</AssignTo> <DefaultValue>https://httpbin.org/get</DefaultValue> </Read> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ReadPropertySet>
Tabel berikut memberikan deskripsi tingkat tinggi tentang elemen turunan dari
<Read>
Elemen Turunan | Wajib? | Deskripsi |
---|---|---|
<Name> |
Wajib | String Properti yang ditetapkan untuk dibaca. Berikan ref , nilai, atau keduanya.
Apigee pertama kali mencoba menyelesaikan
|
<Key> |
Wajib | String Kunci dari kumpulan properti yang digunakan saat me-resolve variabel. Berikan ref , nilai, atau keduanya.
Apigee pertama kali mencoba menyelesaikan
|
<AssignTo> |
Wajib | String Menentukan variabel alur untuk menetapkan variabel yang di-resolve. |
<DefaultValue> |
Opsional | String Menentukan nilai default yang akan digunakan saat variabel tidak dapat diselesaikan. |
<IgnoreUnresolvedVariables>
Menentukan apakah pemrosesan berhenti saat kumpulan properti belum terselesaikan. Tetapkan ke
true
untuk mengabaikan variabel yang belum terselesaikan dan melanjutkan pemrosesan.
IgnoreUnresolvedVariables
tidak berlaku saat <DefaultValue>
disediakan.
Nilai Default | Salah |
Wajib? | Opsional |
Jenis | Boolean |
Elemen Induk |
<ReadPropertySet>
|
Elemen Turunan | Tidak ada |
Referensi error
Bagian ini menjelaskan kode kesalahan dan pesan kesalahan yang dikembalikan dan kesalahan
variabel yang ditetapkan oleh Apigee khusus untuk kebijakan <ReadPropertySet>
.
Informasi ini penting untuk diketahui jika
Anda mengembangkan aturan kesalahan untuk
menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui
tentang error kebijakan dan Penanganan
kesalahan.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kesalahan | Status HTTP | Penyebab |
---|---|---|
steps.readpropertyset.UnresolvedVariable |
500 |
Error ini terjadi jika variabel yang ditentukan dalam kebijakan ReadPropertySet:
Jika |
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab |
---|---|
steps.readpropertyset.EmptyReads |
Kebijakan ini tidak memiliki elemen turunan <Read> . |
steps.readpropertyset.FieldUnset |
Kode ini akan ditampilkan jika salah satu hal berikut berlaku:
|
Variabel kesalahan
Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk informasi selengkapnya, lihat Apa yang yang perlu diketahui tentang error kebijakan.
Variabel | Dari mana | Contoh |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. | fault.name Matches "UnresolvedVariable" |
readpropertyset.POLICY_NAME.failed |
POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. | readpropertyset.RPS-SetResponse.failed = true |
Contoh respons error
{ "fault": { "faultstring": "ReadPropertySet[RPS-SetResponse]: unable to resolve variable [variable_name]", "detail": { "errorcode": "steps.readpropertyset.UnresolvedVariable" } } }
Contoh aturan kesalahan
<FaultRule name="ReadPropertySet Faults"> <Step> <Name>RPS-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(readpropertyset.failed = true)</Condition> </FaultRule>
Skema
Setiap jenis kebijakan ditentukan oleh skema XML (.xsd
). Sebagai referensi, skema kebijakan
tersedia di GitHub.