Kebijakan SetIntegrationRequest

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

ikon kebijakan

Ringkasan

Kebijakan SetIntegrationRequest memungkinkan Anda membuat objek permintaan untuk integrasi yang yang ingin dijalankan. Dalam kebijakan tersebut, Anda harus mengonfigurasi detail pemicu API dan parameter input yang diperlukan untuk menjalankan integrasi. Saat Anda menjalankan Kebijakan SetIntegrationRequest, membuat objek permintaan dan menyimpannya dalam variabel flow. Objek permintaan memiliki semua informasi yang diperlukan untuk menjalankan integrasi. Pada tahap ini, integrasi masih belum berjalan. Untuk menjalankan integrasi, Anda harus memanggil metode Kebijakan IntegrasiInfo atau tetapkan IntegrationEndpoint. Kebijakan IntegrationCall dan IntegrationEndpoint memerlukan objek permintaan untuk menjalankan integrasi.

Kebijakan ini merupakan Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin menimbulkan biaya atau implikasi penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.

<SetIntegrationRequest>

Menentukan kebijakan SetIntegrationRequest.

Nilai Default T/A
Wajib? Wajib
Jenis Jenis kompleks
Elemen Induk T/A
Elemen Turunan <ApiTrigger>
<DisplayName>
<IntegrationName>
<IntegrationRegion>
<Parameters>
<ProjectId>
<Request>
<ScheduleTime>

Tabel berikut memberikan deskripsi tingkat tinggi tentang elemen turunan elemen <SetIntegrationRequest>:

Elemen Turunan Wajib? Deskripsi
<ApiTrigger> Wajib Nama pemicu API yang akan dipanggil dalam integrasi.
<DisplayName> Opsional Nama kustom untuk kebijakan.
<IntegrationName> Opsional Nama integrasi yang akan dijalankan.
<IntegrationRegion> Wajib Nama region tempat integrasi berada.
<Parameters> Opsional Parameter input integrasi.
<ProjectId> Opsional Nama Project Google Cloud yang memiliki integrasi yang ingin Anda jalankan.
<Request> Opsional Nama variabel alur untuk menyimpan objek permintaan.
<ScheduleTime> Opsional Waktu integrasi harus dijalankan.

Kebijakan SetIntegrationRequest menggunakan sintaksis berikut:

Sintaks

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SetIntegrationRequest continueOnError="[true|false]" enabled="[true|false]" name="Set-Integration-Request">
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  <ProjectId ref="FLOW_VARIABLE_NAME">GOOGLE_CLOUD_PROJECT_ID</ProjectId>
  <IntegrationName ref="FLOW_VARIABLE_NAME">INTEGRATION_NAME</IntegrationName>
  <IntegrationRegion ref="FLOW_VARIABLE_NAME">INTEGRATION_REGION</IntegrationRegion>
  <ApiTrigger ref="FLOW_VARIABLE_NAME">API_TRIGGER_NAME</ApiTrigger>
  <ScheduleTime>PARAMETER_VALUE</ScheduleTime>
  <Parameters>
    <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Parameter>
    <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME>
      <Value ref="FLOW_VARIABLE_NAME>PARAMETER_VALUE</Value>
      <Value ref="FLOW_VARIABLE_NAME>PARAMETER_VALUE</Value>
      <Value ref="FLOW_VARIABLE_NAME>PARAMETER_VALUE</Value>
    </ParameterArray>
  </Parameters>
  <Request>FLOW_VARIABLE_NAME</Request>
</SetIntegrationRequest>

Contoh

Contoh berikut menunjukkan definisi kebijakan SetIntegrationRequest:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SetIntegrationRequest continueOnError="false" enabled="true" name="Set-Integration-Request">
  <DisplayName>Set Integration Request Policy</DisplayName>
  <ProjectId ref="my_projectid_var">apigee_staging_1</ProjectId>
  <IntegrationName ref="my_integration_ref">integration_1</IntegrationName>
  <IntegrationRegion ref="my_integration_ref">asia-east1</IntegrationRegion>
  <ApiTrigger ref="my_api_trigger_ref">API-Trigger-2</ApiTrigger>
  <ScheduleTime>2022-01-15T01:30:15Z</ScheduleTime>
  <Parameters>
    <Parameter name="my_str_param" type="string" ref="flow_var_1">someText</Parameter>
    <ParameterArray name="my_array_param" type="integer" ref="flow_var_2">
      <Value ref="flow_var_3">1</Value>
      <Value ref="flow_var_4">2</Value>
      <Value ref="flow_var_5">3</Value>
    </ParameterArray>
  </Parameters>
  <Request>my_request_var</Request>
