Embed SDK versus endpoint Create Signed Embed Url

Looker sangat andal dalam membuat data dapat diakses oleh semua pengguna atau pelanggan Anda. Seperti yang sering kami katakan, Looker membantu "membuat data lebih mudah diakses". Anda dapat memberi pengguna kemampuan untuk melihat hasil kueri sendiri tanpa harus meminta analis membuat dasbor secara manual; dengan Looker, pengguna bahkan dapat melakukan analisis mereka sendiri. Salah satu cara untuk melakukannya adalah menggunakan fitur penyematan yang ditandatangani Looker. Halaman ini membahas dua metode berbeda untuk menerapkan penyematan yang ditandatangani, Looker API, dan Software Development Kit (SDK) penyematan 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. Hal ini dapat dilakukan dengan fitur penyematan yang ditandatangani Looker. Hal ini berbeda dengan referensi umum untuk alur kerja SSO seperti LDAP atau SAML, yang juga dapat diintegrasikan ke dalam instance Looker Anda.

Signed di signed embed menunjukkan bahwa, setelah URL sematan dibuat dan permintaan dikirim dari browser, sesi Looker pengguna telah dimulai dan mereka 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, akun akan dibuat untuknya berdasarkan parameter yang diteruskan ke URL.

Developer dapat memanfaatkan Looker API atau Looker API SDK 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, misalnya 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:

  • Contoh repo 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 endpoint Embed SDK dan REST API kepada pelanggan, bukan contoh skrip, karena SDK dan REST API sering diperbarui oleh developer kami, dan keduanya umumnya membuat URL yang lebih pendek dibandingkan dengan skrip. (URL yang lebih pendek sedikit lebih mudah dikelola.) Ada juga beberapa fitur keamanan berguna yang ditawarkan Embed SDK dan endpoint REST API, yang akan dibahas nanti di halaman ini.

Misalkan kita ingin pengguna aplikasi 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 berhasil mengakses konten.
  3. Berdasarkan respons dari alur kerja login, informasi pengguna diteruskan ke fungsi yang dapat menggunakan salah satu contoh skrip kami untuk membuat URL sematan yang ditandatangani. Skrip ini memerlukan izin pengguna, ID grup, secret penyematan, URL host, atribut pengguna seperti nama depan dan belakang, filter akses, durasi sesi, dan URL yang ingin diakses pengguna. Semua informasi ini dikirim ke Looker, dan URL yang ditandatangani akan dibuat.
  4. Pengguna membuka halaman data di aplikasi, tempat URL yang ditandatangani ini ditempatkan di iframe; selanjutnya, browser menayangkan permintaan di URL iframe. Dasbor didistribusikan 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 ditandatangani dan dienkode yang didasarkan pada kumpulan parameter. Ini adalah permintaan POST. Server tempat permintaan API berasal harus dapat mengautentikasi ke Looker dengan izin admin. Salah satu manfaat utama penggunaan endpoint ini adalah secret penyematan tidak diperlukan untuk menggunakannya; endpoint sudah dikonfigurasi untuk mengambil secret penyematan saat ini. Panggilan ke endpoint ini juga tidak diperhitungkan dalam batasan kapasitas API. Secara umum, kredensial API lebih mudah dirotasi dibandingkan dengan secret sematan. Beberapa kredensial API 3 dapat aktif secara bersamaan, tetapi hanya satu secret penyematan yang dapat digunakan sekaligus pada satu instance. Hal ini memudahkan penggantian kredensial tanpa gangguan layanan. Endpoint Create Signed Embed Url juga membuat URL yang lebih pendek dan ringkas dibandingkan dengan skrip contoh di repositori contoh skrip URL sematan yang ditandatangani.

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 spesifik pengguna tersebut ke endpoint ini, dan URL yang ditandatangani 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 yang ditandatangani dari server Anda dan menempatkannya di iframe pada halaman.
  4. Pengguna akan melihat dasbor dari Looker yang di-iframe dengan lancar ke dalam aplikasi Anda dengan data live.

Embed SDK

Embed SDK Looker adalah kumpulan fungsi JavaScript yang dikemas untuk mempermudah developer dalam menyematkan konten Looker. Dengan Embed SDK, Anda dapat 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 mengantarkan iframe, yang berarti pelanggan tidak perlu membuat atau mengelola iframe. Embed SDK hanya untuk aplikasi browser, tetapi menyertakan fungsi utilitas bantuan 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 dari Embed SDK adalah SDK ini juga memungkinkan Anda memanfaatkan komponen Looker, kumpulan blok kode yang dapat digunakan kembali yang dibuat untuk membantu menerapkan sistem desain Looker.

Manfaat lain dari Embed SDK adalah jumlah fungsi bawaan yang menghilangkan banyak pekerjaan dari 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 saling berkomunikasi menggunakan postMessage API. Hal ini memungkinkan fungsi lain berkomunikasi dengan iframe atau membuat 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 mereka akan dikirim ke utilitas helper Node.js di server yang menjalankan aplikasi. Tindakan ini akan meneruskan informasi yang diperlukan ke instance Looker, dan URL yang ditandatangani 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 yang ditandatangani).
  4. Halaman dimuat, dan URL yang ditandatangani memuat dasbor dari instance Looker.

Jadi...metode mana yang terbaik?

Salah satu metode yang digunakan tim pengembangan Anda akan bergantung pada kasus penggunaan tertentu Anda:

Diagram Venn yang menyoroti persamaan dan perbedaan antara metode Buat URL Penyematan yang Ditandatangani dan Embed SDK.

Seperti yang ditunjukkan pada 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 dengan metode Embed SDK dengan cara berikut:

  • Tidak memerlukan secret penyematan.
  • Prosesnya mirip dengan menggunakan REST API lainnya.
  • Endpoint harus dipanggil di sisi server.

Metode Embed SDK memiliki fitur berikut:

  • Penargetan 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 bantuan, dan pengembangan dapat dilakukan di sisi klien.

Jika ada pertanyaan spesifik 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 penyematan yang ditandatangani dan referensi pemecahan masalah untuk referensi tambahan.