Menyiapkan hub tindakan lokal untuk tindakan yang menggunakan OAuth dan streaming

Jika instance Looker yang dihosting pelanggan tidak dapat berkomunikasi dengan hub tindakan yang dihosting Looker, admin Looker mungkin tidak dapat mengaktifkan tindakan yang mendukung hasil streaming atau yang menggunakan OAuth. Selain itu, pengguna Looker mungkin mengalami kueri yang terhenti saat mengirim atau menjadwalkan data ke tindakan yang mendukung hasil streaming dan mungkin tidak dapat mengonfigurasi tindakan OAuth.

Untuk menggunakan integrasi Looker, Looker Action Hub dan instance Looker harus dapat saling berkomunikasi. Admin instance yang dihosting pelanggan yang tertarik untuk membaca tentang solusi yang sesuai untuk arsitektur instance mereka dapat melihat rekomendasi yang dijelaskan di bagian Pertimbangan untuk instance yang dihosting pelanggan di halaman dokumentasi Membagikan data melalui action hub.

Jika instance menggunakan sertifikat SSL yang diterbitkan oleh Certificate Authority (CA) yang tidak ada dalam daftar sertifikat root ini, tindakan OAuth dan streaming mungkin tidak dapat digunakan di instance Looker yang dihosting pelanggan.

Untuk melihat tindakan yang dikonfigurasi untuk mendukung hasil streaming atau OAuth, lihat daftar layanan terintegrasi Looker di halaman dokumentasi Setelan admin - Tindakan.

Halaman ini menjelaskan cara mengaktifkan server hub tindakan lokal untuk menggunakan tindakan Looker yang mendukung hasil streaming atau yang menggunakan Google OAuth. Anda dapat menyiapkan server Action Hub lokal Anda sendiri dengan membuat penampung atau virtual machine (VM) yang menghosting salinan kode repo Looker Action Hub yang di-clone, lalu mengikuti langkah-langkah berikut, seperti yang dijelaskan secara lebih mendetail di bagian berikut:

  1. Buat penyiapan penampung atau virtual machine (VM) untuk server action hub.
  2. Konfigurasikan kredensial Google OAuth.
  3. Konfigurasikan layar izin Google OAuth.
  4. Menyiapkan variabel lingkungan.
  5. Buat kunci API.
  6. Mulai hub tindakan baru.
  7. Tambahkan hub tindakan baru ke instance Looker Anda.

Membuat penyiapan penampung atau virtual machine (VM) untuk server Action Hub

VM atau penampung Anda harus memenuhi persyaratan dan dependensi alokasi serta jaringan berikut:

Looker merekomendasikan untuk mengalokasikan 2 thread CPU/vCPU dan minimal 2 GB memori untuk penampung atau VM ini. Jika Anda memperkirakan penggunaan tindakan yang berat, pertimbangkan untuk meningkatkan memori di atas 2 GB.

Persyaratan jaringan

Action hub Anda harus memiliki alamat IP statis atau alamat yang dapat di-resolve melalui Domain Name System (DNS) internal.

Jaringan Anda harus mendukung persyaratan komunikasi berikut:

  • Instance Looker harus dapat berkomunikasi dengan action hub.
  • Google Auth harus dapat berkomunikasi dengan action hub.
  • Browser yang terhubung secara internal harus dapat menjangkau action hub.
  • Action hub harus dapat menjangkau server Google Drive.

Dependensi yang diperlukan

Saat Anda meng-clone repo tindakan Looker ke VM atau penampung yang baru dibuat:

  • Pastikan Node 12.13 telah diinstal.
  • Jalankan yarn install untuk menginstal paket yang diperlukan.

Setelah menyiapkan lingkungan, Anda harus membuat kredensial Google OAuth untuk server Action Hub di Konsol Google Cloud API.

Mengonfigurasi kredensial Google OAuth

Untuk mengonfigurasi kredensial Google OAuth untuk tindakan Anda, Anda harus:

Membuat kredensial OAuth Google

Untuk membuat client ID dan rahasia klien Google OAuth:

  1. Buka halaman Kelola resource Google Cloud, lalu klik CREATE PROJECT untuk membuat project baru.

    Untuk informasi selengkapnya tentang cara membuat project, lihat panduan Membuat dan mengelola project.

  2. Setelah project baru dibuat, pilih project baru.
  3. Dari sidebar kiri konsol, buka halaman API & Layanan > Kredensial.
  4. Klik Buat Kredensial.
  5. Di menu drop-down, klik Client ID OAuth.
  6. Anda mungkin perlu mengonfigurasi layar izin OAuth. Jika ya, ikuti petunjuk di bagian Mengonfigurasi layar izin OAuth nanti di halaman ini, lalu lanjutkan ke langkah 7.
  7. Untuk Jenis aplikasi, pilih Aplikasi web.
  8. Berikan nama aplikasi Anda di kolom Name.
  9. Di bagian Asal JavaScript yang sah, tambahkan alamat aplikasi Looker root yang Anda gunakan secara internal.
  10. Tetapkan URI pengalihan yang diotorisasi untuk konsol Google Drive dan Google Spreadsheet dengan ACTION_HUB_BASE_URL adalah alamat action hub Anda:
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. Klik tombol Create untuk membuat client ID OAuth dan secret klien OAuth. Anda akan memerlukan keduanya nanti.