</SetIntegrationRequest>

Elemen ini memiliki atribut berikut yang sama 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.

Atau, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural-language yang berbeda.

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.

Referensi elemen turunan

Bagian ini menjelaskan elemen turunan dari <SetIntegrationRequest>.

<DisplayName>

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

Elemen <DisplayName> bersifat 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:

Sintaksis

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

Contoh

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

Elemen <DisplayName> tidak memiliki atribut atau elemen turunan.

<ProjectId>

Menentukan nama Project Google Cloud.

Apigee menetapkan nilai yang Anda tentukan untuk elemen ini ke integration.project.id variabel flow.

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

Elemen <ProjectId> menggunakan sintaksis berikut:

Sintaks

<ProjectId ref="FLOW_VARIABLE_NAME">GOOGLE_CLOUD_PROJECT_ID</ProjectId>

Contoh

Contoh berikut mengonfigurasi kebijakan untuk menggunakan variabel alur my_projectid_var untuk mengambil project ID, dan jika variabel alur gagal di-resolve saat runtime, gunakan apigee_staging_1 sebagai project ID:

<ProjectId ref="my_projectid_var">apigee_staging_1</ProjectId>

Tabel berikut menjelaskan atribut <ProjectId>:

Atribut Wajib? Jenis Deskripsi
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca Project ID Google Cloud. Anda dapat mengatur elemen <ProjectId> menggunakan salah satu cara berikut:
  • <ProjectId>val</ProjectId>: Gunakan val sebagai project ID.
  • <ProjectId ref="refval"/>: Selesaikan refval secara dinamis untuk menentukan project ID. Apigee melaporkan pengecualian jika project ID yang diselesaikan tidak valid atau jika refval belum terselesaikan.
  • <ProjectId ref="refval">val</ProjectId>: Selesaikan refval secara dinamis untuk menentukan project ID. Apigee melaporkan pengecualian jika project ID yang diselesaikan tidak valid. Jika refval tidak di-resolve, gunakan val sebagai project ID.

<IntegrationName>

Menentukan integrasi yang akan dijalankan.

Apigee menetapkan nilai yang Anda tentukan untuk elemen ini ke integration.name variabel flow.

Nama integrasi harus memenuhi persyaratan penamaan berikut:

  • Harus diawali dan diakhiri dengan huruf atau angka.
  • Tidak boleh berisi spasi.
  • Tidak boleh berisi dua karakter tanda hubung atau garis bawah berturut-turut.
Nilai Default T/A
Wajib? Opsional
Jenis String
Elemen Induk <SetIntegrationRequest>
Elemen Turunan Tidak ada

Elemen <IntegrationName> menggunakan sintaksis berikut:

Sintaks

<IntegrationName ref="FLOW_VARIABLE_NAME">INTEGRATION_NAME</IntegrationName>

Contoh

Contoh berikut mengonfigurasi kebijakan untuk menggunakan variabel alur my_integration_ref untuk mengambil nama integrasi, dan jika variabel flow gagal di-resolve saat runtime, gunakan integration_1 sebagai nama integrasi:

<IntegrationName ref="my_integration_ref">integration_1</IntegrationName>

Tabel berikut menjelaskan atribut <IntegrationName>:

Atribut Wajib? Jenis Deskripsi
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca nama integrasi. Anda dapat mengatur elemen <IntegrationName> menggunakan salah satu cara berikut:
  • <IntegrationName>val</IntegrationName>: Gunakan val sebagai nama integrasi.
  • <IntegrationName ref="refval"/>: Selesaikan refval secara dinamis untuk menentukan nama integrasi. Apigee melaporkan pengecualian jika nama integrasi yang diselesaikan tidak valid atau jika refval belum terselesaikan.
  • <IntegrationName ref="refval">val</IntegrationName>: Selesaikan refval secara dinamis untuk menentukan nama integrasi. Apigee melaporkan pengecualian jika nama integrasi yang di-resolve tidak valid. Jika refval tidak di-resolve, gunakan val sebagai nama integrasi.

<IntegrationRegion>

Menentukan wilayah tempat integrasi tersedia.

