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 yang di-streaming atau yang menggunakan OAuth. Selain itu, pengguna Looker mungkin mengalami kueri yang mengalami hang 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 berkomunikasi satu sama lain. Admin instance yang dihosting pelanggan yang berminat untuk membaca solusi yang sesuai untuk arsitektur instance mereka dapat membaca rekomendasi yang dijelaskan di bagian Pertimbangan untuk instance yang dihosting pelanggan dalam halaman dokumentasi Berbagi data melalui hub tindakan.

Jika instance menggunakan sertifikat SSL yang diterbitkan oleh Certificate Authority (CA) yang tidak ada dalam daftar root certificate ini, tindakan OAuth dan streaming mungkin tidak dapat digunakan pada 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 menjalankan server hub tindakan lokal untuk menggunakan tindakan Looker yang mendukung hasil streaming atau yang menggunakan Google OAuth. Anda dapat menyiapkan server hub tindakan lokal Anda sendiri dengan membuat container atau mesin virtual (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 container atau virtual machine (VM) untuk server action hub.
  2. Mengonfigurasi kredensial Google OAuth.
  3. Konfigurasi 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 container atau virtual machine (VM) untuk server hub tindakan

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

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

Persyaratan jaringan

Hub tindakan Anda harus memiliki alamat IP statis atau alamat yang dapat diselesaikan melalui Domain Name System (DNS) internal.

Jaringan Anda harus mendukung persyaratan komunikasi berikut:

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

Dependensi yang diperlukan

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

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

Setelah lingkungan disiapkan, Anda perlu membuat kredensial Google OAuth untuk server hub tindakan di Konsol API Google Cloud.

Mengonfigurasi kredensial Google OAuth

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

Membuat kredensial Google OAuth

Untuk membuat client ID dan rahasia klien Google OAuth:

  1. Buka halaman Manage resources Google Cloud dan klik CREATE PROJECT untuk membuat project baru.

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

  2. Setelah project baru dibuat, pilih project baru tersebut.
  3. Dari sidebar kiri konsol, buka halaman APIs & Services > Credentials.
  4. Klik Create Credentials.
  5. Pada drop-down, klik Client ID OAuth.
  6. Anda mungkin perlu mengonfigurasi layar izin OAuth. Jika demikian, 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. Masukkan nama aplikasi Anda di kolom Name.
  9. Di bagian Asal JavaScript resmi, 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 sebagai alamat hub tindakan Anda:
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. Klik tombol Buat untuk membuat client ID OAuth dan rahasia klien OAuth. Anda akan memerlukan keduanya nanti.

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

Untuk mengonfigurasi layar izin:

  1. Klik KONFIGURASI LAYAR PERSETUJUAN.
  2. Pilih apakah ini aplikasi internal atau eksternal, dan klik CREATE.
  3. Masukkan nama aplikasi Anda di kolom Nama aplikasi.
  4. Untuk Email dukungan pengguna, masukkan alamat email yang akan ditampilkan di layar izin Oauth bagi dukungan pengguna.
  5. Secara opsional, untuk Logo aplikasi, upload file gambar untuk digunakan di layar izin Oauth.
  6. Secara opsional, masukkan Link halaman beranda aplikasi, yang seharusnya dihosting di domain root yang sama dengan hub tindakan Anda.
  7. Jika ingin, masukkan link ke kebijakan privasi aplikasi Anda di kolom Link kebijakan privasi aplikasi. Link tersebut harus dihosting di domain root yang sama dengan hub tindakan Anda.
  8. Atau, masukkan link ke persyaratan layanan aplikasi Anda di kolom Link persyaratan layanan aplikasi. Link tersebut harus dihosting di domain root yang sama dengan hub tindakan Anda.
  9. Untuk bagian Domain yang diotorisasi, klik TAMBAHKAN DOMAIN, lalu masukkan domain root yang digunakan hub tindakan 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. Hal ini termasuk email, profil, OpenID, dan https://mail.google.com. Karena daftar ini berisi informasi pengguna yang sensitif, Google perlu 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 hub tindakan sebelum verifikasi.
  15. Klik SIMPAN DAN LANJUTKAN.
  16. Klik KEMBALI KE DASBOR.
  17. Di sidebar kiri, klik Credentials untuk kembali mengonfigurasi kredensial OAuth Anda.

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

Menetapkan variabel lingkungan

Di lingkungan VM atau container, 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 kedua set token Google API ditetapkan.

Setel 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 Anda, 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 hub tindakan lokal

Untuk memulai hub tindakan, jalankan perintah ini:

yarn start

Menambahkan hub tindakan ke instance Looker

Untuk menambahkan hub tindakan 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, lalu klik Add Action Hub. Hub tindakan 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 hub tindakan Anda.
  5. Aktifkan tindakan Google Drive dan Google Spreadsheet Anda, serta pastikan keduanya dikonfigurasi dengan benar di hub tindakan Anda.

Langkah berikutnya

Langkah berikutnya adalah memublikasikan aplikasi yang Anda buat di Konsol API Google. Untuk memublikasikan, buka halaman Layar izin OAuth, lalu klik tombol Kirim untuk verifikasi. Perhatikan bahwa proses publikasi permohonan mungkin memerlukan waktu beberapa saat dan akan memerlukan beberapa langkah verifikasi dengan Google.