Looker 拡張フレームワークは、まもなく新しい読み込みメカニズムを使用します。新しい拡張機能では、既存の拡張機能が読み込まれたときにエラーが発生することがあります。Looker 環境で正式に有効化される前に、新しいローダで拡張機能をテストする方法については、Looker ヘルプセンターの新しい拡張機能フレームワーク ローダーのテストに関する記事をご覧ください。
Looker 拡張フレームワークは、次のようなカスタム JavaScript データ アプリケーションやツールを構築する際の労力と複雑さを大幅に軽減する開発フレームワークです。
- 社内の社内プラットフォーム アプリケーション
- 顧客向けの外部プラットフォーム(Looker のデータで構築された組み込み型分析アプリケーションの顧客ポータルなど)
- 対象となる内部ツール
- 外部アプリケーションに埋め込むアプリケーション
Looker Marketplace で現在利用できる Looker 拡張機能の例としては、Looker データ ディクショナリや LookML 図があります。
拡張フレームワークを使用する理由
ウェブ アプリケーションの構築には、簡単で楽しい部分もあれば、明らかに時間がかかるうえに面白くない部分もあります。拡張フレームワークは、あまり複雑でないタスクの多くを効率化するのに役立ちます。
この拡張機能フレームワークでは、ウェブ アプリケーションの構築に関する面倒な作業の一部が解消されるため、すぐに開発を始めることができます。拡張フレームワークで作成されたカスタム アプリケーションとツールには、Looker 内からアクセスでき、次のような種類の機能を Looker で処理できます。
- 認証 - Looker の既存の認証オプション(パスワード ログイン、LDAP、SAML、OpenID Connect など)をログインに使用できます。
- アクセス制御と権限の管理。
- API アクセス - Looker 内のサードパーティ API エンドポイントなど、他の一般的なデベロッパー リソースを利用できます。
拡張フレームワークの機能
Looker 拡張フレームワークには次の機能が含まれます。
- Looker の拡張機能 SDK: Looker の公開 API アクセスや Looker 環境内でのやり取りのための関数を提供します。
- Looker コンポーネント: 拡張機能で使用可能な事前構築済みの React UI コンポーネントのライブラリ。
- Embed SDK は、拡張機能、ダッシュボード、Look、Explore を埋め込むために使用できるライブラリです。サンプルコードについては、キッチンのシンク拡張機能をご覧ください。Embed SDK を使用して拡張機能をサードパーティ アプリに埋め込むこともできます。Explore、Look、ダッシュボードを拡張機能に埋め込む際は、ブラウザで Cookie を有効にする必要があります。
create-looker-extension
ユーティリティ: 必要なすべての拡張機能ファイルと依存関係を含む基本的な拡張機能を作成し、ビルドの出発点として使用できます。- Looker の拡張機能フレームワークの例のリポジトリには、すぐに使用を開始するためのテンプレートとサンプル拡張機能が含まれています。
- サードパーティの API エンドポイントにアクセスし、サードパーティのデータを拡張機能に追加する機能。
Looker 内で全画面表示の拡張機能を作成する機能。内部および外部のプラットフォーム アプリケーションで全画面表示の拡張機能が使用できます。
全画面拡張機能では、拡張機能のみのユーザー グループにユーザーを追加することで、一連のユーザーが拡張機能から Looker の別の部分に移動されないようにすることができます。拡張機能の URL で
/extensions
を/spartan
に置き換えて、Looker のナビゲーション バーを削除することもできます。拡張機能のアクセスキーを設定して、ユーザーが拡張機能を実行するためにキーを入力する必要がある。拡張機能の料金を請求しつつ、拡張機能にアクセスできないユーザーがアクセスできないようにするには、標準の Looker 権限を使用します。
拡張フレームワークの要件
Looker 拡張フレームワークを使用して開発するには:
- インスタンスに対して LookML デベロッパーの権限が必要です。
- Looker 管理者が拡張フレームワーク機能を有効にする必要があります。
- JavaScript または TypeScript に精通していることが推奨されます。
- React での開発をおすすめしますが、未加工の JavaScript 用の拡張機能 SDK もあります。
Looker 内で実行するには、機能に関係なく、すべての拡張機能が Looker 内に次の要素を含める必要があります。
以下を行う LookML プロジェクト。
- モデルファイルが含まれている
- プロジェクト マニフェスト ファイルを含む
- Git リポジトリに接続されている
LookML モデルファイルには、インスタンス上の有効なデータベース接続を参照する
connection
パラメータが必要です。プロジェクト マニフェスト ファイルには
application
パラメータが必要です。application
パラメータは、拡張機能にラベルを与え、拡張機能の JavaScript の場所を Looker に伝え、拡張機能の利用資格のリストを提供します。利用資格によって、拡張機能がアクセスできる Looker リソースが定義されます。Looker のリソースは、エンタイトルメントにリストされていない限り、アクセスできません。application
パラメータを使用したプロジェクト マニフェスト ファイルの例を次に示します。
project_name: "super_duper_extension"
application: super_duper_extension {
label: "Super Duper Extension"
url: "http://localhost:8080/dist/bundle.js"
entitlements: {
local_storage: no
navigation: no
new_window: no
new_window_external_urls: []
use_form_submit: yes
use_embeds: no
use_downloads: no
core_api_methods: []
external_api_urls: []
oauth2_urls: []
scoped_user_attributes: []
global_user_attributes: []
}
}
詳しくは、application
パラメータのドキュメント ページをご覧ください。
Looker 拡張フレームワークを使用した開発を始める
最も簡単な方法は、テンプレートから新しいスターター拡張機能を生成し、そのスターターに機能を追加して追加することです。これにより、すべての構成とパッケージングが正しいことを確認できます。これは手動で行うのは容易ではありません。拡張機能の新しい Looker プロジェクトを作成してスターター拡張機能を生成する手順については、Looker 拡張機能の構築の概要ページをご覧ください。
より高度なテンプレートや高度なテンプレートについては、Looker 拡張フレームワークのサンプル リポジトリをご覧ください。このリポジトリにある拡張機能は、クローンの作成とプロジェクトの開始点として再利用できます。
シンプルな拡張機能を作成し、すべてが機能していることを確認したら、次のような機能とカスタマイズを追加できるようになります。
一般的なユースケースのリストについては、Looker 拡張フレームワークのコード例のドキュメントをご覧ください。
コンポーネント ライブラリを使用して UI とレイアウトを迅速に開発するには、Looker UI コンポーネントのサイトをご覧ください。
Looker 拡張機能 Kitchensink Template は、さまざまな拡張機能の機能の例を提供する拡張機能です。このテンプレートは、百科事典やリファレンス ガイドとして使用できますが、出発点や実際のテンプレートとしては使用できません。開始するには、拡張機能生成ツールを使用するか、よりシンプルな例のクローンを作成することをおすすめします。