Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Ringkasan
Kebijakan IntegrationKeterangan memungkinkan Anda menjalankan integrasi Apigee yang memiliki API pemicu. Namun, sebelum menjalankan integrasi, Anda harus menjalankan Kebijakan SetIntegrationRequest. Kebijakan SetIntegrationRequest membuat objek permintaan dan membuat objek yang tersedia untuk kebijakan Integrationcallout sebagai variabel alur. Objek permintaan memiliki detail integrasi seperti nama pemicu API, ID project integrasi, nama integrasi, dan detail lainnya yang dikonfigurasi dalam kebijakan SetIntegrationRequest. IntegrationKeterangan menggunakan variabel alur dari objek permintaan untuk menjalankan integrasi. Anda dapat mengonfigurasi kebijakan IntegrationKeterangan untuk menyimpan respons run integrasi dalam variabel flow.
Kebijakan Integrationcallout berguna jika Anda ingin menjalankan integrasi di tengah alur proxy. Atau, alih-alih mengonfigurasi kebijakan Integrationcallout, Anda juga dapat menjalankan integrasi dengan menentukan endpoint integrasi sebagai target endpoint. Untuk informasi selengkapnya, lihat IntegrationEndpoint.
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.
<IntegrationCallout>
Menentukan kebijakan IntegrationKeterangan.
Nilai Default | T/A |
Wajib? | Wajib |
Jenis | Jenis kompleks |
Elemen Induk | T/A |
Elemen Turunan |
<DisplayName> <AsyncExecution> <Request> <Response> |
Tabel berikut memberikan deskripsi tingkat tinggi untuk elemen turunan <IntegrationCallout>
:
Elemen Turunan | Wajib? | Deskripsi |
---|---|---|
<DisplayName> |
Opsional | Nama kustom untuk kebijakan. |
<AsyncExecution> |
Opsional | Menentukan apakah integrasi harus berjalan dalam mode sinkron atau mode asinkron. |
<Request> |
Wajib | Variabel flow yang memiliki objek permintaan yang dibuat oleh kebijakan SetIntegrationRequest. |
<Response> |
Opsional | Variabel flow untuk menyimpan respons integrasi. |
Elemen <IntegrationCallout>
menggunakan sintaksis berikut:
Sintaks
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <IntegrationCallout continueOnError="[true|false]" enabled="[true|false]" name=POLICY_NAME> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> <AsyncExecution>BOOLEAN_ASYNC_EXECUTION</AsyncExecution> <Request clearPayload="[true|false]">REQUEST_FLOW_VARIABLE_NAME</Request> <Response>RESPONSE_FLOW_VARIABLE_NAME</Response> </IntegrationCallout>
Contoh
Contoh berikut menunjukkan definisi kebijakan Integrationcallout:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <IntegrationCallout continueOnError="false" enabled="true" name="Integration-Callout"> <DisplayName>Integration-Callout-1</DisplayName> <AsyncExecution>true</AsyncExecution> <Request clearPayload="true">my_request_flow_var</Request> <Response>my_response_flow_var</Response> </IntegrationCallout>
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. |
Referensi elemen turunan
Bagian ini menjelaskan elemen turunan dari<IntegrationCallout>
.
<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.
<AsyncExecution>
Menentukan mode untuk menjalankan integrasi. Anda dapat menjalankan integrasi secara sinkron atau asinkron.
Jika ditetapkan ke true
, integrasi akan berjalan secara asinkron. Dan jika diatur ke
false
, integrasi akan berjalan secara sinkron.
- Mode asinkron: Saat permintaan untuk menjalankan integrasi mencapai endpoint, endpoint akan segera menampilkan
ID eksekusi integrasi, namun memulai eksekusi integrasi pada waktu yang ditentukan
oleh elemen
<ScheduleTime>
. Jika Anda belum menyetel<ScheduleTime>
, integrasi dijadwalkan untuk segera berjalan. Meskipun integrasi dijadwalkan untuk segera berjalan, eksekusinya dapat dimulai setelah beberapa detik. Kapan integrasi mulai berjalan, dua hal berikut akan terjadi:- Integrasi menampilkan kode status HTTP
200 OK
sehingga pemanggil dapat lanjutkan pemrosesan. - Kebijakan IntegrationInfo selesai.
- Integrasi menampilkan kode status HTTP
- Mode sinkron: Saat permintaan untuk menjalankan integrasi mencapai endpoint, endpoint akan segera dimulai eksekusi integrasi dan menunggu responsnya. Batas waktu maksimum untuk menyelesaikan maka eksekusinya adalah 2 menit. Setelah menyelesaikan eksekusi, endpoint akan menampilkan respons dengan ID eksekusi dan data respons lainnya.
Nilai Default | salah |
Wajib? | Opsional |
Jenis | Boolean |
Elemen Induk |
<IntegrationCallout> |
Elemen Turunan | Tidak ada |
Elemen <AsyncExecution>
menggunakan sintaksis berikut:
Sintaks
<AsyncExecution>BOOLEAN</AsyncExecution>
Contoh
Contoh berikut menetapkan eksekusi asinkron ke true
:
<AsyncExecution>true</AsyncExecution>
<Request>
Menentukan variabel alur yang memiliki objek permintaan yang dibuat oleh kebijakan SetIntegrationRequest. Kebijakan IntegrationKeterangan mengirimkan objek permintaan ini ke Integrasi Apigee untuk menjalankan integrasi.
Nilai Default | T/A |
Wajib? | Wajib |
Jenis | String |
Elemen Induk |
<IntegrationCallout> |
Elemen Turunan | Tidak ada |
Elemen <Request>
menggunakan sintaksis berikut:
Sintaks
<Request clearPayload="true">FLOW_VARIABLE_NAME</Request>
Contoh
Contoh berikut menetapkan bahwa objek permintaan tersedia dalam
Variabel alur my_request_flow_var
:
<Request clearPayload="true">my_request_flow_var</Request>
Tabel berikut menjelaskan atribut <Request>
:
Atribut | Wajib? | Jenis | Deskripsi |
---|---|---|---|
clearPayload |
Opsional | boolean | Menentukan apakah objek permintaan harus dihapus dari memori setelah mengirim permintaan untuk menjalankan integrasi.
Jika Anda tidak menentukan atribut ini, nilai defaultnya adalah |
<Response>
Menentukan variabel alur untuk menyimpan respons integrasi.
Jika Anda tidak menentukan elemen ini, kebijakan akan menyimpan respons dalam
Variabel alur integration.response
.
Nilai Default | integration.response |
Wajib? | Opsional |
Jenis | String |
Elemen Induk |
<IntegrationCallout> |
Elemen Turunan | Tidak ada |
Elemen <Response>
menggunakan sintaksis berikut:
Sintaks
<Response>FLOW_VARIABLE_NAME</Response>
Contoh
Contoh berikut menyimpan respons dari integrasi yang dijalankan di
Variabel alur my_response_flow_var
:
<Response>my_response_flow_var</Response>
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 |
---|---|---|
entities.UnresolvedVariable |
500 |
Error ini terjadi jika Apigee tidak dapat me-resolve variabel integration.project.id
atau integration.name . |
steps.integrationcallout.ExecutionFailed |
500 |
Error ini dapat terjadi jika layanan target backend menampilkan status error HTTP seperti
|
steps.integrationcallout.NullRequestVariable |
500 |
Error ini terjadi jika variabel flow yang ditentukan dalam <Request> adalah null. |
steps.integrationcallout.RequestVariableNotMessageType |
500 |
Error ini terjadi jika variabel flow yang ditentukan oleh elemen Request
bukan jenis message. |
steps.integrationcallout.RequestVariableNotRequestMessageType |
500 |
Error ini terjadi jika variabel flow yang ditentukan oleh elemen Request
bukan jenis Request message. |
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
Error ini dapat terjadi karena konfigurasi akun layanan yang salah. Kemungkinan penyebabnya meliputi:
|
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" |
IntegrationCallout.POLICY_NAME.failed |
POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. | IntegrationCallout.integration-callout-1.failed = true |
Topik terkait
Jika Anda ingin mempelajari lebih lanjut fitur Integrasi Apigee, lihat Apa itu Integrasi Apigee?