Lihat konektor yang didukung untuk Application Integration.

Menyisipkan data ke BigQuery menggunakan tugas Untuk Setiap Paralel

Dalam tutorial ini, Anda akan membuat Application Integration dan sub-integrasi untuk memproses serangkaian kumpulan data. Untuk setiap kumpulan data, integrasi utama memanggil sub-integrasi secara asinkron, yang mengambil data untuk setiap kumpulan data dan memasukkannya sebagai baris dalam tabel dalam set data BigQuery.

Dalam tutorial ini, Anda akan menyelesaikan tugas berikut:

Sebelum memulai

  • Pastikan Anda memiliki akses ke Application Integration.
  • Lakukan hal berikut di project Google Cloud Anda:

    • Berikan peran berikut ke akun layanan yang ingin Anda gunakan untuk membuat koneksi:
      • roles/bigquery.dataEditor
      • roles/bigquery.readSessionUser
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
    • Aktifkan layanan berikut:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      Jika layanan ini belum diaktifkan untuk project Anda sebelumnya, Anda akan diminta untuk mengaktifkannya saat membuat koneksi di halaman Create Connection.

Menyiapkan koneksi BigQuery

Mulailah dengan membuat set data dan tabel BigQuery untuk digunakan dalam tutorial ini. Setelah membuat set data dan tabel, buatlah koneksi BigQuery. Anda akan menggunakan koneksi ini dalam integrasi nanti dalam tutorial ini.

Menyiapkan set data dan tabel BigQuery

Untuk menyiapkan set data dan tabel BigQuery, lakukan langkah-langkah berikut:

  1. Di halaman Cloud Console, pilih project Google Cloud Anda.
  2. Untuk meluncurkan sesi Cloud Shell dari Konsol Google Cloud, klik ikon Ikon Activate Cloud Shell Activate Cloud Shell di Cloud Console. Tindakan ini akan meluncurkan sesi di panel bawah Konsol Google Cloud.
  3. Untuk mengaktifkan BigQuery API, masukkan perintah berikut di terminal Cloud Shell Anda:
    export PROJECT_ID=project_id
    export REGION=region
    gcloud services enable --project "${PROJECT_ID}" \
        bigquery.googleapis.com \
        bigquerystorage.googleapis.com
    Dalam perintah ini, ganti:
    • project_id dengan ID project Google Cloud Anda.
    • region dengan region yang ingin Anda gunakan untuk membuat set data BigQuery.
  4. Untuk membuat set data BigQuery dengan nama bq_tutorial, masukkan perintah berikut di terminal Cloud Shell Anda:
          bq  --project_id ${PROJECT_ID} --location ${REGION} mk bq_tutorial
        
  5. Untuk membuat tabel BigQuery dengan nama tutorial, masukkan perintah berikut di terminal Cloud Shell Anda:
          bq --project_id ${PROJECT_ID} \
            query  \
            --nouse_legacy_sql \
          'create table bq_tutorial.tutorial (
          unique_key STRING NOT NULL,
          created_date STRING,
          closed_date STRING,
          agency STRING,
          agency_name STRING,
          complaint_type STRING,
          descriptor STRING,
          location_type STRING,
          incident_zip STRING,
          incident_address STRING,
          street_name STRING,
          cross_street_1 STRING,
          cross_street_2 STRING,
          intersection_street_1 STRING,
          intersection_street_2 STRING,
          address_type STRING,
          city STRING,
          landmark STRING,
          facility_type STRING,
          status STRING,
          due_date STRING,
          resolution_action_updated_date STRING,
          community_board STRING,
          borough STRING,
          x_coordinate_state_plane STRING,
          y_coordinate_state_plane STRING,
          park_facility_name STRING,
          park_borough STRING,
          school_name STRING,
          school_number STRING,
          school_region STRING,
          school_code STRING,
          school_phone_number STRING,
          school_address STRING,
          school_city STRING,
          school_state STRING,
          school_zip STRING,
          school_not_found STRING,
          school_or_citywide_complaint STRING,
          vehicle_type STRING,
          taxi_company_borough STRING,
          taxi_pick_up_location STRING,
          bridge_highway_name STRING,
          bridge_highway_direction STRING,
          bridge_highway_segment STRING,
          road_ramp STRING,
          garage_lot_name STRING,
          ferry_direction STRING,
          ferry_terminal_name STRING,
          latitude STRING,
          longitude STRING,
          location STRING
          ) '
      
  6. Periksa apakah tabel BigQuery Anda sudah dibuat.
    1. Di halaman Konsol Cloud, klik Navigation menu.
    2. Di bagian Analytics, klik BigQuery.
    3. Luaskan project Anda dan pastikan set data bq_tutorial telah tercantum.
    4. Luaskan set data bq_tutorial dan pastikan tabel tutorial telah tercantum.
    5. Klik tabel dokumen untuk melihat skema.

