Pemenuhan permintaan API


Tutorial ini menjelaskan kasus penggunaan tentang cara menggunakan Application Integration untuk mengarahkan dan mengambil informasi bagi permintaan ingress API.

Ringkasan

Dalam tutorial ini, Anda akan membuat integrasi dengan pemicu API yang menerima permintaan API untuk mengambil informasi pelanggan. Bergantung pada lokasi permintaan API, integrasi akan mengambil detail pelanggan dari database MySQL atau database Oracle.

Diagram Pemenuhan API Diagram Pemenuhan API

Tujuan

Tutorial ini menunjukkan cara menyelesaikan tugas berikut dalam integrasi Anda:

  • Menambahkan pemicu API.
  • Menambahkan dan mengonfigurasi tugas Connectors untuk koneksi MySQL dan Oracle.
  • Tambahkan dan konfigurasi tugas pemetaan data untuk mengekstrak dan memetakan payload API.

Biaya

Dalam tutorial ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

Petunjuk dalam tutorial ini dirancang untuk menjaga penggunaan resource Anda tetap dalam batas paket Selalu Gratis Google Cloud.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Buat akun layanan:

    1. Di konsol Google Cloud, buka halaman Buat akun layanan.

      Buka Create service account
    2. Pilih project Anda.
    3. Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

      Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh, Service account for quickstart.

    4. Klik Buat dan lanjutkan.
    5. Berikan peran berikut ke akun layanan: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih peran.

      Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.

    6. Klik Lanjutkan.
    7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Buat akun layanan:

    1. Di konsol Google Cloud, buka halaman Buat akun layanan.

      Buka Create service account
    2. Pilih project Anda.
    3. Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

      Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh, Service account for quickstart.

    4. Klik Buat dan lanjutkan.
    5. Berikan peran berikut ke akun layanan: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih peran.

      Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.

    6. Klik Lanjutkan.
    7. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

Menyiapkan lingkungan Anda

Menyiapkan database MySQL

Hubungkan ke server MySQL Anda dan buat database serta tabel untuk digunakan dalam tutorial ini. Tutorial ini menggunakan database yang berisi tabel bernama Customers dengan baris berikut:

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Alex          | test-01@test.com   | New York         |
  |           2 | Dana          | test-02@test.com   | Seattle          |
  +-------------+---------------+--------------------+------------------+
  

Untuk mendapatkan informasi tentang cara membuat dan menggunakan database MySQL, lihat dokumentasi MySQL.

Menyiapkan database Oracle

Hubungkan ke database Oracle Anda, lalu buat tabel untuk digunakan dalam tutorial ini. Tutorial ini menggunakan database yang berisi tabel SQL bernama Customers dengan baris berikut:

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Amal          | test-01@test.com   | Delhi            |
  |           2 | Hao           | test-02@test.com   | Beijing          |
  +-------------+---------------+--------------------+------------------+
  

Untuk informasi tentang cara membuat dan menggunakan database Oracle, lihat dokumentasi Oracle.

Mengonfigurasi koneksi

Untuk tutorial ini, Anda harus mengonfigurasi koneksi berikut dalam Integrasi Integrasi:

Koneksi MySQL
Konfigurasikan koneksi MySQL di Integration Connectors untuk mendapatkan entity tabel Customer. Untuk mengetahui informasi tentang cara mengonfigurasi konektor MySQL, lihat konektor MySQL.
Koneksi Oracle DB
Konfigurasi koneksi Oracle DB di Integration Connectors untuk mendapatkan entity tabel Customer. Untuk mengetahui informasi tentang cara mengonfigurasi konektor MySQL, lihat konektor Oracle DB.

Buat integrasi

Untuk membuat integrasi baru, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Application Integration.

    Buka Application Integration

  2. Di menu navigasi, klik Integrasi. Halaman Integrations List akan muncul.
  3. Klik Create integration, lalu berikan detail berikut di halaman Create Integration:
    1. Nama integrasi: Masukkan api_fulfilment.
    2. Description: Masukkan Demo integration created for tutorial.
    3. Region: Pilih us-central1 dari daftar region yang didukung.
    4. Klik Create untuk membuka editor integrasi.

