Looker 扩展程序框架简介

Looker 扩展程序框架是一种开发框架,能够大幅降低构建自定义 JavaScript 数据应用和工具的工作量和复杂性,例如:

  • 您公司的内部平台应用
  • 客户的外部平台,例如使用 Looker 中的数据构建的嵌入式 Google Analytics(分析)应用的客户门户
  • 有针对性的内部工具
  • 用于在外部应用中嵌入的应用

Looker Marketplace 上提供的 Looker 扩展程序目前的示例包括 Looker 数据字典LookML 图表

为什么要使用扩展框架?

构建 Web 应用的某些部分非常简单有趣,但其他部分显然更耗时,而且不完全有趣。该扩展程序框架可以帮助您简化其中的很多有趣任务。

该扩展程序框架可以为您处理一些构建 Web 应用较为繁琐的工作,让您可以立即开始专注于开发工作。您可以在 Looker 中访问使用该扩展框架创建的自定义应用和工具,这样 Looker 就可以处理以下类型的函数:

扩展框架功能

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

  • Looker Extension SDK,可以提供 Looker 公共 API 访问权限以及在 Looker 环境中进行交互的函数。
  • Looker 组件:一个可在扩展程序中使用的预构建 React 界面组件库。
  • Embed SDK:这是一个用于在扩展程序中嵌入信息中心、Looks 和探索的资源库。请参阅厨房接收器扩展程序,获取示例代码。您也可以使用 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 项目

  • 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 模板是一款扩展程序,可提供各种扩展程序功能的示例。您可将此模板用作百科全书或参考指南,但不能用作起点或实际模板。我们建议您使用我们的扩展程序生成器,或克隆一个较简单的示例。