Tugas Suspend memungkinkan Anda menjeda sementara waktu, lalu melanjutkan pelaksanaan suatu integrasi.
Selama eksekusi integrasi, saat kontrol mencapai tugas Suspend, eksekusi akan dihentikan, dan semua tugas setelah tugas Suspend akan ditangguhkan. Integrasi melanjutkan eksekusi saat salah satu peristiwa berikut terjadi:
- Berakhirnya waktu penangguhan yang ditentukan.
- Setelah menerima permintaan eksekusi resume dari
Suspensions
API.
Anda juga dapat mengonfigurasi variabel output (Hasil penangguhan) untuk tugas Suspend dan menyetelnya ke nilai apa pun, serta menggunakan nilai tersebut untuk membuat kondisi percabangan guna menjalankan tugas downstream.
Membandingkan tugas Persetujuan, tugas Suspend, dan tugas Timer
Ketiganya (Persetujuan, Tangguhkan, dan Timer) menjalankan tugas menjeda dan melanjutkan integrasi. Namun, ada perbedaan kecil di antara mereka. Tabel berikut menjelaskan perbedaan antara ketiga tugas tersebut.
Tugas persetujuan | Tugas penangguhan | Tugas timer |
---|---|---|
Tidak mendukung melanjutkan otomatis integrasi dan memerlukan secara manual untuk melanjutkan integrasi. | Mendukung melanjutkan integrasi secara manual dan otomatis. Jika tidak ada secara manual untuk mencabut penangguhan, integrasi akan melanjutkan eksekusi setelah batas waktu penangguhan berakhir. | Hanya mendukung melanjutkan integrasi secara otomatis. Eksekusi integrasi otomatis dilanjutkan setelah batas waktu penangguhan berakhir. |
Tidak dapat melanjutkan integrasi melalui panggilan API. Anda harus me-resolve secara manual penangguhan pembayaran menggunakan UI Integrasi. | Dapat melanjutkan integrasi menggunakan Suspensions API untuk integrasi. |
Hanya mendukung melanjutkan integrasi secara otomatis. |
Pengguna menerima notifikasi saat integrasi dijeda (ditangguhkan). | Pengguna tidak menerima notifikasi apa pun saat integrasi dijeda (ditangguhkan). | Pengguna tidak menerima notifikasi apa pun saat integrasi dijeda (ditangguhkan). |
Mendukung variabel output (boolean), yang memungkinkan Anda melakukan pemeriksaan bersyarat
sebelum melanjutkan integrasi. Namun, variabel {i>output<i} hanya dapat memiliki
nilainya sebagai true atau false . |
Mendukung variabel output (string), yang memungkinkan Anda melakukan pemeriksaan kondisional sebelum melanjutkan integrasi. Anda dapat menetapkan nilai apa pun ke variabel output. | Tidak mendukung variabel output apa pun. |
Mengonfigurasi tugas Suspend
Untuk mengonfigurasi tugas Suspend, lakukan langkah-langkah berikut:
- Di UI Apigee, pilih Organisasi Apigee Anda.
- Klik Develop > Integrasi.
- Pilih integrasi yang ada atau buat integrasi baru dengan mengklik Buat Integrasi.
Jika Anda membuat integrasi baru:
- Masukkan nama dan deskripsi dalam dialog Create Integration.
- Pilih Region untuk integrasi dari daftar wilayah yang didukung.
- Klik Create.
Tindakan ini akan membuka integrasi di desainer integrasi.
- Di menu navigasi desainer integrasi, klik +Tambahkan tugas/pemicu > Tasks untuk melihat daftar tugas yang tersedia.
- Klik dan tempatkan elemen tugas Suspend di editor integrasi.
- Klik elemen tugas Suspend pada desainer untuk melihat tugas Suspend panel konfigurasi.
- Konfigurasikan kolom yang tersisa menggunakan Properti konfigurasi untuk tugas
seperti yang dijelaskan
dalam tabel di bawah ini.
Semua perubahan pada properti disimpan secara otomatis.
Properti konfigurasi
Tabel berikut menjelaskan properti konfigurasi dari tugas Suspend.
Properti | Data type | Deskripsi |
Suspension Time
|
Bilangan bulat | Waktu (dalam menit) hingga eksekusi integrasi harus ditangguhkan. Maksimum
batas waktu yang diperlukan adalah 44640 menit (31 hari) yang juga merupakan nilai default.
Jika eksekusi integrasi tidak dilanjutkan dalam batas waktu yang ditentukan,
Integrasi akan otomatis melanjutkan eksekusi setelah batas waktu berakhir dan
menetapkan nilai variabel |
Suspension result
|
String | Variabel untuk menyimpan hasil tugas Suspend. Menetapkan nilai untuk variabel ini bersifat opsional. Anda dapat menetapkan variabel ini ke nilai apa pun berdasarkan persyaratan. Variabel ini berguna jika Anda ingin memiliki lebih banyak kontrol terhadap di alur eksekusi integrasi. Misalnya, Anda dapat membaca hasil penangguhan dan mengonfigurasi keputusan bersyarat berdasarkan nilai dalam setiap tugas downstream Anda. |
Suspension Id
|
String | ID unik untuk tugas Suspend. Nilai
ditetapkan segera setelah integrasi ditangguhkan. Anda bisa mendapatkan
nilai ID dari halaman log eksekusi di UI integrasi. Anda juga bisa mendapatkan nilai ID dari objek respons API jika Anda menggunakan API untuk memicu
integrasi.
Anda dapat melanjutkan eksekusi integrasi dengan menggunakan ID penangguhan atau menggunakan ID eksekusi integrasi. |
Mencabut penangguhan dengan Penangguhan API
Penangguhan API memungkinkan Anda mencabut penangguhan melalui panggilan API. Untuk mencabut penangguhan dengan
Penangguhan API, Anda harus memiliki ID eksekusi integrasi atau
ID penangguhan dari tugas Suspend. Untuk mencabut penangguhan, Anda
harus mengeluarkan permintaan POST
ke API berikut:
https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
Dalam API ini, INTEGRATION_ID
bersifat opsional. Namun, Anda harus menyediakan
EXECUTION_ID
atau SUSPENSION_ID
. Jika Anda tidak memiliki
nilai ID, Anda dapat mengganti nilainya dengan -
. Dalam API ini, REGION
, PROJECT
, dan LOCATION
adalah kolom yang wajib diisi.
Setelah Anda mencabut penangguhan, eksekusi integrasi akan dilanjutkan dan dijalankan tugas downstream setelah tugas Suspend.
Contoh berikut menunjukkan cara mencabut penangguhan menggunakan API penangguhan.
Contoh 1: Mencabut penangguhan hanya dengan ID penangguhan
curl -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -H X-GFE-SSL: yes \ -X POST \ -d '{"suspension_result":"Approved"}' \ https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift
Dalam contoh ini, variabel Suspension result
ditetapkan ke Approved
untuk ID tambahan c6a13a79-a918-41e2-82b9-32b5a010755a
.
Contoh 2: Mencabut penangguhan yang hanya berisi ID eksekusi
Perintah curl
berikut menunjukkan cara mencabut penangguhan saat Anda hanya memiliki ID eksekusi:
curl -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -H X-GFE-SSL: yes \ -X POST \ -d '{"suspension_result":"true"}' \ https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift
Dalam contoh ini, variabel Suspension result
ditetapkan ke true
untuk ID eksekusi 76a391e7-c801-45d7-8046-eab20d167ec5
.
Contoh 3: Mencabut penangguhan yang memiliki ID eksekusi dan ID penangguhan
Perintah curl
berikut menunjukkan cara mencabut penangguhan jika Anda memiliki ID eksekusi dan ID penangguhan:
curl -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -H X-GFE-SSL: yes \ -X POST \ -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \ https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift
Dalam contoh ini, variabel Suspension result
ditetapkan ke {processname: "Release", owner: "John", status: "approved"};
untuk ID penangguhan f01815bf-ed18-4e01-9d41-cc2ce7861e95
.
Strategi penanganan error
Strategi penanganan error untuk tugas menentukan tindakan yang akan diambil jika tugas gagal karena error sementara. Untuk informasi tentang cara menggunakan strategi penanganan error, dan mengetahui berbagai jenis strategi penanganan error, lihat Strategi penanganan error.