Saat runtime, Apigee menetapkan nilai elemen ke variabel alur integration.region, membuat URL target berbasis wilayah, dan menyimpan URL dalam variabel alur integration.target.url.

URL target berbasis wilayah memiliki format berikut: https://integration.region-integrations.googleapis.com

Region integrasi harus didukung oleh Integrasi Apigee. Untuk mengetahui informasi tentang region yang didukung dari Integrasi Apigee, lihat Wilayah yang didukung.

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

Elemen <IntegrationRegion> menggunakan sintaksis berikut:

Sintaks

<IntegrationRegion ref="FLOW_VARIABLE_NAME">INTEGRATION_REGION</IntegrationRegion>

Contoh

Contoh berikut mengonfigurasi kebijakan untuk menggunakan variabel alur my_integration_region_ref untuk mengambil region integrasi, dan jika variabel alur gagal di-resolve saat runtime, asia-east1 digunakan sebagai wilayah integrasi:

<IntegrationRegion ref="my_integration_region_ref">asia-east1</IntegrationRegion>

Tabel berikut menjelaskan atribut <IntegrationRegion>:

Atribut Wajib? Jenis Deskripsi
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca region integrasi. Anda dapat mengatur elemen <IntegrationRegion> menggunakan salah satu cara berikut:
  • <IntegrationRegion>val</IntegrationRegion>: Gunakan val sebagai region integrasi.
  • <IntegrationRegion ref="refval"/>: Selesaikan refval secara dinamis untuk menentukan region integrasi. Apigee melaporkan pengecualian jika region integrasi yang di-resolve tidak valid atau jika refval belum terselesaikan.
  • <IntegrationRegion ref="refval">val</IntegrationRegion>: Selesaikan refval secara dinamis untuk menentukan region integrasi. Apigee melaporkan pengecualian jika region integrasi yang di-resolve tidak valid. Jika refval tidak di-resolve, gunakan val sebagai region integrasi.

<ApiTrigger>

Menentukan pemicu API yang akan dijalankan.

Anda harus menentukan nama pemicu API dalam format api_trigger/API_TRIGGER_NAME.

Apigee menetapkan nilai yang Anda tentukan untuk elemen ini ke integration.api.trigger variabel flow.

Jika Anda telah menentukan <IntegrationName>, hanya pemicu API dari integrasi tersebut yang akan dijalankan. Namun, jika Anda belum menentukan <IntegrationName>, semua integrasi yang menjalankan pemicu API yang telah ditentukan.

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

Elemen <ApiTrigger> menggunakan sintaksis berikut:

Sintaks

<ApiTrigger ref="FLOW_VARIABLE_NAME">API_TRIGGER_NAME</ApiTrigger>

Contoh

Contoh berikut mengonfigurasi kebijakan untuk menggunakan variabel alur my_api_trigger_ref untuk mengambil nama pemicu API, dan jika variabel alur gagal di-resolve saat runtime, gunakan api_trigger/API-Trigger-2 sebagai nama pemicu API:

<ApiTrigger ref="my_api_trigger_ref">api_trigger/API-Trigger-2</ApiTrigger>

Tabel berikut menjelaskan atribut <ApiTrigger>:

Atribut Wajib? Jenis Deskripsi
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca nama pemicu API. Anda dapat mengatur elemen <ApiTrigger> menggunakan salah satu cara berikut:
  • <ApiTrigger>val</ApiTrigger>: Gunakan val sebagai nama pemicu API.
  • <ApiTrigger ref="refval"/>: Selesaikan refval secara dinamis untuk menentukan nama pemicu. Apigee melaporkan pengecualian jika nama pemicu API yang diselesaikan tidak valid atau jika refval belum terselesaikan.
  • <ApiTrigger ref="refval">val</ApiTrigger>: Selesaikan refval secara dinamis untuk menentukan nama pemicu. Apigee melaporkan pengecualian jika nama pemicu API yang diselesaikan tidak valid. Jika refval tidak di-resolve, gunakan val sebagai nama pemicu.

<ScheduleTime>

Menentukan waktu saat integrasi harus berjalan.

