Looker 埋め込み SDK リポジトリには、サンプルコードと埋め込み SDK の簡単なデモが含まれています。Looker はセキュリティを重視しているため、デモにはいくつかの設定が必要です。このデモには、Looker の埋め込みシークレットも必要です。埋め込まれたシークレットには、すべてのデータへのアクセス権が付与されます。次の点に注意してください。
- インスタンスに完全にアクセスできないユーザーに対してシークレットを共有しないでください。
- 別のコンテキストですでに使用しているシークレットはリセットしないでください。
- シークレットをウェブブラウザに保存するようにコードを設定しないでください。
ステップ 1: Looker インスタンスへの埋め込みを有効にする
詳細については、署名付き埋め込みのドキュメント ページをご覧ください。
- Looker インスタンスで [管理者] > [プラットフォーム埋め込み] に移動します。これには管理者権限が必要です。
- デモサーバーは、デフォルトで
http://localhost:8080
で実行されます。そのアドレスを 組み込みドメイン許可リストに追加すると、デモが有効になり Looker からメッセージを受信できるようになります。 - [埋め込み認証] をオンにします。
- 埋め込みシークレットを表示するには、リセットする必要があります。シークレットを安全な場所にコピーします。
ステップ 2: Looker インスタンスのデモ設定をカスタマイズする
埋め込みシークレットをサーバーに渡します。これを行うには、いくつかの方法があります。
- シェル環境で
LOOKER_EMBED_SECRET
として設定する。 - sdk ディレクトリのルートに
.env
という名前のファイルを作成します。このファイルにLOOKER_EMBED_SECRET="YourLookerSecret"
の行を追加します。
次のいずれかの方法で、Looker インスタンスのホストアドレスをサーバーに渡します。
- シェル環境で
LOOKER_EMBED_HOST
として設定する。 LOOKER_EMBED_HOST="yourinstance.looker.com:yourport"
を.env
ファイルに追加する。
埋め込むページに合わせて、demo/demo_config.ts
ファイルを編集する。
// The address of your Looker instance. Required.
export const lookerHost = 'self-signed.looker.com:9999'
// A dashboard that the user can see. Set to 0 to disable dashboard.
export const dashboardId = 1
// A Look that the user can see. Set to 0 to disable look.
export const lookId = 1
埋め込むユーザーの種類に合わせて、demo/demo_user.json
ファイルを編集する。
{
// External embed user ID. IDs are not shared with regular users. Required
"external_user_id": "user1",
// First and last name. Optional
"first_name": "Pat",
"last_name": "Embed",
// Duration before session expires, in seconds. Required.
"session_length": 3600,
// Enforce logging in with these permissions. Recommended.
"force_logout_login": true,
// External embed group ID. Optional.
"external_group_id": "group1",
// Looker Group IDs. Optional
"group_ids": [],
// Permissions. See documentation for details. Required.
// Can any combination of:
// access_data
// see_looks
// see_user_dashboards
// see_lookml_dashboards
// explore
// create_table_calculations
// download_with_limit
// download_without_limit
// see_drill_overlay
// see_sql
// save_content
// embed_browse_spaces
// schedule_look_emails
// send_to_sftp
// send_to_s3
// send_outgoing_webhook
// schedule_external_look_emails
"permissions": [
"access_data",
"see_looks",
"see_user_dashboards",
"explore"
"save_content",
"embed_browse_spaces"
],
// Model access permissions. Required.
"models": ["powered_by", "thelook"],
// User attributes. Optional.
"user_attributes": { "locale": "en_US" },
}
ステップ 3: デモをビルドして実行する
ノード サーバー
- 実行
npm install
- 実行
npm start
サーバーは、実行中のホストとポートを出力します。http://localhost:8080
と異なる場合は、埋め込みドメインの許可リストに追加する必要があります。
Python サーバー
- 実行
npm install
- 実行
npm run python
サーバーは、実行中のホストとポートを出力します。
Python 2/3 互換性レイヤをインストールするために、pip install six
が必要となる場合があります。