Membuat koneksi BigQuery

Selanjutnya, Anda akan membuat koneksi BigQuery. Koneksi BigQuery memungkinkan Anda menyisipkan, membaca, memperbarui, dan menghapus baris dalam tabel BigQuery serta menggunakan output yang dihasilkan dalam integrasi. Setelah membuat koneksi BigQuery, Anda akan menggunakan koneksi ini dalam integrasi nanti dalam tutorial ini untuk menambahkan baris ke tabel BigQuery.

Untuk membuat koneksi BigQuery, selesaikan langkah-langkah berikut:

  1. Di halaman Cloud Console, pilih project Google Cloud Anda.
  2. Buka halaman koneksi.
  3. Klik + CREATE NEW untuk membuka halaman Create Connection.
  4. Konfigurasi koneksi:
    1. Di bagian Create Connection, selesaikan langkah-langkah berikut:
      • Konektor: Pilih BigQuery dari menu drop-down Konektor yang tersedia.
      • Versi konektor: Pilih versi Konektor terbaru dari menu drop-down versi yang tersedia.
      • Di kolom Connection Name, masukkan nama untuk instance Connection. Untuk tutorial ini, masukkan connector-bq-tutorial.
      • Anda juga dapat menambahkan Deskripsi instance koneksi.
      • Akun Layanan: Pilih akun layanan yang memiliki peran yang diperlukan.
      • Project ID: Masukkan ID project Google Cloud tempat data BigQuery berada.
      • ID Set Data: Masukkan ID set data BigQuery yang ingin Anda gunakan. Untuk tutorial ini, masukkan bq_tutorial.
      • Anda juga dapat mengklik + TAMBAHKAN LABEL untuk menambahkan label dalam bentuk pasangan kunci/nilai.
      • Klik Next.
    2. Lokasi: Pilih region tempat koneksi akan dijalankan. Region yang didukung untuk konektor mencakup:

        Untuk mengetahui daftar semua wilayah yang didukung, lihat Lokasi.

      • Klik Next.
    3. Authentication: Koneksi BigQuery tidak memerlukan konfigurasi autentikasi. Klik Next.
    4. Tinjau: Tinjau detail konfigurasi koneksi Anda. Di bagian ini, detail koneksi dan autentikasi koneksi baru akan ditampilkan untuk Anda tinjau.
  5. Klik Create.

Menyiapkan sub-integrasi

Dalam tutorial ini, sub-integrasi mengambil setiap kumpulan data yang dikirim oleh integrasi utama dan menyisipkannya sebagai baris dalam tabel tutorial di set data bq_tutorial.

Membuat sub-integrasi

Untuk membuat sub-integrasi, selesaikan 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.
  4. Dalam dialog Create Integration, lakukan hal berikut:
    • Masukkan nama, misalnya, masukkan Proses setiap data
    • Jika perlu, masukkan deskripsi. Misalnya, masukkan Pemicu API untuk memproses setiap data (sub-integrasi)
    • Pilih region tempat Anda ingin membuat integrasi.
  5. Klik Create untuk membuka editor integrasi.

Tambahkan Pemicu API

Untuk menambahkan Pemicu API ke integrasi, lakukan hal berikut:

  1. Di editor integrasi, pilih Tambahkan tugas/pemicu > Pemicu untuk menampilkan daftar pemicu yang tersedia.
  2. Tarik elemen Pemicu API ke editor integrasi.

Menambahkan tugas Pemetaan Data

Untuk menambahkan tugas Pemetaan Data dalam integrasi, selesaikan langkah-langkah berikut:

  1. Pilih +Tambahkan tugas/pemicu > Tasks di editor integrasi untuk menampilkan daftar tugas yang tersedia.
  2. Tarik elemen Data Mapping ke editor integrasi.

Mengonfigurasi koneksi BigQuery