Siapkan pemicu integrasi

Setelah berhasil membuat integrasi, Anda dapat menambahkan dan mengonfigurasi pemicu integrasi yang memanggil integrasi untuk peristiwa yang diidentifikasi.

Untuk tutorial ini, pemicu API digunakan untuk memanggil integrasi untuk setiap permintaan API baru. Untuk menambahkan dan mengonfigurasi pemicu API dalam integrasi api_fulfilment Anda, lakukan hal berikut:

  1. Di editor integrasi, klik Pemicu untuk menampilkan daftar pemicu yang tersedia.
  2. Klik dan tempatkan elemen pemicu API di editor integrasi.

    Integrasi Aplikasi secara otomatis mengisi Label pemicu, nama pemicu, dan ID pemicu. ID Pemicu adalah ID buatan mesin dalam format api_trigger/TRIGGER_NAME, dan digunakan dalam permintaan API.

  3. Tidak diperlukan konfigurasi lebih lanjut untuk pemicu ini.

Membuat variabel integrasi

Variabel integrasi mirip dengan variabel yang digunakan dalam bahasa pemrograman. Data dalam variabel dapat dibaca dan ditulis selama integrasi. Untuk membuat variabel yang diperlukan untuk tutorial ini, lakukan hal berikut:

  1. Klik (Aktifkan/nonaktifkan panel) di menu navigasi desainer untuk memunculkan panel Variabel.
  2. Klik + Create, lalu buat variabel integrasi berikut:
    Nama variabel Jenis data Jenis variabel
    location STRING Input ke integrasi
    customer_id STRING Input ke Integrasi
    customer_record JSON Output dari Integrasi

Mengambil data pelanggan dari database MySQL

Jika permintaan ingress API berasal dari lokasi US, lakukan hal berikut untuk mengambil data pelanggan dari database MySQL.

Terhubung ke database MySQL

Lakukan langkah-langkah berikut untuk menambahkan dan mengonfigurasi tugas Konektor guna mengambil detail pelanggan dari tabel Pelanggan MySQL:

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Connectors di editor integrasi.
  3. Pilih elemen tugas Connectors pada desainer untuk melihat Connectors task configuration panel.
  4. Klik dan ganti nama label Konektor menjadi Fetch MySQL Data.
  5. Klik Konfigurasi konektor.
  6. Lakukan tindakan berikut di halaman Connectors Task Editor:
    1. Di bagian Select connection, pilih region us-central1.
    2. Pilih koneksi Salesforce dari daftar koneksi yang tersedia.
    3. Klik Next.
    4. Di bagian Jenis, pilih Entitas.
    5. Di bagian Tetapkan entity/actions, pilih Pelanggan dari daftar entity yang tersedia, lalu pilih Get sebagai Operations (Operasi).
    6. Klik Done untuk menyelesaikan konfigurasi koneksi dan menutup panel.

Memetakan ID pelanggan ke konektor MySQL

Tugas Pemetaan Data digunakan untuk memetakan ID pelanggan ke konektor MySQL. Untuk menambahkan dan mengonfigurasi pemetaan data dalam integrasi Anda, lakukan hal berikut:

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Data Mapping di editor integrasi.
  3. Pilih elemen Data Mapping pada desainer untuk melihat panel konfigurasi tugas.
  4. Klik dan ganti nama tugas Data Mapping menjadi Map to MySQL.
  5. Klik Open Data Mapping Editor.

    Data Mapping Editor memungkinkan Anda memetakan variabel input ke variabel output yang diinginkan, menggunakan fungsi transformasi yang tersedia. Outputnya kemudian tersedia sebagai variabel untuk pemicu atau tugas integrasi lainnya. Untuk detail selengkapnya tentang pemetaan variabel, lihat Menambahkan pemetaan.

  6. Petakan pemicu —customer_id—variabel integrasi ke konektor yang dibuat otomatis—entityId(Fetch MySQL Data)—variabel input.

    Setelah pemetaan selesai, tutup panel tersebut. Setiap perubahan akan disimpan otomatis.

  7. Menambahkan koneksi edge dari tugas Map to MySQL ke konektor Mengambil Data MySQL.