Jika waktunya kurang dari atau sama dengan waktu saat ini, integrasi akan langsung berjalan. Anda harus menentukan waktu dalam format yyyy-mm-ddThh:mm:ssZ dengan Z adalah zona waktu UTC. Misalnya, jika Anda menentukan 2022-01-15T01:30:15Z, integrasi akan dijadwalkan untuk berjalan pada 1-15-2022 pada pukul 1:30:15 UTC. Anda juga dapat menentukan zona waktu menggunakan pengimbangan dari UTC. Misalnya, jika Anda menentukan 2022-01-15T01:30:15-08:00, integrasi akan dijadwalkan untuk berjalan pada 1-15-2022 pukul 1:30:15 PST. Untuk informasi selengkapnya tentang format waktu, lihat Representasi tanggal dan waktu gabungan.

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

Elemen <ScheduleTime> menggunakan sintaksis berikut:

Sintaks

<ScheduleTime>PARAMETER_VALUE</ScheduleTime>

Contoh

Contoh berikut menjadwalkan integrasi untuk dijalankan di 2022-01-15T01:30:15Z:

<ScheduleTime>2022-01-15T01:30:15Z</ScheduleTime>

<Parameters>

Menentukan parameter input yang diperlukan untuk menjalankan integrasi.

Anda dapat menentukan parameter individual atau array parameter.

  • Untuk menentukan parameter individual, gunakan elemen <Parameter>.
  • Untuk menentukan array parameter, gunakan elemen <ParameterArray>.
Nilai Default T/A
Wajib? Opsional
Jenis Jenis kompleks
Elemen Induk <SetIntegrationRequest>
Elemen Turunan <Parameter>
<ParameterArray>

Tabel berikut menjelaskan atribut <Parameters>:

Atribut Wajib? Jenis Deskripsi
substitutionVariableChar Opsional Karakter Memungkinkan Anda menetapkan pemisah kustom untuk meneruskan nilai variabel alur sebagai argumen template di elemen turunan <Parameter>.

Elemen <Parameters> menggunakan sintaksis berikut:

Sintaks

<Parameters substitutionVariableChar="SUBSTITUTION_CHAR">
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME" >PARAMETER_VALUE</Parameter>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE">SUBSTITUTION_CHAR FLOW_VARIABLE_NAME SUBSTITUTION_CHAR</Parameter>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE ref="FLOW_VARIABLE_NAME"">
    <Value>PARAMETER_VALUE</Value>
    <Value ref="FLOW_VARIABLE_NAME"/>
    <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
  </ParameterArray>
</Parameters>

Contoh

Contoh berikut menginisialisasi parameter my_str_param dan Array parameter my_array_param:

<Parameters substitutionVariableChar="#">
  <Parameter name="my_str_param" type="string" ref="flow_var_1">someText</Parameter>
  <Parameter name="strVar" type="string">#flowvar1#</Parameter>
  <ParameterArray name="my_array_param" type="integer" ref="flow_var_2">
    <Value>1</Value>
    <Value ref="flow_var_3"/>
    <Value ref="flow_var_4">3</Value>
  </ParameterArray>
</Parameters>

Apigee memperlakukan <Parameter> kosong dan Elemen <ParameterArray> sebagai nilai null. Sebagai contoh, deklarasi seperti <Parameter></Parameter> dan <ParameterArray></ParameterArray> diperlakukan sebagai null nilai.

<Parameter>

Menentukan parameter input.

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

Anda dapat menentukan nilai parameter dengan cara berikut:

  • <Nama parameter="my_param" type="string">val</Parameter>: Gunakan val sebagai nilai parameter. Jika val tidak valid, Apigee melaporkan pengecualian.
  • <Nama parameter="my_param" type=&quot;string&quot; ref="refval"/>: Menyelesaikan variabel alur refval saat runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang diselesaikan tidak valid atau jika refval tidak terselesaikan.
  • <Nama parameter="my_param" type=&quot;string&quot; ref="refval">val</Parameter>: Selesaikan refval variabel flow pada runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang diselesaikan tidak valid. Jika refval tidak di-resolve, Apigee menggunakan val sebagai nilai parameter.
  • <Nama parameter="my_param" type="json">{"name":"$#flowval#$"}</Parameter>: Gunakan $#FLOW_VARIABLE_NAME#$ untuk meneruskan nilai variabel alur sebagai argumen template di Parameter. Apigee me-resolve flowval variabel flow pada runtime dan menggunakan nilainya. Pengecualian dilaporkan jika nilai flowval yang diselesaikan tidak valid.
  • <Nama parameter="my_param" type="json">{"name":"SUBSTITUTION_CHAR flowval SUBSTITUTION_CHAR"}</Parameter>: Dengan SUBSTITUTION_CHAR menunjukkan nilai yang ditentukan untuk atribut substitutionVariableChar dari elemen induk <Parameters>. Apigee me-resolve flowval variabel flow pada runtime dan menggunakan nilainya. Pengecualian dilaporkan jika nilai flowval yang diselesaikan tidak valid.