Sekarang Anda siap untuk menggunakan koneksi BigQuery yang telah Anda buat sebelumnya di sub-integrasi. Untuk mengonfigurasi koneksi BigQuery dalam integrasi ini, selesaikan langkah-langkah berikut:

  1. Pilih +Tambahkan tugas/pemicu > Tasks di editor integrasi untuk menampilkan daftar tugas yang tersedia.
  2. Tarik elemen Connectors ke editor integrasi.
  3. Klik elemen tugas Connectors pada desainer untuk melihat panel konfigurasi tugas.
  4. Klik ikon edit di panel kanan dan perbarui Label menjadi Sisipkan baris ke BigQuery.
  5. Klik Konfigurasi tugas.

    Dialog Configure Connector task akan muncul.

  6. Dalam dialog Configure Connector task, lakukan langkah berikut:
    1. Pilih region koneksi tempat Anda membuat koneksi BigQuery.
    2. Pilih koneksi BigQuery yang ingin Anda gunakan. Untuk tutorial ini, pilih connector-bq-tutorial.
    3. Setelah koneksi dipilih, kolom Jenis akan muncul. Pilih Entity, lalu tutorial dari daftar entity yang tersedia.
    4. Setelah jenis dipilih, kolom Operation akan muncul. Pilih Create.
    5. Klik Done untuk menyelesaikan konfigurasi koneksi dan menutup dialog.

Menghubungkan elemen integrasi

Selanjutnya, tambahkan koneksi edge untuk menghubungkan Pemicu API ke tugas Pemetaan Data dan tugas Pemetaan Data ke tugas Konektor. Koneksi tepi adalah koneksi antara dua elemen dalam suatu integrasi. Untuk mengetahui informasi selengkapnya tentang kondisi tepi dan tepi, lihat Edge.

Untuk menambahkan koneksi edge, selesaikan langkah-langkah berikut:

  1. Klik titik kontrol Fork di bagian bawah elemen API Trigger. Tarik lalu lepas koneksi edge pada titik kontrol Join di bagian atas elemen Data Mapping.
  2. Klik titik kontrol Fork di bagian bawah elemen Data Mapping. Tarik lalu lepas sambungan edge pada titik kontrol Join di bagian atas elemen Connectors.

Mengonfigurasi tugas Pemetaan Data

Untuk mengonfigurasi tugas Pemetaan Data, selesaikan langkah-langkah berikut:

  1. Di editor integrasi, klik tugas Data Mapping untuk melihat panel konfigurasi tugas.
  2. Klik Open Data Mapping Editor.
  3. Di Data Mapping Editor, klik Add untuk menambahkan variabel baru.
  4. Masukkan informasi berikut ke dalam dialog Create Variable:
    • Name: Masukkan data.
    • Jenis Data: Pilih JSON.
    • Skema: Pilih Infer from a sample JSON payload. Masukkan contoh payload JSON berikut:
                  {
                    "unique_key":"304271",
                    "created_date":"02/06/2007 12:00:00 AM",
                    "closed_date":"03/01/2007 12:00:00 AM",
                    "agency":"TLC",
                    "agency_name":"Taxi and Limousine Commission",
                    "complaint_type":"Taxi Complaint",
                    "descriptor":"Driver Complaint",
                    "location_type":"Street",
                    "incident_zip":"10001",
                    "incident_address":"",
                    "street_name":"",
                    "cross_street_1":"",
                    "cross_street_2":"",
                    "intersection_street_1":"WEST 29 STREET",
                    "intersection_street_2":"7 AVENUE",
                    "address_type":"INTERSECTION",
                    "city":"NEW YORK",
                    "landmark":"",
                    "facility_type":"N/A",
                    "status":"Closed",
                    "due_date":"02/28/2007 12:00:00 AM",
                    "resolution_action_updated_date":"03/01/2007 12:00:00 AM",
                    "community_board":"05 MANHATTAN",
                    "borough":"MANHATTAN",
                    "x_coordinate_state_plane":"986215",
                    "y_coordinate_state_plane":"211740",
                    "park_facility_name":"",
                    "park_borough":"MANHATTAN",
                    "school_name":"",
                    "school_number":"",
                    "school_region":"",
                    "school_code":"",
                    "school_phone_number":"",
                    "school_address":"",
                    "school_city":"",
                    "school_state":"",
                    "school_zip":"",
                    "school_not_found":"",
                    "school_or_citywide_complaint":"",
                    "vehicle_type":"",
                    "taxi_company_borough":"",
                    "taxi_pick_up_location":"Other",
                    "bridge_highway_name":"",
                    "bridge_highway_direction":"",
                    "road_ramp":"",
                    "bridge_highway_segment":"",
                    "garage_lot_name":"",
                    "ferry_direction":"",
                    "ferry_terminal_name":"",
                    "latitude":"40.74785373937869",
                    "longitude":"-73.99290823133913",
                    "location":"(40.74785373937869, -73.99290823133913)"
                  }
                
  5. Klik Create.
  6. Setelah variabel dibuat, di Data Mapping Editor, selesaikan langkah-langkah berikut:
    • Tarik variabel record baru ke kolom Input.
    • Tarik variabel connectorInputPayload ke kolom Output.
  7. Tutup Data Mapping Editor untuk kembali ke editor integrasi.

