Pemenuhan permintaan API


Tutorial ini menjelaskan kasus penggunaan tentang cara menggunakan Integrasi Aplikasi untuk merutekan dan mengambil informasi untuk permintaan API masuk.

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-tugas berikut dalam integrasi Anda:

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

Biaya

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

Petunjuk dalam tutorial ini dirancang untuk menjaga penggunaan resource Anda tetap sesuai batas-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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

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 informasi tentang cara membuat dan menggunakan database MySQL, lihat dokumentasi MySQL.

Menyiapkan database Oracle

Hubungkan ke database Oracle dan 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 di Konektor Integrasi:

Koneksi MySQL
Konfigurasi koneksi MySQL di Integration Connectors untuk mendapatkan entitas tabel Customer. Untuk informasi tentang cara mengonfigurasi konektor MySQL, lihat Konektor MySQL.
Koneksi Oracle DB
Konfigurasi koneksi DB Oracle di Konektor Integrasi untuk mendapatkan entitas tabel Customer. Untuk informasi tentang cara mengonfigurasi konektor MySQL, lihat Konektor Oracle DB.

Membuat integrasi

Untuk membuat integrasi baru, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Integrasi Aplikasi.

    Buka Application Integration

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

Menyiapkan 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, 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 akan otomatis mengisi Label pemicu, nama pemicu, dan ID pemicu. ID Pemicu adalah ID yang dibuat 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 eksekusi integrasi. Untuk membuat variabel yang diperlukan untuk tutorial ini, lakukan tindakan berikut:

  1. Klik (Panel tombol) di menu navigasi desainer untuk menampilkan panel Variabel.
  2. Klik + Buat dan buat variabel integrasi berikut:
    Nama variabel Jenis data Jenis variabel
    location STRING Input untuk integrasi
    customer_id STRING Input ke Integrasi
    customer_record JSON Output dari Integrasi

Mengambil data pelanggan dari database MySQL

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

Menghubungkan 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 Konektor di editor integrasi.
  3. Pilih elemen tugas Konektor di desainer untuk melihat panel konfigurasi tugas Konektor.
  4. Klik dan ganti nama label Konektor menjadi Fetch MySQL Data.
  5. Klik Configure connector.
  6. Lakukan tindakan berikut di halaman Connectors Task Editor:
    1. Di bagian Select connection, pilih region us-central1.
    2. Pilih koneksi Salesforce Anda dari daftar koneksi yang tersedia.
    3. Klik Berikutnya.
    4. Di bagian Type, pilih Entities.
    5. Di bagian Set entities/actions, pilih Customers dari daftar entity yang tersedia, lalu pilih Get sebagai Operation.
    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 Pemetaan Data di editor integrasi.
  3. Pilih elemen Pemetaan Data di desainer untuk melihat panel konfigurasi tugas.
  4. Klik dan ganti nama tugas Pemetaan Data menjadi Map to MySQL.
  5. Klik Buka Editor Pemetaan Data.

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

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

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

  7. Tambahkan koneksi edge dari tugas Peta ke MySQL ke konektor Ambil Data MySQL.

Mengambil detail pelanggan MySQL

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

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

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

  7. Tambahkan koneksi edge dari konektor Fetch MySQL Data ke tugas Get MySQL data.

Mengambil data pelanggan dari database Oracle

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

Menghubungkan ke database Oracle

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

  1. Di editor integrasi, klik Tasks untuk menampilkan daftar tugas yang tersedia.
  2. Klik dan tempatkan elemen Konektor di editor integrasi.
  3. Pilih elemen tugas Konektor di desainer untuk melihat panel konfigurasi tugas Konektor.
  4. Klik dan ganti nama label Konektor menjadi Fetch Oracle Data.
  5. Klik Configure connector.
  6. Lakukan tindakan berikut di halaman Connectors Task Editor:
    1. Di bagian Select connection, pilih region us-central1.
    2. Pilih koneksi Salesforce Anda dari daftar koneksi yang tersedia.
    3. Klik Berikutnya.
    4. Di bagian Type, pilih Entities.
    5. Di bagian Set entities/actions, pilih Customers dari daftar entity yang tersedia, lalu pilih Get sebagai Operation.
    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 Pemetaan Data di editor integrasi.
  3. Pilih elemen Pemetaan Data di desainer untuk melihat panel konfigurasi tugas.
  4. Klik dan ganti nama tugas Pemetaan Data menjadi Map to Oracle.
  5. Klik Buka Editor Pemetaan Data.
  6. Petakan variabel integrasi pemicu —customer_id—ke variabel input konektor—entityId(Fetch Oracle Data)—yang dibuat otomatis.

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

  7. Tambahkan koneksi edge dari tugas Peta ke Oracle ke konektor Ambil Data Oracle.

Mengambil detail pelanggan Oracle

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

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

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

  7. Tambahkan koneksi edge dari konektor Fetch Oracle Data ke tugas Get Oracle data.

Menambahkan kondisi tepi

Kondisi edge memungkinkan Anda menentukan kondisi yang harus dipenuhi agar kontrol integrasi diteruskan ke tugas yang terhubung 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 Peta ke 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.

Contoh gambar yang menampilkan alur integrasi Contoh gambar yang menampilkan alur integrasi

Memublikasikan integrasi

Untuk memublikasikan integrasi, klik Publikasikan di toolbar editor integrasi.

Setelah berhasil memublikasikan integrasi, Anda dapat melihat dan memeriksa log eksekusi 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 Uji di toolbar editor integrasi.

    Panel Uji Integrasi 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 tagihan ke akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, batalkan publikasi integrasi dan hapus koneksi yang dibuat di Konektor Integrasi.

  • 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.