Elemen <Parameter> menggunakan sintaksis berikut:

Sintaks
<Parameters substitutionVariableChar="SUBSTITUTION_CHAR">
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE">PARAMETER_VALUE</Parameter>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME"/>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE" ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Parameter>
  <Parameter name="PARAMETER_NAME" type="json">$#FLOW_VARIABLE_NAME#$</Parameter>
  <Parameter name="PARAMETER_NAME" type="PARAMETER_DATATYPE">SUBSTITUTION_CHAR FLOW_VARIABLE_NAME SUBSTITUTION_CHAR</Parameter>
</Parameters>
Contoh 1

Contoh berikut mendeklarasikan parameter my_str_param sebagai string dan kumpulan nilai ke someText.

<Parameters>
  <Parameter name="my_str_param" type="string">someText</Parameter>
</Parameters>
Contoh 2

Contoh berikut mendeklarasikan parameter my_double_param sebagai duplikat dan menetapkan nilai variabel flow flow_var ke parameter.

<Parameters>
  <Parameter name="my_double_param" type="double" ref="flow_var"/>
</Parameters>
Contoh 3

Contoh berikut menetapkan nilai ke parameter bilangan bulat my_int_param_1.

<Parameters>
  <Parameter name="my_int_param_1" type="integer" ref="flow_var_1">96</Parameter>
</Parameters>

Dalam contoh ini, jika flow_var_1 variabel flow berhasil di-resolve, my_int_param_1 ditetapkan ke nilai variabel flow. Namun, jika flow_var_1 gagal di-resolve, my_int_param_1 disetel ke 96.

Contoh 4

Contoh berikut menetapkan nilai untuk my_json_param_1 dan Parameter JSON my_json_param_2.

<Parameters>
  <Parameter name="my_json_param_1" type="json" ref="flow_var_1">{name:"Apple", color:"Red"}</Parameter>
  <Parameter name="my_json_param_2" type="json">{name:"Banana", color:"Yellow"}</Parameter>
</Parameters>

Dalam contoh ini, jika flow_var_1 variabel flow berhasil di-resolve, my_json_param_1 ditetapkan ke nilai Variabel alur flow_var_1. Namun, jika flow_var_1 gagal di-resolve, my_json_param_1 disetel ke {name:"Apple", color:"Red"}. Tujuan Parameter my_json_param_2 disetel ke {name:"Banana", color:"Yellow"} karena ada tidak ada atribut ref yang ditentukan.

Contoh 5

Contoh berikut menetapkan nilai untuk parameter JSON template_json_param menggunakan nilai variabel alur yang diteruskan di template default.

  <Parameters>
    <Parameter name="template_json_param" type="json">{"name":"$#flow_var_1#$"}</Parameter>
</Parameters>
  

Dalam contoh ini, jika flow_var_1 variabel flow berhasil di-resolve, template_json_param ditetapkan ke nilai Variabel alur flow_var_1. Namun, jika flow_var_1 gagal di-resolve, Apigee akan menampilkan pengecualian.

Contoh 6

Contoh berikut menetapkan nilai untuk parameter JSON template_json_param menggunakan atribut substitutionVariableChar.

<Parameters substitutionVariableChar="#">
    <Parameter name="template_json_param" type="json">{"name":"#flow_var_1#"}</Parameter>
</Parameters>
  

Dalam contoh ini, jika flow_var_1 variabel flow berhasil di-resolve, template_json_param ditetapkan ke nilai Variabel alur flow_var_1. Namun, jika flow_var_1 gagal di-resolve, Apigee akan menampilkan pengecualian.

Tabel berikut menjelaskan atribut <Parameter>:

Atribut Wajib? Jenis Deskripsi
name Wajib String Nama parameter.
type Wajib String Jenis data parameter. Jenis yang didukung adalah integer, string, boolean, double, dan json.
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca nilai parameter. Penggunaan Apigee kriteria berikut untuk menetapkan nilai parameter:
  • Jika variabel flow di-resolve saat runtime dan valid, Apigee akan menggunakan nilai variabel flow.
  • Jika variabel flow di-resolve saat runtime, tetapi tidak valid, Apigee akan melaporkan pengecualian.
  • Jika variabel flow tidak di-resolve saat runtime, Apigee akan menggunakan elemen <Parameter> dengan sejumlah nilai. Jika nilai elemen tidak valid, Apigee akan melaporkan error.

