Ringkasan
Kebijakan ReadPropertySet membaca set properti dan mengisi variabel alur dengan hasilnya.
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.
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 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 kemungkinan operasi. Lihat di bawah untuk mengetahui informasi tentang elemen yang diperlukan.
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 falseuntuk menampilkan error saat kebijakan gagal. Perilaku ini wajar terjadi untuk
          sebagian besar kebijakan. Tetapkan ketrueagar eksekusi alur berlanjut meskipun setelah kebijakan gagal. Lihat juga: | 
| enabled | benar | Opsional | Tetapkan ke trueuntuk menerapkan kebijakan. Tetapkan kefalseuntuk menonaktifkan
          kebijakan. Kebijakan tidak akan diterapkan meskipun tetap terlampir ke alur. | 
| async | false | Tidak digunakan lagi | Atribut ini tidak digunakan lagi. | 
Tabel berikut memberikan deskripsi tingkat tinggi tentang elemen turunan
  <ReadPropertySet>:
| Elemen Turunan | Wajib? | Deskripsi | 
|---|---|---|
| <Read> | Wajib | Membaca dan me-resolve variabel set properti dan menetapkannya ke variabel alur yang ditentukan. | 
| <IgnoreUnresolvedVariables> | Opsional | Menentukan apakah pemrosesan berhenti saat kumpulan properti tidak 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 kumpulan properti tidak diperoleh,
        https://httpbin.org/get akan digunakan.
<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 <ReadPropertySet>.
<Read>
  
  
  Me-resolve variabel set properti dan menetapkan hasilnya dalam variabel alur.
Elemen <Read> menentukan variabel kumpulan properti yang akan di-resolve dan variabel flow yang akan
    menetapkan nilai tersebut. Ini juga mencakup nilai default opsional, yang digunakan jika
    kumpulan properti tidak 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 kumpulan properti tidak diperoleh,
      https://httpbin.org/get akan digunakan.
<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
    <Read>.
| Elemen Turunan | Wajib? | Deskripsi | 
|---|---|---|
| <Name> | Wajib | String Properti yang ditetapkan untuk dibaca. Berikan ref, nilai, atau keduanya.Apigee pertama-tama mencoba me-resolve
               
 | 
| <Key> | Wajib | String Kunci kumpulan properti yang digunakan saat me-resolve variabel. Berikan ref, nilai, atau keduanya.Apigee pertama-tama mencoba me-resolve
               
 | 
| <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 di-resolve. | 
<IgnoreUnresolvedVariables>
Menentukan apakah pemrosesan berhenti saat kumpulan properti tidak terselesaikan. Tetapkan ke
    true untuk mengabaikan variabel yang belum terselesaikan dan melanjutkan pemrosesan.
IgnoreUnresolvedVariables tidak berlaku jika <DefaultValue>
    disediakan.
| Nilai Default | Salah | 
| Wajib? | Opsional | 
| Jenis | Boolean | 
| Elemen Induk | <ReadPropertySet> | 
| Elemen Turunan | Tidak ada | 
Referensi error
Bagian ini menjelaskan kode error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee khusus untuk kebijakan <ReadPropertySet>.
      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.readpropertyset.UnresolvedVariable | 500 | Error ini terjadi jika variabel yang ditentukan dalam kebijakan ReadPropertySet adalah: 
 Jika  | 
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
| Nama error | Penyebab | 
|---|---|
| steps.readpropertyset.EmptyReads | Kebijakan tidak memiliki elemen turunan <Read>. | 
| steps.readpropertyset.FieldUnset | Kode ini ditampilkan jika salah satu hal berikut benar: 
 | 
Variabel error
Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk mengetahui informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.
| Variabel | Di mana | Contoh | 
|---|---|---|
| fault.name="FAULT_NAME" | FAULT_NAME adalah nama error, seperti yang tercantum dalam tabel Runtime errors di atas. Nama error adalah bagian terakhir dari kode error. | fault.name Matches "UnresolvedVariable" | 
| readpropertyset.POLICY_NAME.failed | POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. | 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 error
  <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.