Halaman Konsol Google API ini memungkinkan Anda mengonfigurasi layar izin untuk semua aplikasi dalam project, yang memungkinkan pengguna memberikan akses ke data mereka serta memberi mereka link ke dokumentasi hukum atau privasi. Jika Anda telah menyelesaikan langkah ini atau tidak perlu mengonfigurasi layar izin, lewati bagian ini dan kembali ke jendela terminal untuk menetapkan variabel lingkungan, seperti yang dijelaskan di Menetapkan variabel lingkungan nanti di halaman ini.

Untuk mengonfigurasi layar izin:

  1. Klik CONFIGURE CONSENT SCREEN.
  2. Pilih apakah ini aplikasi internal atau eksternal, lalu klik BUAT.
  3. Masukkan nama aplikasi Anda di kolom App name.
  4. Untuk Email dukungan pengguna, masukkan alamat email yang akan ditampilkan di Layar izin Oauth untuk dukungan pengguna.
  5. Secara opsional, untuk Logo aplikasi, upload file gambar yang akan digunakan di Layar izin OAuth.
  6. Secara opsional, masukkan Link halaman beranda aplikasi, yang harus dihosting di domain root yang sama dengan hub tindakan Anda.
  7. Secara opsional, masukkan link ke kebijakan privasi aplikasi Anda di kolom Link kebijakan privasi aplikasi. Link harus dihosting di domain root yang sama dengan Action Hub Anda.
  8. Atau, masukkan link ke persyaratan layanan aplikasi Anda di kolom Link persyaratan layanan aplikasi. Link harus dihosting di domain root yang sama dengan Action Hub Anda.
  9. Untuk bagian Authorized domains, klik ADD DOMAIN, lalu masukkan domain root yang digunakan oleh Action Hub Anda.
  10. Di kolom Informasi kontak developer, masukkan email yang dapat digunakan Google untuk menghubungi Anda.
  11. Klik SIMPAN DAN LANJUTKAN.
  12. Di bagian Cakupan, tambahkan jenis data pengguna yang harus diakses aplikasi Anda. Ini mencakup email, profil, OpenID, dan https://mail.google.com. Karena daftar ini menyertakan informasi pengguna yang sensitif, Google harus memverifikasi layar izin Oauth Anda sebelum dapat dipublikasikan.
  13. Klik SIMPAN DAN LANJUTKAN.
  14. Secara opsional, di bagian Pengguna pengujian, tambahkan pengguna yang ingin Anda beri akses ke Action Hub sebelum verifikasi.
  15. Klik SIMPAN DAN LANJUTKAN.
  16. Klik KEMBALI KE DASBOR.
  17. Di sidebar kiri, klik Kredensial untuk kembali ke konfigurasi kredensial OAuth Anda.

Setelah Anda mengonfigurasi layar izin OAuth, jika Anda sedang dalam proses mengonfigurasi kredensial Google Oauth, kembali ke langkah 7 prosedur tersebut dan selesaikan konfigurasi kredensial. Atau, Anda dapat kembali ke jendela terminal untuk menetapkan variabel lingkungan.

Menetapkan variabel lingkungan

Di lingkungan VM atau penampung, tetapkan variabel lingkungan berikut:

    ACTION_HUB_LABEL=<your action hub label name>
        ACTION_HUB_SECRET=<some secret>
        ACTION_HUB_BASE_URL=<your action hub base address>
            # For example https://actions.company.com
            # DO NOT INCLUDE A TRAILING SLASH
        GOOGLE_SHEET_CLIENT_ID=<OAuth client ID>
        GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret>
        GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID>
        GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>

Anda seharusnya dapat menggunakan OAuth client ID dan OAuth client secret yang sama untuk Google Drive dan Google Spreadsheet; namun, sebaiknya tetap tetapkan kedua kumpulan token Google API.

Tetapkan juga kunci enkripsi:

    CIPHER_MASTER="<hex aes-256 key>"

Kunci ini tidak digunakan untuk enkripsi jangka panjang; kunci ini hanya digunakan untuk mengenkripsi state selama alur OAuth. Berikut adalah contoh kunci hex aes-256:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

Membuat kunci API

Untuk mendapatkan kunci API, jalankan perintah ini:

y arn generate-api-key

Simpan kunci yang dibuat untuk digunakan nanti dalam penyiapan. Kunci ini dibuat berdasarkan ACTION_HUB_SECRET.

Memulai server Action Hub lokal

Untuk memulai action hub, jalankan perintah ini:

yarn start

Menambahkan action hub ke instance Looker

Untuk menambahkan action hub ke instance Looker:

  1. Di Looker, buka halaman Actions di bagian Platform pada panel Admin.
  2. Scroll ke bagian bawah halaman, lalu klik tombol Tambahkan Action Hub.
  3. Masukkan ACTION_HUB_BASE_URL Anda, lalu klik Tambahkan Action Hub. Action hub Anda akan muncul di bawah judul baru dengan nama dan ACTION_HUB_BASE_URL. Tindakan Google Drive dan Google Spreadsheet Anda akan muncul di bawah judul ini.
  4. Jika koneksi gagal, masukkan api-key yang Anda buat sebelumnya di kolom Authorization Token, lalu klik link Refresh di bagian atas judul Action Hub.
  5. Aktifkan tindakan Google Drive dan Google Spreadsheet, dan pastikan tindakan tersebut dikonfigurasi dengan benar di Action Hub.

Langkah berikutnya

Langkah berikutnya adalah memublikasikan aplikasi yang Anda buat di Konsol Google API. Untuk memublikasikan, buka halaman OAuth consent screen, lalu klik tombol Submit for verification. Perhatikan bahwa proses publikasi aplikasi mungkin memerlukan waktu beberapa saat dan akan memerlukan beberapa langkah verifikasi dengan Google.