<ParameterArray>

Menentukan array parameter input.

Nilai Default T/A
Wajib? Opsional
Jenis Jenis kompleks
Elemen Induk <Parameters>
Elemen Turunan <Value>

Elemen <Parameters> dapat memiliki beberapa <ParameterArray> elemen di dalamnya. Untuk array parameter, Anda bisa menetapkan nilai elemen array dengan menentukan nilai sebenarnya atau menentukan variabel flow dalam atribut ref. Jika Anda menentukan variabel alur, elemen array ditetapkan ke nilai variabel alur. Contoh di bagian ini menjelaskan berbagai cara di mana Anda dapat mengonfigurasi elemen <ParameterArray>.

Elemen <ParameterArray> menggunakan sintaksis berikut:

Sintaks
<Parameters>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME">
    <Value ref="FLOW_VARIABLE_NAME"/>
    <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
    <Value>PARAMETER_VALUE</Value>
  </ParameterArray>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME"/>
  <ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE">
    <Value ref="FLOW_VARIABLE_NAME"/>
    <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
    <Value>PARAMETER_VALUE</Value>
  </ParameterArray>
<Parameters/>
Example-1

Contoh berikut mendeklarasikan my_array_param sebagai array bilangan bulat dan menetapkan nilai elemen array ke 1, 2, dan 3:

<Parameters>
  <ParameterArray name="my_array_param" type="integer">
    <Value>1</Value>
    <Value>2</Value>
    <Value>3</Value>
  </ParameterArray>
<Parameters/>
Example-2

Contoh berikut mendeklarasikan my_array_param sebagai array ganda dengan:

  • Elemen pertama disetel ke nilai variabel alur flow_var_1.
  • Elemen kedua disetel ke 3.0.
<Parameters>
  <ParameterArray name="my_array_param" type="double">
    <Value ref="flow_var_1"/>
    <Value>3.0</Value>
  </ParameterArray>
<Parameters/>
Example-3

Contoh berikut mendeklarasikan my_array_param sebagai array boolean dan menyetelnya dengan nilai variabel alur flow_var_1.

<Parameters>
  <ParameterArray name="my_array_param" type="boolean" ref="flow_var_1">
    <Value>true</Value>
    <Value>false</Value>
    <Value>false</Value>
  </ParameterArray>
<Parameters/>

Dalam contoh ini, jika flow_var_1 berhasil di-resolve, my_array_param ditetapkan ke nilai array flow_var_1. Namun, jika flow_var_1 gagal di-resolve, array my_array_param disetel dengan nilai elemen Value.

Example-4

Contoh berikut mendeklarasikan my_array_param sebagai array JSON dan menyetelnya dengan nilai variabel alur flow_var_1.

<Parameters>
  <ParameterArray name="my_array_param" type="json" ref="flow_var_1"/>
<Parameters/>

Dalam contoh ini, jika flow_var_1 berhasil di-resolve, my_array_param ditetapkan ke nilai array flow_var_1. Namun, jika flow_var_1 gagal di-resolve, Apigee melaporkan pengecualian.

Example-5

Contoh berikut mendeklarasikan my_array_param sebagai array string dan menyetelnya ke nilai variabel flow flow_var_1.

<Parameters>
  <ParameterArray name="my_array_param" type="string" ref="flow_var_1">
    <Value ref="flow_var_2"/>
    <Value>test_string</Value>
  </ParameterArray>
<Parameters/>

Dalam contoh ini, jika flow_var_1 berhasil di-resolve, my_array_param ditetapkan ke nilai array flow_var_1. Hanya jika flow_var_1 gagal di-resolve, my_array_param ditetapkan ke nilai yang ditentukan dalam elemen <Value>.

Tabel berikut menjelaskan atribut <ParameterArray>:

Atribut Wajib? Jenis Deskripsi
name Wajib String Nama array parameter.
type Wajib String Jenis data array parameter. Jenis yang didukung adalah integer, string, boolean, dan double.
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca nilai array. Penggunaan Apigee kriteria berikut untuk menetapkan nilai parameter:
  • Jika variabel flow di-resolve saat runtime dan valid, Apigee akan menggunakan nilai variabel flow.
  • Jika variabel flow di-resolve saat runtime, tetapi tidak valid, Apigee akan melaporkan pengecualian.
  • Jika variabel flow tidak di-resolve saat runtime, Apigee akan menggunakan nilai yang ditentukan dalam elemen <Value>.