Mengambil detail pelanggan MySQL

Untuk mengambil detail pelanggan dari konektor MySQL, lakukan langkah berikut:

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Data Mapping di editor integrasi.
  3. Klik elemen Data Mapping pada desainer untuk melihat panel konfigurasi tugas.
  4. Klik dan ganti nama tugas Data Mapping menjadi Get MySQL data.
  5. Klik Open Data Mapping Editor.
  6. Petakan variabel output MySQL—connectorOutputPayload (Fetch MySQL Data)—ke variabel integrasi customer_record.

    Setelah pemetaan selesai, tutup panel tersebut. Setiap perubahan akan disimpan otomatis.

  7. Menambahkan koneksi edge dari konektor Mengambil Data MySQL ke tugas Dapatkan data MySQL.

Mengambil data pelanggan dari database Oracle

Jika permintaan ingress API berasal dari lokasi APAC, lakukan hal berikut untuk mengambil data pelanggan dari database Oracle.

Menghubungkan ke database Oracle

Lakukan langkah-langkah berikut untuk menambahkan dan mengonfigurasi tugas Connectors untuk mengambil detail pelanggan dari tabel Customers Oracle:

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Connectors di editor integrasi.
  3. Pilih elemen tugas Connectors pada desainer untuk melihat Connectors task configuration panel.
  4. Klik dan ganti nama label Konektor menjadi Fetch Oracle Data.
  5. Klik Konfigurasi konektor.
  6. Lakukan tindakan berikut di halaman Connectors Task Editor:
    1. Di bagian Select connection, pilih region us-central1.
    2. Pilih koneksi Salesforce dari daftar koneksi yang tersedia.
    3. Klik Next.
    4. Di bagian Jenis, pilih Entitas.
    5. Di bagian Tetapkan entity/actions, pilih Pelanggan dari daftar entity yang tersedia, lalu pilih Get sebagai Operations (Operasi).
    6. Klik Done untuk menyelesaikan konfigurasi koneksi dan menutup panel.

Memetakan ID pelanggan ke konektor Oracle

Untuk menambahkan dan mengonfigurasi pemetaan data dalam integrasi Anda, lakukan hal berikut:

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Data Mapping di editor integrasi.
  3. Pilih elemen Data Mapping pada desainer untuk melihat panel konfigurasi tugas.
  4. Klik dan ganti nama tugas Data Mapping menjadi Map to Oracle.
  5. Klik Open Data Mapping Editor.
  6. Petakan pemicu —customer_id—variabel integrasi ke konektor yang dibuat otomatis—entityId(Fetch Oracle Data)—variabel input.

    Setelah pemetaan selesai, tutup panel tersebut. Setiap perubahan akan disimpan otomatis.

  7. Menambahkan koneksi edge dari tugas Map to Oracle ke konektor Mengambil Data Oracle.

Mengambil detail pelanggan Oracle

Untuk mengambil detail pelanggan dari konektor Oracle, lakukan langkah berikut:

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Data Mapping di editor integrasi.
  3. Klik elemen Data Mapping pada desainer untuk melihat panel konfigurasi tugas.
  4. Klik dan ganti nama tugas Data Mapping menjadi Get Oracle data.
  5. Klik Open Data Mapping Editor.
  6. Petakan variabel output Oracle—connectorOutputPayload (Fetch Oracle Data)—ke variabel integrasi customer_record.

    Setelah pemetaan selesai, tutup panel tersebut. Setiap perubahan akan disimpan otomatis.

  7. Menambahkan koneksi edge dari konektor Mengambil Data Oracle ke tugas Mendapatkan data Oracle.

