Pemenuhan permintaan API


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

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 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:

  • Tambahkan pemicu API.
  • Menambahkan dan mengonfigurasi tugas Konektor untuk koneksi MySQL dan Oracle.
  • Tambahkan dan konfigurasi 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 tingkat 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, lalu buat database dan 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 mengetahui informasi tentang cara membuat dan menggunakan database MySQL, lihat dokumentasi MySQL.

Menyiapkan database Oracle

Hubungkan ke database Oracle Anda 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 Integration Connectors:

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

Buat integrasi

Untuk membuat integrasi baru, lakukan langkah-langkah berikut:

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

    Buka Integrasi Aplikasi

  2. Klik Integrasi dari menu navigasi kiri untuk membuka halaman Integrasi.
  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 wilayah 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 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 ada konfigurasi lebih lanjut yang diperlukan 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 hal berikut:

  1. Klik (Beralih panel) 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 ke 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 langkah-langkah 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 Connectors di editor integrasi.
  3. Pilih elemen tugas Konektor di perancang untuk melihat panel konfigurasi tugas Konektor.
  4. Klik , lalu ganti nama label Konektor menjadi Fetch MySQL Data.
  5. Klik Configure connector.
  6. Lakukan tindakan berikut di halaman Connectors Task Editor:
    1. Di bagian Pilih koneksi, 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 Setel entitas/tindakan, pilih Pelanggan dari daftar entitas yang tersedia, lalu pilih Dapatkan sebagai Operasi.
    6. Klik Selesai 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 perancang untuk melihat panel konfigurasi tugas.
  4. Klik , lalu 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 yang dibuat otomatis—entityId(Fetch MySQL Data).

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

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

Mengambil detail pelanggan MySQL

Untuk mengambil detail pelanggan dari konektor MySQL, lakukan langkah-langkah 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 perancang untuk melihat panel konfigurasi tugas.
  4. Klik , lalu 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 disimpan otomatis.

  7. Tambahkan koneksi tepi dari konektor Ambil Data MySQL ke tugas Dapatkan data MySQL.

Mengambil data pelanggan dari database Oracle

Jika permintaan API ingress 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 guna 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 Konektor di perancang untuk melihat panel konfigurasi tugas Konektor.
  4. Klik , lalu ganti nama label Konektor menjadi Fetch Oracle Data.
  5. Klik Configure connector.
  6. Lakukan tindakan berikut di halaman Connectors Task Editor:
    1. Di bagian Pilih koneksi, 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 Setel entitas/tindakan, pilih Pelanggan dari daftar entitas yang tersedia, lalu pilih Dapatkan sebagai Operasi.
    6. Klik Selesai 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 perancang untuk melihat panel konfigurasi tugas.
  4. Klik , lalu 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 yang dibuat otomatis—entityId(Fetch Oracle Data).

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

  7. Tambahkan koneksi edge dari tugas Map to Oracle ke konektor Fetch Oracle Data.

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 perancang untuk melihat panel konfigurasi tugas.
  4. Klik , lalu 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 disimpan otomatis.

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

Menambahkan kondisi tepi

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

Kondisi ekstrem 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.

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

Publikasikan 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 Test Integration akan muncul.

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

Integrasi berhasil dijalankan dan nilai pelanggan berikut ditampilkan:

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

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

Menguji menggunakan panggilan REST API

Setelah integrasi dipublikasikan dan berjalan, Anda dapat memanggilnya menggunakan panggilan REST POST 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.