<Value>

Menentukan nilai elemen array.

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

Setiap elemen array harus berupa elemen <Value> yang terpisah. Anda dapat menentukan nilai dengan cara berikut:

  • &lt;Value&gt;val&lt;/Value&gt;: Gunakan &lt;Value&gt;val&lt;/Value&gt; sebagai nilai elemen. Jika val tidak valid, Apigee melaporkan pengecualian.
  • <Value ref="refval"/>: Menyelesaikan variabel alur refval saat runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang diselesaikan tidak valid atau jika refval tidak terselesaikan.
  • <Value ref="refval">val</Value>: Menyelesaikan refval variabel flow pada runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang diselesaikan tidak valid. Jika refval tidak di-resolve, Apigee menggunakan val sebagai nilai elemen.
  • <Value>val1 $#flowval#$</Value>: Gunakan $#FLOW_VARIABLE_NAME#$ untuk meneruskan nilai variabel flow sebagai argumen template di Value. Apigee me-resolve flowval variabel flow pada runtime dan menggunakan nilainya. Pengecualian dilaporkan jika nilai flowval yang diselesaikan tidak valid.

Elemen <Value> menggunakan sintaksis berikut:

Sintaks
<ParameterArray name="ARRAY_NAME" type="ARRAY_DATATYPE" ref="FLOW_VARIABLE_NAME">
  <Value>PARAMETER_VALUE</Value>
  <Value ref="FLOW_VARIABLE_NAME"/>
  <Value ref="FLOW_VARIABLE_NAME">PARAMETER_VALUE</Value>
</ParameterArray>
Contoh 1

Contoh berikut mendeklarasikan my_array_param sebagai array parameter bilangan bulat dengan nilai 1, 2, dan 3:

<ParameterArray name="my_array_param" type="integer">
  <Value>1</Value>
  <Value>2</Value>
  <Value>3</Value>
</ParameterArray>
Contoh 2

Contoh berikut mendeklarasikan my_array_param sebagai array parameter string dengan nilai variabel flow flow_var_1 dan flow_var_2:

<ParameterArray name="my_array_param" type="string">
  <Value ref="flow_var_1"/>
  <Value ref="flow_var_2"/>
</ParameterArray>
Contoh 3

Contoh berikut mendeklarasikan my_array_param sebagai array parameter string:

<ParameterArray name="my_array_param" type="string">
   <Value ref="flow_var_1">string_1</Value>
   <Value ref="flow_var_2">string_2</Value>
</ParameterArray>

Dalam contoh ini, jika variabel flow berhasil di-resolve, nilai elemen array disetel ke nilai Variabel alur flow_var_1. Namun, jika flow_var_1 gagal di-resolve, nilai elemen array ditetapkan ke string_1.

Contoh 4

Contoh berikut menetapkan nilai untuk parameter array string template_strArray_param menggunakan nilai variabel flow yang diteruskan dalam template.

  <Parameters>
    <ParameterArray name="template_strArray_param" type="string">
    <Value>apple $#flow_var_1#$</Value>
    </ParameterArray>
  </Parameters>
  

Dalam contoh ini, jika variabel flow berhasil di-resolve, nilai elemen array disetel ke nilai Variabel alur flow_var_1. Namun, jika flow_var_1 gagal di-resolve, Apigee menampilkan pengecualian.

Tabel berikut menjelaskan atribut <Value>:

Atribut Wajib? Jenis Deskripsi
ref Opsional String Menentukan variabel alur tempat Apigee akan membaca nilai parameter. Penggunaan Apigee kriteria berikut untuk menetapkan nilai parameter:
  • Jika variabel flow di-resolve saat runtime dan valid, Apigee akan menggunakan nilai variabel flow.
  • Jika variabel flow di-resolve saat runtime, tetapi tidak valid, Apigee akan melaporkan pengecualian.
  • Jika variabel flow tidak di-resolve saat runtime, Apigee akan menggunakan elemen <Value> dengan sejumlah nilai. Jika nilai elemen tidak valid, Apigee akan melaporkan error.

<Request>

Menentukan nama variabel alur untuk menyimpan permintaan.