Memublikasikan sub-integrasi

Untuk memublikasikan sub-integrasi, di editor integrasi, klik Publikasikan.

Menyiapkan integrasi utama

Di bagian ini, Anda akan menyiapkan integrasi utama, yang menggunakan tugas Untuk Setiap Paralel untuk memproses setiap kumpulan data. Integrasi utama ini kemudian memanggil sub-integrasi satu kali untuk setiap data.

Membuat integrasi utama

Untuk membuat integrasi utama, selesaikan 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.
  4. Dalam dialog Create Integration, lakukan hal berikut:
    • Masukkan nama, misalnya, masukkan process-records.
    • Jika perlu, masukkan deskripsi. Misalnya, masukkan Pemicu API untuk memproses data (integrasi utama)
    • Pilih region tempat Anda ingin membuat integrasi.
  5. Klik Create untuk membuka editor integrasi.

Tambahkan Pemicu API

Untuk menambahkan Pemicu API ke integrasi, lakukan hal berikut:

  1. Di editor integrasi, pilih Tambahkan tugas/pemicu > Pemicu untuk menampilkan daftar pemicu yang tersedia.
  2. Tarik elemen Pemicu API ke editor integrasi.

Menambahkan tugas Untuk Setiap tugas Paralel

Untuk menambahkan tugas Untuk Setiap tugas Paralel dalam integrasi, selesaikan langkah-langkah berikut:

  1. Pilih +Tambahkan tugas/pemicu > Tasks di editor integrasi untuk menampilkan daftar tugas yang tersedia.
  2. Tarik elemen For Every Parallel ke editor integrasi.

Menghubungkan elemen integrasi

Selanjutnya, tambahkan koneksi edge untuk menghubungkan Pemicu API ke tugas Untuk Setiap Paralel.

Untuk menambahkan koneksi edge, klik titik kontrol Fork di bagian bawah elemen Pemicu API. Tarik lalu lepas koneksi edge pada titik kontrol Join di bagian atas elemen tugas For Every Parallel.

Mengonfigurasi tugas Untuk Setiap Paralel

Untuk mengonfigurasi tugas Untuk Setiap Paralel, selesaikan langkah-langkah berikut:

  1. Di editor integrasi, klik tugas For Every Parallel untuk melihat panel konfigurasi tugas.
  2. Di bagian Pemilihan Array > Daftar yang akan diiterasi, klik Tambahkan variabel baru untuk menambahkan variabel baru.
  3. Masukkan informasi berikut ke dalam dialog Create Variable:
    • Name: Masukkan records
    • Jenis Data: Pilih JSON.
    • Skema: Pilih Infer from a sample JSON payload. Masukkan contoh payload JSON berikut:
                    [{
                      "unique_key":"304271",
                      "created_date":"02/06/2007 12:00:00 AM",
                      "closed_date":"03/01/2007 12:00:00 AM",
                      "agency":"TLC",
                      "agency_name":"Taxi and Limousine Commission",
                      "complaint_type":"Taxi Complaint",
                      "descriptor":"Driver Complaint",
                      "location_type":"Street",
                      "incident_zip":"10001",
                      "incident_address":"",
                      "street_name":"",
                      "cross_street_1":"",
                      "cross_street_2":"",
                      "intersection_street_1":"WEST 29 STREET",
                      "intersection_street_2":"7 AVENUE",
                      "address_type":"INTERSECTION",
                      "city":"NEW YORK",
                      "landmark":"",
                      "facility_type":"N/A",
                      "status":"Closed",
                      "due_date":"02/28/2007 12:00:00 AM",
                      "resolution_action_updated_date":"03/01/2007 12:00:00 AM",
                      "community_board":"05 MANHATTAN",
                      "borough":"MANHATTAN",
                      "x_coordinate_state_plane":"986215",
                      "y_coordinate_state_plane":"211740",
                      "park_facility_name":"",
                      "park_borough":"MANHATTAN",
                      "school_name":"",
                      "school_number":"",
                      "school_region":"",
                      "school_code":"",
                      "school_phone_number":"",
                      "school_address":"",
                      "school_city":"",
                      "school_state":"",
                      "school_zip":"",
                      "school_not_found":"",
                      "school_or_citywide_complaint":"",
                      "vehicle_type":"",
                      "taxi_company_borough":"",
                      "taxi_pick_up_location":"Other",
                      "bridge_highway_name":"",
                      "bridge_highway_direction":"",
                      "road_ramp":"",
                      "bridge_highway_segment":"",
                      "garage_lot_name":"",
                      "ferry_direction":"",
                      "ferry_terminal_name":"",
                      "latitude":"40.74785373937869",
                      "longitude":"-73.99290823133913",
                      "location":"(40.74785373937869, -73.99290823133913)"
                    }]
                  
  4. Klik Create.
  5. Di bagian Detail Sub-integrasi, masukkan informasi berikut:
    • ID Pemicu API: Pilih elemen Pemicu API di sub-integrasi. Misalnya, pilih Process-each-record_API_1.
    • Strategi eksekusi: Pilih ASYNC.
    • Pilih Run a single integration.
  6. Di bagian On setiap execution, untuk Tempat memetakan elemen array individual, masukkan nama variabel dalam tugas pemetaan data di sub-integrasi. Dalam hal ini, masukkan data. Variabel sub-integrasi hanya dicantumkan untuk integrasi yang dipublikasikan. Jika variabel tidak tercantum, muat ulang halaman karena perlu waktu beberapa saat agar variabel terlihat setelah sub-integrasi dipublikasikan.

