Embed SDK versus endpoint Create Signed Embed Url

Looker sangat bagus dalam membuat data dapat diakses oleh semua pengguna atau pelanggan Anda. Seperti yang sering kami katakan, Looker membantu "mendemokratisasi data". Anda dapat memberdayakan pengguna untuk melihat hasil kueri sendiri tanpa harus meminta analis membuat dasbor secara manual; dengan Looker, pengguna Anda bahkan dapat melakukan analisis sendiri. Salah satu cara untuk melakukannya adalah dengan menggunakan fitur sematan bertanda tangan Looker. Halaman ini membahas dua metode berbeda untuk menerapkan sematan bertanda tangan, yaitu Looker API dan Software Development Kit (SDK) sematan Looker.

Misalnya, Anda ingin mengintegrasikan hasil kueri ke dalam aplikasi atau sistem internal perusahaan Anda sendiri dan tidak ingin memberikan kredensial Looker kepada semua pengguna Anda. Hal ini dapat dilakukan dengan fitur sematan bertanda tangan Looker. Hal ini berbeda dengan referensi umum untuk alur kerja SSO seperti LDAP atau SAML, yang juga dapat diintegrasikan ke dalam instance Looker Anda.

Sematan yang ditandatangani yang ditandatangani menunjukkan bahwa setelah URL sematan dibuat dan permintaan dikirim dari browser, sesi Looker pengguna telah dimulai dan pengguna telah login. URL ini ditandatangani dan hanya dapat digunakan satu kali. URL ini membuat iframe yang memungkinkan developer menyematkan konten seperti Eksplorasi, Tampilan, dan dasbor ke situs atau aplikasi perusahaan Anda. Saat URL digunakan, jika pengguna tidak memiliki akun yang sudah ada, akun akan dibuat untuknya berdasarkan parameter yang diteruskan ke URL.

Developer dapat memanfaatkan Looker API atau SDK Looker API untuk membuat iframe ini secara dinamis. Anda dapat menerapkan tema dan menyesuaikan konten agar sesuai dengan kebutuhan perusahaan atau grup pengguna tertentu. Untuk melihat lebih lanjut potensi penyematan Looker ke dalam konten Anda, berikut demo lengkap dengan penjelasan tentang cara menerapkan konsep ini.

Jadi, bagaimana cara memulainya?

Sekarang, anggaplah Anda telah menonton demo dan ingin mempelajari cara menambahkan iframe ini ke aplikasi Anda. Dari mana Anda harus memulai, dan metode apa yang tepat untuk kasus penggunaan Anda?

