Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Lihat dokumentasi
Apigee Edge.
Ringkasan
Kebijakan SetIntegrationRequest memungkinkan Anda membuat objek permintaan untuk integrasi yang ingin Anda jalankan. Dalam kebijakan, Anda harus mengonfigurasi detail pemicu API dan parameter input yang diperlukan untuk menjalankan integrasi. Saat Anda menjalankan kebijakan SetIntegrationRequest, kebijakan tersebut akan membuat objek permintaan dan menyimpannya dalam variabel alur. Objek permintaan memiliki semua informasi yang diperlukan untuk menjalankan integrasi. Pada tahap ini, integrasi masih belum dijalankan. Untuk menjalankan integrasi, Anda harus memanggil kebijakan IntegrationCallout atau menetapkan IntegrationEndpoint. Kebijakan IntegrationCallout dan IntegrationEndpoint memerlukan objek permintaan untuk menjalankan integrasi.
Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaannya, 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 umum elemen turunan dari 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 wilayah 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 saat 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>
This element has the following attributes that are common to all policies:
Attribute | Default | Required? | Description |
---|---|---|---|
name |
N/A | Required |
The internal name of the policy. The value of the Optionally, use the |
continueOnError |
false | Optional | Set to false to return an error when a policy fails. This is expected behavior for
most policies. Set to true to have flow execution continue even after a policy
fails. See also:
|
enabled |
true | Optional | Set to true to enforce the policy. Set to false to turn off the
policy. The policy will not be enforced even if it remains attached to a flow. |
async |
false | Deprecated | This attribute is deprecated. |
Referensi elemen turunan
Bagian ini menjelaskan elemen turunan<SetIntegrationRequest>
.
<DisplayName>
Use in addition to the name
attribute to label the policy in the
management UI proxy editor with a different, more natural-sounding name.
The <DisplayName>
element is common to all policies.
Default Value | N/A |
Required? | Optional. If you omit <DisplayName> , the value of the
policy's name attribute is used. |
Type | String |
Parent Element | <PolicyElement> |
Child Elements | None |
The <DisplayName>
element uses the following syntax:
Syntax
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
Example
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
The <DisplayName>
element has no attributes or child elements.
<ProjectId>
Menentukan nama Project Google Cloud.
Apigee menetapkan nilai yang Anda tentukan untuk elemen ini ke variabel alur integration.project.id
.
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 diselesaikan 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 yang digunakan Apigee untuk membaca ID Project Google Cloud. Anda dapat menetapkan
elemen <ProjectId> dengan salah satu cara berikut:
|
<IntegrationName>
Menentukan integrasi yang akan dijalankan.
Apigee menetapkan nilai yang Anda tentukan untuk elemen ini ke variabel alur integration.name
.
Nama integrasi harus memenuhi persyaratan penamaan berikut:
- Harus diawali dan diakhiri dengan huruf atau angka.
- Tidak boleh berisi spasi.
- Tidak boleh memiliki dua karakter tanda hubung atau garis bawah yang berurutan.
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 alur gagal diselesaikan 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 yang digunakan Apigee untuk membaca nama integrasi. Anda dapat menetapkan
elemen <IntegrationName> dengan salah satu cara berikut:
|
<IntegrationRegion>
Menentukan region tempat integrasi berada.
Saat runtime, Apigee menetapkan nilai elemen ke variabel alur integration.region
, membuat URL target berbasis wilayah, dan menyimpan URL di variabel alur integration.target.url
.
URL target berbasis wilayah memiliki format berikut:
https://integration.region-integrations.googleapis.com
Region integrasi harus didukung oleh Integrasi Aplikasi. Untuk mengetahui informasi tentang region yang didukung oleh Integrasi Aplikasi, lihat Region 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 diselesaikan saat runtime, asia-east1
digunakan sebagai region 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 harus membaca region integrasi. Anda dapat menetapkan
elemen <IntegrationRegion> dengan salah satu cara berikut:
|
<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 variabel alur integration.api.trigger
.
Jika Anda telah menentukan <IntegrationName>
, hanya pemicu API integrasi tersebut yang
dijalankan. Namun, jika Anda belum menentukan <IntegrationName>
, semua integrasi yang
memiliki pemicu API yang ditentukan akan dijalankan.
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 diselesaikan 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 yang akan dibaca Apigee untuk mendapatkan nama pemicu API. Anda dapat menetapkan
elemen <ApiTrigger> dengan salah satu cara berikut:
|
<ScheduleTime>
Menentukan waktu integrasi harus berjalan.
Jika waktu kurang dari atau sama dengan waktu saat ini, integrasi akan segera 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 dijadwalkan
untuk berjalan pada 15-1-2022 pukul 1.30.15 UTC. Anda juga dapat menentukan zona waktu menggunakan selisih dari UTC.
Misalnya, jika Anda menentukan 2022-01-15T01:30:15-08:00
, integrasi dijadwalkan
untuk berjalan pada 15-1-2022 pukul 01.30.15 PST. Untuk mengetahui 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 berjalan pada 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 setiap parameter, 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 | Char | Memungkinkan Anda menetapkan pembatas kustom untuk meneruskan nilai variabel alur sebagai argumen template dalam 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 elemen <Parameter>
dan
<ParameterArray>
yang kosong sebagai nilai null
. Misalnya, deklarasi seperti <Parameter></Parameter>
dan <ParameterArray></ParameterArray>
diperlakukan sebagai nilai null
.
<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:
- <Parameter name="my_param" type="string">val</Parameter>: Gunakan val sebagai nilai parameter. Jika val tidak valid, Apigee akan melaporkan pengecualian.
- <Parameter name="my_param" type="string" ref="refval"/>: Menyelesaikan variabel alur refval saat runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang di-resolve tidak valid atau jika refval belum di-resolve.
- <Parameter name="my_param" type="string" ref="refval">val</Parameter>: Selesaikan variabel alur refval saat runtime dan gunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang di-resolve tidak valid. Jika refval tidak dapat diselesaikan, Apigee menggunakan val sebagai nilai parameter.
- <Parameter name="my_param" type="json">{"name":"$#flowval#$"}</Parameter>: Gunakan
$#FLOW_VARIABLE_NAME#$
untuk meneruskan nilai variabel alur sebagai argumen template di Parameter. Apigee menyelesaikan variabel alur flowval saat runtime dan menggunakan nilainya. Pengecualian dilaporkan jika nilai flowval yang di-resolve tidak valid. - <Parameter name="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 menyelesaikan variabel alur flowval saat runtime dan menggunakan nilainya. Pengecualian dilaporkan jika nilai flowval yang di-resolve 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 menetapkan
nilai ke someText
.
<Parameters> <Parameter name="my_str_param" type="string">someText</Parameter> </Parameters>
Contoh 2
Contoh berikut mendeklarasikan parameter my_double_param
sebagai ganda dan menetapkan
nilai variabel alur 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 variabel alur flow_var_1
berhasil di-resolve, my_int_param_1
akan ditetapkan ke nilai
variabel alur. Namun, jika flow_var_1
gagal diselesaikan,
my_int_param_1
akan disetel ke 96
.
Contoh 4
Contoh berikut menetapkan nilai untuk parameter JSON my_json_param_1
dan
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 variabel alur flow_var_1
berhasil di-resolve, my_json_param_1
akan ditetapkan ke nilai variabel alur
flow_var_1
. Namun, jika flow_var_1
gagal diselesaikan,
my_json_param_1
akan disetel ke {name:"Apple", color:"Red"}
. Parameter
my_json_param_2
ditetapkan ke {name:"Banana", color:"Yellow"}
karena
tidak ada atribut ref
yang ditentukan.
Contoh 5
Contoh berikut menetapkan nilai untuk parameter JSON template_json_param
menggunakan nilai variabel alur yang diteruskan dalam template default.
<Parameters> <Parameter name="template_json_param" type="json">{"name":"$#flow_var_1#$"}</Parameter> </Parameters>
Dalam contoh ini, jika variabel alur flow_var_1
berhasil di-resolve, template_json_param
akan ditetapkan ke nilai variabel alur
flow_var_1
. Namun, jika flow_var_1
gagal diselesaikan, 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 variabel alur flow_var_1
berhasil di-resolve, template_json_param
akan ditetapkan ke nilai variabel alur
flow_var_1
. Namun, jika flow_var_1
gagal diselesaikan, 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 harus membaca nilai parameter. Apigee menggunakan
kriteria berikut untuk menetapkan nilai parameter:
|
<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 elemen
<ParameterArray>
di dalamnya. Untuk array parameter, Anda dapat menetapkan nilai elemen array dengan
menentukan nilai sebenarnya atau dengan menentukan variabel alur dalam atribut ref
.
Jika Anda menentukan variabel alur, elemen array akan ditetapkan ke nilai variabel alur.
Contoh dalam bagian ini menjelaskan berbagai cara 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 ditetapkan 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 menetapkannya
ke 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
akan ditetapkan ke nilai array flow_var_1
. Namun, jika
flow_var_1
gagal diselesaikan, array my_array_param
akan ditetapkan
ke nilai elemen Value
.
Example-4
Contoh berikut mendeklarasikan my_array_param
sebagai array JSON dan menetapkannya
ke 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
akan ditetapkan ke nilai array flow_var_1
. Namun, jika
flow_var_1
gagal diselesaikan, Apigee akan melaporkan pengecualian.
Example-5
Contoh berikut mendeklarasikan my_array_param
sebagai array string dan menetapkannya
ke nilai variabel alur 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
akan ditetapkan ke nilai array flow_var_1
. Hanya jika
flow_var_1
gagal diselesaikan, my_array_param
akan 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 harus membaca nilai array. Apigee menggunakan
kriteria berikut untuk menetapkan nilai parameter:
|
<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>
terpisah. Anda dapat menentukan
nilai dengan cara berikut:
- <Value>val</Value>: Gunakan val sebagai nilai elemen. Jika val tidak valid, Apigee akan melaporkan pengecualian.
- <Value ref="refval"/>: Menyelesaikan variabel alur refval saat runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang di-resolve tidak valid atau jika refval belum di-resolve.
- <Value ref="refval">val</Value>: Menyelesaikan variabel alur refval saat runtime dan menggunakan nilainya. Apigee melaporkan pengecualian jika nilai refval yang di-resolve tidak valid. Jika refval tidak terselesaikan, Apigee menggunakan val sebagai nilai elemen.
- <Value>val1 $#flowval#$</Value>: Gunakan
$#FLOW_VARIABLE_NAME#$
untuk meneruskan nilai variabel alur sebagai argumen template di Value. Apigee menyelesaikan variabel alur flowval saat runtime dan menggunakan nilainya. Pengecualian dilaporkan jika nilai flowval yang di-resolve 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 alur 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 alur berhasil di-resolve, nilai elemen array akan ditetapkan ke nilai
variabel alur flow_var_1
. Namun, jika flow_var_1
gagal diselesaikan,
nilai elemen array ditetapkan ke string_1
.
Contoh 4
Contoh berikut menetapkan nilai untuk parameter array string template_strArray_param
menggunakan nilai variabel alur 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 alur berhasil di-resolve, nilai elemen array akan ditetapkan ke nilai
variabel alur flow_var_1
. Namun, jika flow_var_1
gagal diselesaikan,
Apigee akan menampilkan pengecualian.
Tabel berikut menjelaskan atribut <Value>
:
Atribut | Wajib? | Jenis | Deskripsi |
---|---|---|---|
ref |
Opsional | String | Menentukan variabel alur tempat Apigee harus membaca nilai parameter. Apigee menggunakan
kriteria berikut untuk menetapkan nilai parameter:
|
<Request>
Menentukan nama variabel alur untuk menyimpan permintaan.
Setelah kebijakan dijalankan, kebijakan akan membuat objek
pesan permintaan baru,
dan menyimpan objek di 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, menggantikan 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
This section describes the fault codes, error messages, and the fault variables set by Apigee when this policy triggers an error. This information is essential if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
steps.setintegrationrequest.EmptyParameterArray |
500 |
This error occurs when the |
steps.setintegrationrequest.EmptyParameterArrayValue |
500 |
This error occurs when the |
steps.setintegrationrequest.InvalidResolvedFlowVariable |
500 |
This error occurs when the flow variable specified in the
|
steps.setintegrationrequest.MismatchedTypeAndResolvedRef |
500 |
This error occurs when the flow variable specified in
the |
steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArray |
500 |
This error occurs when the flow variable specified in
the |
steps.setintegrationrequest.MismatchedTypeAndResolvedRefOfParameterArrayValue |
500 |
This error occurs when the flow variable specified in
the |
steps.setintegrationrequest.RequestVariableNotMessageType |
500 |
This error occurs when the flow variable specified by the Request element
is not of message type. |
steps.setintegrationrequest.RequestVariableNotRequestMessageType |
500 |
This error occurs when the flow variable specified by the Request element
is not of Request message type. |
steps.setintegrationrequest.UnresolvedVariable |
500 |
This error occurs when Apigee can't resolve the flow variables specified in the
|
Fault variables
Whenever there are execution errors in a policy, Apigee generates error messages. You can view these error messages in the error response. Many a time, system generated error messages might not be relevant in the context of your product. You might want to customize the error messages based on the type of error to make the messages more meaningful.
To customize the error messages, you can use either fault rules or the RaiseFault policy. For
information about differences between fault rules and the RaiseFault policy, see
FaultRules vs. the RaiseFault policy.
You must check for conditions using the Condition
element in both the fault rules and the RaiseFault policy.
Apigee provides fault variables unique to each policy and the values of the fault variables are set when a policy triggers runtime errors.
By using these variables, you can check for specific error conditions and take appropriate actions. For more information about checking error
conditions, see Building conditions.
The following table describes the fault variables specific to this policy.
Variables | Where | Example |
---|---|---|
fault.name |
The fault.name can match to any of the faults listed in the Runtime errors table.
The fault name is the last part of the fault code. |
fault.name Matches "UnresolvedVariable" |
SetIntegrationRequest.POLICY_NAME.failed |
POLICY_NAME is the user-specified name of the policy that threw the fault. | SetIntegrationRequest.set-integration-request-1.failed = true |
Topik terkait
Jika Anda ingin mempelajari lebih lanjut fitur Application Integration, lihat Ringkasan Application Integration