Memublikasikan integrasi utama

Untuk memublikasikan integrasi utama, di editor integrasi, klik Publikasikan.

Menguji integrasi Anda

Untuk menguji integrasi Anda, selesaikan langkah-langkah berikut:

  1. Download data sampel ke Cloud Shell Anda:
    1. Untuk meluncurkan sesi Cloud Shell dari Konsol Google Cloud, klik ikon Ikon Activate Cloud Shell Activate Cloud Shell di Cloud Console. Tindakan ini akan meluncurkan sesi di panel bawah Konsol Google Cloud.
    2. Masukkan perintah berikut di terminal Cloud Shell Anda:
      wget https://raw.githubusercontent.com/GoogleCloudPlatform/application-integration-samples/main/assets/bq-sample-dataset.json
              
    3. Untuk memastikan contoh data telah didownload, masukkan perintah berikut di terminal Cloud Shell Anda:
      ls -la bq-sample-dataset.json
      File yang didownload akan tercantum di terminal Cloud Shell.
  2. Untuk memilih tiga entri acak dari set data sampel dan menyimpannya agar dapat diteruskan ke integrasi, masukkan perintah berikut di terminal Cloud Shell Anda:
    AUTH=$(gcloud auth print-access-token)
    export SAMPLE_DOCS=$(jq $(r=$((RANDOM % 1000)) ; echo ".[$r:$((r + 3))]") < bq-sample-dataset.json | jq -Rs '.')
    
    generate_post_data()
      {
        cat <<EOF
          {
            "triggerId": "api_trigger/process-records_API_1",
            "inputParameters":
              {
                "records":
                  {
                    "jsonValue": $SAMPLE_DOCS
                  }
              }
          }
          EOF
      }
  3. Untuk memulai pengujian, masukkan perintah berikut di terminal Cloud Shell Anda:
    curl -X POST \
      https://integrations.googleapis.com/v1/projects/project_id/locations/region/integrations/process-records:execute \
      -H "Authorization: Bearer $AUTH" \
      -H "Content-Type: application/json" \
      -d "$(generate_post_data)"
    Dalam perintah ini, ganti:
    • project_id dengan ID project Google Cloud Anda.
    • region dengan wilayah tempat Anda membuat integrasi.
    Perintah ini memanggil integrasi utama dan meneruskan entri dari set data sampel ke integrasi utama. Integrasi utama kemudian meneruskan setiap entri ke sub-integrasi, yang menambahkan data sebagai baris di tabel BigQuery Anda.
  4. Untuk memverifikasi bahwa tabel BigQuery Anda kini berisi data ini, lakukan langkah-langkah berikut:
    1. Di halaman Konsol Cloud, klik Navigation menu.
    2. Di bagian Analytics, klik BigQuery.
    3. Luaskan project Anda dan klik set data bq_tutorial.
    4. Luaskan set data bq_tutorial dan klik tabel tutorial.
    5. Klik tab Table Explorer untuk melihat data yang disisipkan.

Langkah selanjutnya

Coba buat integrasi dengan konektor lain. Untuk daftar semua konektor yang didukung, lihat Referensi konektor.