Looker 扩展程序框架

Looker 扩展程序框架是一种开发框架,可显著降低构建自定义 JavaScript 数据应用和工具(例如)的难度和复杂性:

  • 贵公司的内部平台应用
  • 面向客户的外部平台,例如使用 Looker 中的数据构建的嵌入式分析应用的客户门户
  • 有针对性内部工具
  • 要在外部应用中嵌入的应用

目前,Looker Marketplace 上提供的 Looker 扩展程序示例包括 Looker Data DictionaryLookML Diagram

为什么要使用扩展程序框架?

构建 Web 应用的某些部分很简单且有趣,而另一些部分显然更耗时且不太有趣。扩展程序框架可帮助您简化许多不太有趣的任务。

扩展程序框架会处理构建 Web 应用的一些繁琐方面,以便您可以立即专注于开始开发。您可以从 Looker 内访问使用扩展程序框架创建的自定义应用和工具,从而让 Looker 处理以下类型的函数,例如:

扩展程序框架功能

Looker 扩展程序框架包含以下功能:

  • Looker Extension SDK,用于提供对 Looker 公共 API 的访问功能,以及在 Looker 环境中进行互动。
  • Looker 组件,一个包含可在扩展程序中使用的预构建 React 界面组件的库。
  • 嵌入 SDK,这是一个库,可用于在扩展程序中嵌入信息中心、主题和探索。如需查看示例代码,请参阅厨房水槽扩展程序。您还可以使用嵌入 SDK 将扩展程序嵌入到第三方应用中。将探索、外观或信息中心嵌入到扩展程序中时,必须在浏览器中启用 Cookie。
  • create-looker-extension 实用程序,用于创建包含所有必要扩展程序文件和依赖项的基本扩展程序,可用作构建扩展程序的起点。
  • 我们的 Looker 扩展程序框架示例代码库,其中包含模板和示例扩展程序,可帮助您快速上手。
  • 能够访问第三方 API 端点并向您的扩展程序添加第三方数据。
  • 能够在 Looker 中创建全屏扩展程序。全屏扩展程序可用于内部或外部平台应用。

    在全屏扩展程序中,您可以将用户添加到“仅限扩展程序”用户群组,以阻止一组用户从您的扩展程序导航到 Looker 的其他部分。您还可以通过在扩展程序网址中将 /extensions 替换为 /spartan 来移除 Looker 导航栏。

  • 能够为您的扩展程序配置访问密钥,以便用户必须输入密钥才能运行扩展程序。如果您想对扩展程序收费,这非常有用,但您应使用标准 Looker 权限来限制那些永远不应访问扩展程序的用户。

  • 从 Looker 24.0 开始,您可以开发可在信息中心的功能块中运行的扩展程序。支持作为功能块或可视化图表运行的扩展程序可以在信息中心处于编辑模式时添加,也可以从“探索”中将其作为可视化图表保存到信息中心。您还可以在 LookML 信息中心中将扩展程序配置为功能块。

扩展程序框架要求

如需使用 Looker 扩展程序框架进行开发,请执行以下操作:

为了能够在 Looker 中运行,无论其功能如何,每个扩展程序都必须在 Looker 中包含以下元素:

  • 符合以下要求的 LookML 项目

  • 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 界面组件网站,使用我们的组件库快速开发界面和布局。

  • Lookout 扩展程序厨房水槽模板是一个扩展程序,提供了各种扩展程序功能的示例。您可以将此模板用作百科全书或参考指南,但不能将其用作起点或实际模板。我们建议您先使用扩展程序生成器或克隆一个较简单的示例。

  • 您还可以找到可用作信息中心功能块的扩展程序示例。功能块可视化扩展程序展示了如何使用扩展程序框架构建自定义可视化。功能块 SDK 扩展会显示特定于功能块扩展程序的可用 API 方法。