Tambahkan kondisi tepi

Kondisi edge memungkinkan Anda menentukan kondisi yang harus dipenuhi agar kontrol integrasi diteruskan ke tugas yang dihubungkan oleh edge. Setelah menambahkan dan mengonfigurasi tugas yang diperlukan, Anda dapat menambahkan kondisi edge untuk menentukan alur integrasi.

Kondisi edge berikut mengontrol alur integrasi berdasarkan variabel integrasi location:

  1. Tambahkan koneksi edge dari pemicu API ke tugas Map to MySQL dengan kondisi edge berikut:
      $location$ = "US"
  2. Tambahkan koneksi edge lain dari pemicu API ke tugas Map to Oracle dengan kondisi edge berikut:
      $location$ = "APAC"

Contoh alur integrasi

Gambar berikut menunjukkan contoh tata letak integrasi yang dibuat menggunakan tutorial ini.

Gambar contoh yang menunjukkan alur integrasi Gambar contoh yang menunjukkan alur integrasi

Integrasi publikasi

Untuk memublikasikan integrasi, klik Publikasikan di toolbar editor integrasi.

Setelah berhasil memublikasikan integrasi, Anda dapat melihat dan memeriksa log eksekusi dari integrasi yang dipublikasikan. Untuk melihat log, klik gambar yang menampilkan ikon untuk log eksekusiLihat log eksekusi untuk integrasi ini. Halaman Execution Logs akan muncul.

Menguji integrasi

Menguji integrasi dari editor integrasi

Untuk menguji integrasi dari editor integrasi, lakukan langkah-langkah berikut:

  1. Klik Test di toolbar editor integrasi.

    Dialog Test Integration akan muncul.

  2. Anda akan diminta untuk memasukkan nilai pengujian untuk variabel input integrasi. Untuk tujuan pengujian ini, lakukan hal berikut:.
    • customer_id: Masukkan 1.
    • location: Masukkan APAC.
  3. Klik Test Integration.

Integrasi berhasil dijalankan dan nilai pelanggan berikut ditampilkan:

{
  "CUSTOMER_ID": 1,
  "CUSTOMER_NAME": "Amal"
  "CUSTOMER_EMAILID": "test-01@test.com "
  "CUSTOMER_CITY": "Delhi"
}

Untuk informasi selengkapnya tentang pengujian, lihat Menguji dan memublikasikan integrasi.

Menguji menggunakan panggilan REST API

Setelah integrasi dipublikasikan dan berjalan, Anda dapat memanggilnya menggunakan panggilan POST REST berikut:

URL:
https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute 
Isi permintaan:
{"trigger_id":"api_trigger/api_fulfilment_API_1"}

Contoh: Membuat permintaan API dengan input kustom

curl -v -X POST -H "Content-Type: application/json" 'https://integrations.googleapis.com/v1/projects/connectors-ip-test/locations/us-central1/integrations/api-fulfillment-integration:execute' -H "Authorization: Bearer $(gcloud auth AUTH_PROFILE)" -d  '{ "triggerId": "api_trigger/api-fulfillment-integration_API_1", "inputParameters": { "customer_id": {"string_value": 1}, "location" : {"string_value" : "US"}} }'

API menampilkan respons eksekusi integrasi yang berisi semua JSON berikut:

  {
    "CUSTOMER_ID": 2,
    "CUSTOMER_NAME": "Dana"
    "CUSTOMER_EMAILID": "test-02@test.com "
    "CUSTOMER_CITY": "Seattle"
  }
  

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, batalkan publikasi integrasi dan hapus koneksi yang dibuat di Integration Connectors.

  • Untuk membatalkan publikasi integrasi ini, klik Batalkan publikasi di toolbar editor integrasi. Lihat Menghapus integrasi untuk mengetahui informasi selengkapnya.
  • Untuk mengetahui informasi tentang cara menghapus koneksi, lihat Mengelola konektor.