Embed SDK のデモ

Looker 埋め込み SDK リポジトリには、サンプルコードと埋め込み SDK の簡単なデモが含まれています。Looker ではセキュリティが重視されているため、デモには多少の設定が必要です。このデモでは、Looker の埋め込みシークレットも必要です。埋め込まれたシークレットには、すべてのデータへのアクセス権が付与されます。次の点に注意してください。

  • インスタンスへの完全アクセス権を付与しないユーザーとはシークレットを共有しないようにしてください。
  • 別のコンテキストですでに使用しているシークレットはリセットしないようにしてください。
  • シークレットをウェブブラウザに保存するようにコードを設定しないでください。

ステップ 1: Looker インスタンスへの埋め込みを有効にする

詳細については、署名付き埋め込みのドキュメント ページをご覧ください。

  1. Looker インスタンスで [管理者] > [プラットフォーム埋め込み] に移動します。これには管理者権限が必要です。
  2. デモサーバーはデフォルトでは http://localhost:8080 で実行されます。そのアドレスを 組み込みドメイン許可リストに追加すると、デモが有効になり Looker からメッセージを受信できるようになります。
  3. [埋め込み認証] をオンにします。
  4. 埋め込みシークレットを表示するには、リセットする必要があります。シークレットを安全な場所にコピーします。

ステップ 2: Looker インスタンスのデモ設定をカスタマイズする

埋め込みシークレットをサーバーに提供します。これを行うにはいくつかの方法があります。

  • シェル環境で LOOKER_EMBED_SECRET として設定する。
  • sdk ディレクトリのルートに .env という名前のファイルを作成します。このファイルに LOOKER_EMBED_SECRET="YourLookerSecret" の行を追加します。

次のいずれかの方法で、Looker インスタンスのホストアドレスをサーバーに提供します。

  • シェル環境で LOOKER_EMBED_HOST として設定する。
  • .env ファイルに LOOKER_EMBED_HOST="yourinstance.looker.com:yourport" を追加します。

埋め込むページに合わせて、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: デモをビルドして実行する

ノード サーバー

  1. 実行 npm install
  2. 実行 npm start

サーバーから、どのホストとポートで実行されているかが出力されます。それが http://localhost:8080 と異なる場合は、そのドメインを埋め込みドメイン許可リストに追加する必要があります。

Python サーバー

  1. 実行 npm install
  2. 実行 npm run python

サーバーから、どのホストとポートで実行されているかが出力されます。

Python 2/3 互換レイヤをインストールするには、pip install six が必要になる場合があります。