Looker menawarkan beberapa opsi utama untuk membuat konten ini, yang dapat ditempatkan di dalam aplikasi atau situs Anda:

  • Repositori contoh skrip Looker yang ditulis dalam berbagai bahasa pemrograman (C#, Python, Node.js, Python, Ruby, PHP)
  • Endpoint Create Signed Embed Url yang disertakan dalam REST API kami, yang dapat diakses melalui permintaan HTTP atau salah satu SDK kami
  • Embed SDK Looker

Kami umumnya merekomendasikan Embed SDK dan endpoint REST API kepada pelanggan, bukan skrip contoh, karena SDK dan REST API sering diperbarui oleh developer kami, dan umumnya membuat URL yang lebih pendek dibandingkan dengan skrip. (URL yang lebih pendek lebih mudah dikelola.) Ada juga beberapa fitur keamanan berguna yang ditawarkan oleh Embed SDK dan endpoint REST API, yang akan dibahas nanti di halaman ini.

Misalkan kita ingin pengguna aplikasi kita dapat melihat dasbor dari Looker di halaman data dalam aplikasi pelanggan. Alur kerja penyematan umum mungkin terlihat seperti ini:

  1. Pengguna login ke aplikasi. Mereka dapat menggunakan layanan SAML atau hanya email dan sandi untuk login ke aplikasi.
  2. Aplikasi mengonfirmasi bahwa kredensial sudah benar, dan pengguna dapat berhasil mengakses konten.
  3. Berdasarkan respons dari alur kerja login, informasi pengguna diteruskan ke fungsi yang dapat menggunakan salah satu skrip contoh kami untuk membuat URL sematan bertanda tangan. Skrip ini memerlukan izin pengguna, ID grup, secret sematan, URL host, atribut pengguna seperti nama depan dan belakang, filter akses, durasi sesi, dan URL yang ingin kita izinkan aksesnya oleh pengguna. Semua informasi ini dikirim ke Looker, dan URL bertanda tangan dibuat.
  4. Pengguna membuka halaman data di aplikasi, tempat URL bertanda tangan ini ditempatkan dalam iframe; selanjutnya, browser menayangkan permintaan di URL iframe. Dasbor ini disebarkan dengan pengalaman yang dipersonalisasi, dan pengguna dapat mengakses data dari Looker dalam aplikasi.

Endpoint Create Signed Embed Url

Dengan menggunakan REST API Looker atau salah satu SDK, developer dapat membuat URL yang dienkode dan ditandatangani berdasarkan serangkaian parameter. Ini adalah permintaan POST. Server tempat permintaan API berasal harus dapat melakukan autentikasi ke Looker dengan izin admin. Salah satu manfaat utama menggunakan endpoint ini adalah secret sematan tidak diperlukan untuk menggunakannya; endpoint sudah dikonfigurasi untuk mengambil secret sematan saat ini. Panggilan ke endpoint ini juga tidak diperhitungkan terhadap batasan kapasitas API. Secara umum, kredensial API lebih mudah diubah dibandingkan dengan secret sematan. Beberapa kredensial API 3 dapat aktif secara bersamaan, tetapi hanya satu secret sematan yang dapat digunakan sekaligus pada satu instance. Hal ini mempermudah penggantian kredensial tanpa gangguan layanan. Endpoint Create Signed Embed Url juga membuat URL yang lebih pendek dan ringkas dibandingkan dengan contoh skrip di repositori contoh skrip URL sematan bertanda tangan kami.

Berikut adalah contoh alur kerja yang menggunakan endpoint Create Signed Embed Url:

  1. Pengguna mencoba login ke aplikasi Anda, biasanya dengan kombinasi nama pengguna dan sandi atau mungkin melalui penyedia identitas (IdP).
  2. Jika mereka berhasil login ke aplikasi, endpoint Create Signed Embed Url akan dijalankan. Fungsi yang dibuat oleh tim developer Anda akan meneruskan kredensial khusus pengguna tersebut ke endpoint ini, dan URL bertanda tangan akan ditampilkan dari Looker ke server Anda.
  3. Pengguna mungkin memiliki opsi untuk mengklik tab data di aplikasi. Saat pengguna membuka tab data, halaman ini akan meminta URL bertanda tangan dari server Anda dan menempatkannya di iframe pada halaman.
  4. Pengguna melihat dasbor dari Looker yang di-iframe dengan lancar ke aplikasi Anda dengan data langsung.

Embed SDK

Embed SDK Looker adalah kumpulan fungsi JavaScript yang dipaketkan untuk memudahkan developer menyematkan konten Looker. Embed SDK memungkinkan Anda menambahkan konten Looker ke halaman di aplikasi atau situs tanpa harus membuat elemen HTML tertentu. SDK memungkinkan developer membuat komunikasi point-to-point yang aman antara halaman HTML dan konten Looker Anda. Embed SDK kini mengenkapsulasi iframe, yang berarti pelanggan tidak perlu membuat atau mengelola iframe. Embed SDK hanya untuk aplikasi browser, tetapi menyertakan fungsi utilitas helper untuk membuat URL yang ditandatangani. Keduanya tersedia di TypeScript dan Python. Meskipun Embed SDK ditampilkan di registry nmpjs, Anda tidak perlu menggunakan server web Node.js.

Salah satu fitur unik Embed SDK adalah Anda juga dapat memanfaatkan komponen Looker, yaitu kumpulan blok kode yang dapat digunakan kembali yang dibuat untuk membantu menerapkan sistem desain Looker.

Manfaat lain dari Embed SDK adalah sejumlah fungsi bawaan yang mengurangi banyak pekerjaan tim pengembangan Anda. Salah satu contoh utamanya adalah membatalkan klik. Embed SDK menggunakan MessageChannel API, bukan postMessage. Artinya, dua skrip yang berjalan di halaman yang sama dapat berkomunikasi satu sama lain menggunakan postMessage API. Hal ini memungkinkan fungsi lain berkomunikasi dengan iframe atau fungsi lain berkomunikasi dengan iframe.

Contoh alur kerja untuk Embed SDK mungkin terlihat seperti ini:

  1. Pengguna mencoba login ke aplikasi Anda.
  2. Jika login berhasil, informasi pengguna akan dikirim ke utilitas helper Node.js di server yang menjalankan aplikasi. Tindakan ini akan meneruskan informasi yang diperlukan ke instance Looker, dan URL bertanda tangan akan ditampilkan.
  3. Pengguna membuka halaman data di aplikasi tempat Embed SDK digunakan untuk menempatkan iframe. Karena Embed SDK ditulis dalam JavaScript, kita dapat menggunakan LookerEmbedSDK.createDashboardWithId dan menargetkan elemen DOM tertentu (biasanya span atau div) di halaman untuk menambahkan iframe (URL bertanda tangan).
  4. Halaman dimuat, dan URL bertanda tangan memuat dasbor dari instance Looker.

Jadi...metode mana yang terbaik?

Metode mana yang digunakan tim pengembangan Anda akan bergantung pada kasus penggunaan spesifik Anda:

Diagram Venn yang menyoroti persamaan dan perbedaan antara metode Create Signed Embed Url dan Embed SDK.

Seperti yang ditunjukkan dalam diagram sebelumnya, metode endpoint Create Signed Embed Url dan metode Embed SDK yang dijelaskan sebelumnya memungkinkan tim pengembangan Anda berfokus pada produk, bukan cara Looker berintegrasi dengan aplikasi. Kedua metode ini juga memungkinkan pengalaman data yang kaya di aplikasi native Anda.

Metode endpoint Create Signed Embed Url berbeda dari metode Embed SDK dengan cara berikut:

  • Tidak memerlukan rahasia sematan.
  • Prosesnya mirip dengan penggunaan REST API lainnya.
  • Endpoint harus dipanggil di sisi server.

Metode Embed SDK memiliki fitur berikut:

  • API ini berbasis JavaScript dan dapat menargetkan elemen DOM tertentu.
  • Class ini berinteraksi dengan komponen Looker untuk membantu menata gaya UI.
  • Fungsi ini terintegrasi dengan fungsi utilitas pembantu, dan pengembangan dapat dilakukan di sisi klien.

Jika ada pertanyaan khusus tentang persyaratan pengembangan atau arsitektur, Anda dapat menghubungi tim Layanan Profesional Looker atau salah satu partner pengembangan kami.

Selain itu, tim dukungan kami dapat membantu Anda mengatasi masalah tingkat tinggi atau perilaku yang tidak terduga. Anda dapat membuka permintaan dukungan di Pusat Bantuan Looker dengan mengklik Hubungi Kami.

Lihat postingan Komunitas Alat sematan bertanda tangan dan referensi pemecahan masalah untuk mendapatkan referensi tambahan.