Looker 扩展框架是一种开发框架,可显著降低构建自定义 JavaScript 数据应用和工具的工作量和复杂性,例如:
- 您公司的内部平台应用
- 客户的外部平台,例如使用 Looker 中的数据构建的嵌入式 Google Analytics(分析)应用的客户门户
- 有针对性的内部工具
- 用于嵌入到外部应用中的应用
Looker Marketplace 中提供的 Looker 扩展程序包括 Looker 数据字典和 LookML 图表。
为什么要使用扩展框架?
构建 Web 应用的某些部分既轻松又有趣,而其他部分显然更耗时,而且不太有趣。该扩展程序框架可以帮助您简化许多不太有趣的任务。
该扩展程序框架负责构建 Web 应用的一些较为繁琐的方面,因此您可以专注于立即开始开发。您可以在 Looker 中访问使用扩展框架创建的自定义应用和工具,从而允许 Looker 处理以下类型的函数,例如:
- Authentication - 允许您使用 Looker 的现有登录选项(例如密码登录、LDAP、SAML 和 OpenID Connect)。
- 访问权限控制和权限管理。
- API 访问权限 - 让您可以在 Looker 中利用其他常见的开发者资源,例如第三方 API 端点。
扩展框架功能
Looker 扩展程序框架包含以下功能:
- Looker Extension SDK,提供 Looker 公共 API 访问权限以及在 Looker 环境中互动的函数。
- Looker 组件:一个可在扩展程序中使用的预构建 React 界面组件库。
- Embed SDK,这是一个库,可用于在扩展程序中嵌入信息中心、外观和探索。如需查看示例代码,请参阅厨房接收器扩展程序。您还可以使用 Embed SDK 将扩展程序嵌入第三方应用。当您将“探索”“外观”或“信息中心”嵌入到扩展程序中时,必须在浏览器中启用 Cookie。
create-looker-extension
实用程序:用于创建基本扩展程序,其中包含所有必要的扩展程序和依赖项,您可以以此为基础构建基础扩展程序。- 我们的 Looker 扩展程序框架示例代码库,其中包含模板和示例扩展程序,可帮助您快速上手。
- 能够访问第三方 API 端点并将第三方数据添加到您的扩展程序。
能够在 Looker 中创建全屏扩展程序。全屏扩展程序可用于内部或外部平台应用。
在全屏扩展程序中,您可以通过将用户添加到“仅限扩展程序”用户群组,阻止一组用户从扩展程序导航到 Looker 的其他部分。您还可以通过将扩展程序网址中的
/extensions
替换为/spartan
来移除 Looker 导航栏。您可以为扩展程序配置访问密钥,这样用户必须输入密钥才能运行扩展程序。如果您要对扩展程序收费,这非常有用,但您应该使用标准 Looker 权限,将访问权限控制为一律无法访问扩展程序的用户。
扩展程序框架要求
如需使用 Looker 扩展框架进行开发,请执行以下操作:
- 您需要实例的 LookML 开发者权限。
- 您的 Looker 管理员必须启用扩展框架功能。
- 建议您熟悉 JavaScript 或 TypeScript。
- 尽管适用于原始 JavaScript 的扩展 SDK,但我们还是建议在 React 中进行开发。
要在 Looker 中运行,每个扩展程序,无论其功能如何,都必须在 Looker 中包含以下元素:
一个符合以下条件的 LookML 项目:
- 包含模型文件
- 包含项目清单文件
- 已连接到 Git 代码库
LookML 模型文件需要一个指向实例上有效数据库连接的
connection
参数。项目清单文件需要
application
参数。application
参数为扩展程序提供标签,告知 Looker 在哪里查找扩展程序 JavaScript,并提供扩展程序的权限列表。使用权定义了扩展程序可以访问的 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 扩展框架代码示例文档页面上查看包含用例的常见用例列表。
请参考 Looker 界面组件网站,使用我们的组件库进行快速的界面和布局开发。
Looker Extension Kitchensink 模板是一个扩展程序,可提供大量扩展程序功能的示例。您可以将此模板用作百科全书或参考指南,但不能用作起点或实际模板。我们建议您使用我们的扩展程序生成器,或克隆一个更加简单的示例。