Setelah dijalankan, kebijakan akan membuat request message, dan menyimpan objek dalam variabel FLOW_VARIABLE_NAME yang dapat Anda kueri untuk membaca permintaan.

Jika Anda tidak menentukan nama variabel alur, kebijakan akan menyimpan permintaan dalam pesan permintaan, mengganti pesan permintaan yang ada jika ada.

Nilai Default permintaan
Wajib? Opsional
Jenis String
Elemen Induk <SetIntegrationRequest>
Elemen Turunan Tidak ada

Elemen <Request> menggunakan sintaksis berikut:

Sintaks

<Request>FLOW_VARIABLE_NAME</Request>

Contoh

Contoh berikut menyimpan objek permintaan dalam variabel alur my_request_var:

<Request>my_request_var</Request>

Kode error

Bagian ini menjelaskan kode masalah, pesan error, dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini sangat penting jika Anda mengembangkan aturan fault untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab
steps.setintegrationrequest.EmptyParameterArray 500

Error ini terjadi jika elemen <ParameterArray> memiliki atribut name dan type, tetapi tidak memiliki atribut ref atau elemen <Value>.

steps.setintegrationrequest.EmptyParameterArrayValue 500

Error ini terjadi jika elemen <Value> kosong dan atribut ref tidak ditetapkan.

steps.setintegrationrequest.InvalidResolvedFlowVariable 500

Error ini terjadi saat variabel flow yang ditentukan dalam atribut ref elemen gagal di-resolve menjadi nilai yang valid.

  • Untuk elemen ProjectId, IntegrationName, atau ApiTrigger, error ini terjadi jika variabel flow me-resolve ke null, string kosong, atau jenis data yang tidak valid.

    Nilai yang valid untuk elemen ini adalah sebagai berikut:

    • ProjectId: Lihat persyaratan penamaan untuk Project ID di bagian Sebelum memulai.
    • IntegrationName: Lihat persyaratan penamaan untuk elemen IntegrationName.
    • ApiTrigger: Nama harus diawali dengan api_trigger/.
  • Untuk elemen ParameterArray, error ini terjadi jika variabel flow di-resolve menjadi string kosong.
steps.setintegrationrequest.MismatchedTypeAndResolvedRef 500

Error ini terjadi saat variabel flow yang ditentukan dalam atribut ref dari elemen <Parameter> di-resolve, tetapi jenis data nilai variabel alur tidak cocok dengan jenis data yang ditentukan dalam atribut type.

steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArray 500

Error ini terjadi saat variabel flow yang ditentukan dalam atribut ref dari elemen <ParameterArray> di-resolve, tetapi jenis data nilai variabel alur tidak cocok dengan jenis data yang ditentukan dalam atribut type.

steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArrayValue 500

Error ini terjadi saat variabel flow yang ditentukan dalam atribut ref dari elemen <Value> di-resolve, tetapi jenis data nilai variabel alur tidak cocok dengan jenis data yang ditentukan dalam atribut type elemen induknya (<ParameterArray>).

steps.setintegrationrequest.RequestVariableNotMessageType 500 Error ini terjadi jika variabel flow yang ditentukan oleh elemen Request bukan jenis message.
steps.setintegrationrequest.RequestVariableNotRequestMessageType 500 Error ini terjadi jika variabel flow yang ditentukan oleh elemen Request bukan jenis Request message.
steps.setintegrationrequest.UnresolvedVariable 500

Error ini terjadi ketika Apigee tidak dapat menyelesaikan variabel flow yang ditentukan dalam elemen <Parameter>, <ParameterArray>, atau <Value>.

Variabel kesalahan

Setiap kali terjadi 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 agar pesan menjadi lebih bermakna.

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

Tabel berikut menjelaskan variabel kesalahan khusus untuk kebijakan ini.

Variabel Dari mana Contoh
fault.name fault.name dapat cocok dengan kesalahan mana pun yang tercantum dalam tabel Error runtime. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "UnresolvedVariable"
SetIntegrationRequest.POLICY_NAME.failed POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. SetIntegrationRequest.set-integration-request-1.failed = true
Untuk informasi selengkapnya tentang error kebijakan, lihat Yang perlu Anda ketahui tentang error kebijakan.

Topik terkait

Jika Anda ingin mempelajari lebih lanjut fitur Integrasi Apigee, lihat Apa itu Integrasi Apigee?