Looker 扩展程序框架是一个开发框架,可大幅减少构建自定义 JavaScript 数据应用和工具(例如以下内容)所需的工作量和复杂性:
- 贵公司的内部平台应用
- 面向客户的外部平台,例如使用 Looker 中的数据构建的嵌入式分析应用的客户门户
- 有针对性的内部工具
- 用于嵌入到外部应用中的应用
Looker Marketplace 上提供的 Looker 扩展程序的当前示例包括 Looker 数据字典和 LookML 图表。
为什么要使用扩展程序框架?
构建 Web 应用的某些部分既简单又有趣,而其他部分则明显更耗时,而且并不那么有趣。扩展程序框架通过简化许多不太有趣的任务来帮助您。
扩展程序框架负责处理构建 Web 应用的一些较为繁琐的方面,以便您可以专注于立即开始开发。使用扩展程序框架创建的自定义应用和工具可以从 Looker 中访问,从而让 Looker 处理以下类型的函数,例如:
- 身份验证 - 让您可以使用 Looker 现有的身份验证选项进行登录(例如密码登录、LDAP、SAML和OpenID Connect)。
- 访问权限控制与权限管理。
- API 访问权限 - 让您可以在 Looker 中使用其他常见的开发者资源,例如第三方 API 端点。
扩展程序框架功能
Looker 扩展程序框架包含以下功能:
- Looker Extension SDK,它提供用于Looker 公共 API 访问权限以及在 Looker 环境中进行交互的函数。
- Looker 组件,这是一个预构建的 React 界面组件库,您可以在扩展程序中使用。
- Embed SDK,这是一个库,您可以使用它在扩展程序中嵌入信息中心、Look 和探索。如需查看示例代码,请参阅 kitchen sink 扩展程序。您还可以使用 Embed SDK 将扩展程序嵌入到第三方应用中。将探索、Look 或信息中心嵌入到扩展程序中时,必须在浏览器中启用 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以下是包含
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 扩展程序框架示例代码库。该代码库中的任何扩展程序都可以克隆并重新用作项目的起点。
创建基本扩展程序并验证一切正常运行后,您就可以开始添加其他功能和自定义项:
您可以在扩展程序框架 React 和 JavaScript 代码示例文档页面上查看常见用例列表以及示例代码。
如需使用我们的组件库快速开发界面和布局,请参阅 Looker 界面组件 网站。
Looker Extension Kitchensink 模板是一个扩展程序,其中提供了大量扩展程序功能示例。您可以将此模板用作百科全书或参考指南,但不能将其用作起点或实际模板。我们建议您使用我们的扩展程序生成器或克隆一个更基本的示例来开始。
此外,我们还提供了可用作信息中心图块的扩展程序示例。图块可视化扩展程序展示了如何使用扩展程序框架构建自定义可视化图表。图块 SDK 扩展程序展示了特定于图块扩展程序的可用 API 方法。
卸载或移除扩展程序
如需从 Looker 界面中的应用列表中彻底移除扩展程序框架应用,您必须从定义 LookML 项目中移除扩展程序的定义。删除未定义扩展程序的项目不会从界面中移除扩展程序。
如需卸载或移除扩展程序,请按以下步骤操作:
确定定义扩展程序的 LookML 项目。
以 Looker 管理员身份依次前往开发 > 项目 ,然后点击已确定的项目名称以将其打开。
从项目中移除扩展程序:
- 如需移除扩展程序,同时保留 LookML 项目:打开项目的清单文件 (
manifest.lkml),然后找到与扩展程序 ID 对应的application代码块(例如application: my_extension_id { ... })。删除整个application代码块,保存更改,提交更改,然后将其部署到生产环境。 - 如需通过删除整个项目来移除扩展程序 :如果不再需要 LookML 项目,您可以永久删除该项目。如需了解如何删除项目,请参阅访问和修改项目信息文档页面。
- 如需移除扩展程序,同时保留 LookML 项目:打开项目的清单文件 (