Looker 扩展程序框架是一个开发框架,可显著降低构建自定义 JavaScript 数据应用和工具的工作量和复杂性,例如:
- 贵公司的内部平台应用
- 面向客户的外部平台,例如用于查看使用 Looker 中数据构建的嵌入式分析应用的客户门户
- 有针对性内部工具
- 用于嵌入外部应用的应用
目前,Looker Marketplace 上提供的 Looker 扩展程序示例包括 Looker Data Dictionary 和 LookML Diagram。
为何使用扩展程序框架?
构建 Web 应用的某些部分既简单又有趣,而另一些部分显然更耗时且不太有趣。扩展程序框架可帮助您简化许多不太有趣的任务。
扩展程序框架会处理构建 Web 应用的一些繁琐方面,以便您可以立即专注于开始开发。可以从 Looker 中访问使用扩展框架创建的自定义应用和工具,从而使 Looker 能够处理以下类型的功能,例如:
- Authentication - 允许您使用 Looker 的现有身份验证选项(例如密码登录、LDAP、SAML 和 OpenID Connect)进行登录。
- 访问权限控制和权限管理。
- API 访问权限 - 允许您在 Looker 中利用其他常用的开发者资源,例如第三方 API 端点。
扩展程序框架功能
Looker 扩展程序框架包含以下功能:
- Looker Extension SDK,用于提供对 Looker 公共 API 的访问功能,以及在 Looker 环境中进行互动。
- Looker 组件:一个库,其中包含可在扩展程序中使用的预构建 React 界面组件。
- Embed SDK,这是一个可用于在扩展程序中嵌入信息中心、Look 和探索的库。如需查看示例代码,请参阅厨房接收器扩展程序。您还可以使用嵌入 SDK 将扩展程序嵌入到第三方应用中。将探索、外观或信息中心嵌入到扩展程序中时,必须在浏览器中启用 Cookie。
create-looker-extension
实用程序,用于创建包含所有必要扩展程序文件和依赖项的基本扩展程序,您可以将其用作构建扩展程序的基础。- 我们的 Looker 扩展程序框架示例代码库,其中包含模板和示例扩展程序,可帮助您快速上手。
- 能够访问第三方 API 端点并向您的扩展程序添加第三方数据。
能够在 Looker 中创建全屏扩展程序。全屏扩展程序可用于内部或外部平台应用。
在全屏扩展程序中,您可以将用户添加到“仅限扩展程序”用户群组,以阻止一组用户从您的扩展程序导航到 Looker 的其他部分。您还可以通过在扩展程序网址中将
/extensions
替换为/spartan
来移除 Looker 导航栏。能够为您的扩展程序配置访问密钥,以便用户必须输入密钥才能运行扩展程序。如果您想对扩展程序收费,这种做法非常有用,但您应当使用标准 Looker 权限,将访问权限限制在始终无法访问扩展程序的人身上。
从 Looker 24.0 开始,您可以开发在信息中心的功能块中运行的扩展程序。支持以图块或可视化图表形式运行的扩展程序可以在信息中心处于修改模式时添加,也可以作为“探索”中的可视化图表保存到信息中心。您还可以在 LookML 信息中心中将扩展程序配置为功能块。
扩展程序框架要求
如需使用 Looker 扩展程序框架进行开发,请执行以下操作:
- 您需要对实例拥有 LookML 开发者权限。
- 您的 Looker 管理员必须启用扩展程序框架功能。
- 建议您熟悉 JavaScript 或 TypeScript。
- 我们建议使用 React 进行开发,但也提供了适用于原始 JavaScript 的扩展 SDK。
为了在 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" mount_points: { standalone: no } 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 扩展程序厨房模板是一个扩展程序,提供了各种扩展程序功能的示例。您可以将此模板用作百科全书或参考指南,但不能作为起点或真正的模板。我们建议您使用我们的扩展程序生成器,或者从其中一个比较简单的示例入手。
您还可以找到可用作信息中心功能块的扩展程序示例。图块可视化图表扩展程序显示了如何使用扩展程序框架构建自定义可视化图表。功能块 SDK 扩展会显示特定于功能块扩展程序的可用 API 方法。