Lihat konektor yang didukung untuk Integration Aplikasi.

Pengantar penanganan error

Di Integrasi Aplikasi, error dapat terjadi saat Anda menguji dan memublikasikan integrasi, atau selama eksekusi integrasi. Error ini dapat terjadi karena berbagai masalah sisi klien dan sisi server, dan secara luas diklasifikasikan sebagai berikut:

  • Error permanen: Semua error sisi klien seperti kegagalan autentikasi, error validasi data, dianggap sebagai error permanen. Error permanen menyebabkan kegagalan tugas permanen.
  • Error sementara: Semua error sisi server seperti, HTTP 503 (layanan tidak tersedia), HTTP 400 (permintaan buruk), dianggap sebagai error sementara. Error sementara menyebabkan kegagalan tugas sementara.

Pesan error muncul di lokasi berikut:

  • Halaman log eksekusi: Menampilkan error yang terjadi selama eksekusi integrasi. Setiap eksekusi integrasi memiliki entri log terpisah. Untuk mengetahui informasi tentang halaman log eksekusi, lihat Log eksekusi.
  • Halaman editor integrasi: Menampilkan error yang terjadi saat Anda memublikasikan integrasi. Error ditampilkan di bagian bawah halaman editor integrasi. Untuk informasi tentang halaman editor integrasi, lihat Editor integrasi.

Untuk mengetahui informasi tentang daftar kode error yang mungkin Anda temui, lihat Kode error.

Metode penanganan error

Integrasi Aplikasi mendukung metode penanganan error berikut untuk menampilkan, menangkap, mencoba ulang, dan menyesuaikan error yang terjadi dalam integrasi Anda:

  • Strategi penanganan error: Strategi penanganan error untuk tugas menentukan tindakan yang akan diambil jika tugas gagal karena error sementara. Anda dapat menentukan strategi penanganan error yang berbeda untuk mode eksekusi sinkron dan asinkron.
  • Error catcher: Error catcher menentukan cara yang disesuaikan untuk menangani kegagalan pemicu, tugas, atau kondisi edge yang diidentifikasi dalam integrasi Anda. Anda dapat menentukan satu atau beberapa error catcher dalam satu integrasi untuk menangani error tugas dan/atau kegagalan eksekusi. Setiap penangkap error dapat dipanggil menggunakan pemicu, yang disebut Pemicu Penangkap Error, untuk menjalankan kumpulan tugas integrasi yang dikonfigurasi dan disesuaikan untuk menangani error.

Anda dapat menggunakan metode penanganan error untuk mode eksekusi integrasi sinkron dan asinkron:

  • Eksekusi sinkron: Dalam mode sinkron, hasil eksekusi integrasi akan tersedia segera setelah integrasi berjalan. Mode sinkron sangat membantu dalam skenario saat Anda menginginkan hasil eksekusi segera setelah integrasi berjalan. Pemicu yang menjalankan integrasi dalam mode sinkron mencakup hal berikut:
  • Eksekusi asinkron: Eksekusi asinkron menggunakan model fire and forget. Mode asinkron berguna dalam skenario saat integrasi dapat memerlukan waktu lama untuk dijalankan, atau hasil eksekusi tidak diperlukan langsung setelah integrasi berjalan. Pemicu yang menjalankan integrasi dalam mode asinkron meliputi hal berikut:

Praktik terbaik

Gunakan strategi penanganan error dan error catcher dalam integrasi Anda. Untuk setiap error, integrasi akan mengikuti strategi yang ditentukan di bagian penanganan error. Setelah strategi penanganan error yang dikonfigurasi habis, logika penangkap error akan dipicu. Gunakan variabel sistem untuk mengambil nilai kode error dan pesan error yang akan dikirim ke alur penangkap error Anda.

Contoh

Misalnya, Anda memiliki alur integrasi untuk membuat pesanan. Pesanan baru dibuat di Cloud SQL untuk MySQL. Alur ini menggunakan tugas konektor (Buat pesanan dalam contoh ini) untuk terhubung ke Cloud SQL untuk MySQL. Jika terjadi pemadaman database, tugas konektor akan menampilkan error saat menyisipkan pesanan baru ke dalam database. Sebagai praktik terbaik, Anda harus menggunakan strategi penanganan error dan penangkap error dalam integrasi Anda.

Untuk menambahkan strategi penanganan error, klik tugas konektor di desainer integrasi untuk membuka panel konfigurasi tugas. Diagram berikut menunjukkan strategi penanganan error yang dikonfigurasi untuk tugas konektor Buat pesanan:

Strategi penanganan error untuk tugas Membuat konektor pesanan Strategi penanganan error untuk tugas Membuat konektor pesanan

Untuk menambahkan strategi penanganan error, klik tugas Call REST Endpoint di desainer integrasi untuk membuka panel konfigurasi tugas. Diagram berikut menunjukkan strategi penanganan error yang dikonfigurasi untuk tugas Call REST Endpoint:

Strategi penanganan error untuk tugas Call REST Endpoint Strategi penanganan error untuk tugas Call REST Endpoint

Untuk menambahkan penangkap error, klik tugas Call REST Endpoint di desainer integrasi untuk membuka panel konfigurasi tugas. Di bagian Error Catcher, tambahkan detail error catcher. Diagram berikut menunjukkan error catcher yang dikonfigurasi untuk tugas Call REST Endpoint:

Penangkap error untuk tugas Call REST Endpoint Penangkap error untuk tugas Call REST Endpoint

Kode error

Tabel berikut menjelaskan error yang mungkin Anda alami, dan penyebab error yang sesuai. Integration Aplikasi menggunakan kode error kanonis yang ditentukan di google.rpc.Code.

Untuk mengetahui informasi tentang error Integrasi Aplikasi dan berbagai strategi penanganan error, lihat Error dan penanganan error.

Jenis pengecualian standar Kode kanonis Kode HTTP Deskripsi
FailedPreconditionException FAILED_PRECONDITION 400 Permintaan tidak dapat dijalankan dalam status sistem saat ini.
BadRequestException INVALID_ARGUMENT 400 Klien menentukan argumen yang tidak valid. Periksa pesan error dan detail error untuk mengetahui informasi selengkapnya.
UnauthenticatedException UNAUTHENTICATED 401 Permintaan tidak diautentikasi karena token OAuth tidak ada, tidak valid, atau sudah tidak berlaku.
ForbiddenException PERMISSION_DENIED 403 Klien tidak memiliki izin yang memadai. Hal ini dapat terjadi jika token OAuth tidak memiliki cakupan yang tepat, klien tidak memiliki izin yang diperlukan, atau API belum diaktifkan.
NotFoundException NOT_FOUND 404 Resource yang ditentukan tidak ditemukan.
AlreadyExistsException ALREADY_EXISTS 409 Resource yang klien coba buat sudah ada.
InternalError INTERNAL 500 Error server internal. Biasanya bug server. Hal ini dapat terjadi jika salah satu tugas atau pemicu salah dikonfigurasi.
UnimplementedException UNIMPLEMENTED 501 Metode API tidak diimplementasikan oleh server.
ServiceUnavailableException UNAVAILABLE 503 Layanan tidak tersedia. Biasanya server tidak berfungsi.
AbortedException ABORTED 409 Ukuran respons terlalu besar.