Tugas penangguhan

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:

  1. Di UI Apigee, pilih Organisasi Apigee Anda.
  2. Klik Develop > Integrasi.
  3. Pilih integrasi yang ada atau buat integrasi baru dengan mengklik Buat Integrasi.

    Jika Anda membuat integrasi baru:

    1. Masukkan nama dan deskripsi dalam dialog Create Integration.
    2. Pilih Region untuk integrasi dari daftar wilayah yang didukung.
    3. Klik Create.

    Tindakan ini akan membuka integrasi di desainer integrasi.

  4. Di menu navigasi desainer integrasi, klik +Tambahkan tugas/pemicu > Tasks untuk melihat daftar tugas yang tersedia.
  5. Klik dan tempatkan elemen tugas Suspend di editor integrasi.
  6. Klik elemen tugas Suspend pada desainer untuk melihat tugas Suspend panel konfigurasi.
  7. 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 ke Expired.

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.