Looker应用开发全攻略:从嵌入到组件与市场拓展
1. 开发准备资源
在踏入Looker开发的征程前,先准备好以下重要资源,它们将为后续的开发工作提供有力支持:
-
SDK Codegen
:Looker开源仓库,地址为https://github.com/looker-open-source/sdk-codegen 。
-
Colab Looker SDK教程
:https://colab.sandbox.google.com/github/looker-open-source/sdk-codegen/blob/main/python/python-sdk-tutorial.ipynb 。
-
API文章与教程
:https://developers.looker.com/api/tutorials/
2. 嵌入Looker
Looker的嵌入解决方案能够将Looker的仪表盘、可视化图表和探索功能无缝集成到外部应用程序和网站中,让数据分析的能力延伸到你的数字空间。你可以通过iframe或嵌入SDK来实现嵌入,iframe嵌入有以下几种方式:
- 私有嵌入
- 签名嵌入
- 使用嵌入SDK的签名嵌入
2.1 准备工作
- 打开之前创建的Looker仪表盘,例如名为“Ecommerce Dashboard”的仪表盘(也可按照相关说明创建新的仪表盘)。
- 访问https://sites.google.com/ ,使用与Looker相同的Google账户登录,创建一个免费网站,用于嵌入Looker内容。
2.2 私有嵌入步骤
- 打开Looker仪表盘,点击仪表盘右上角的三个点。
- 在下拉列表中找到“Get Embed URL”,然后点击“Copy Link”复制嵌入URL。
- 访问https://sites.google.com/ ,点击“+Start”创建一个新网站。
- 在空的Google网站右上角,点击“Embed”。
- 在“Embed from the web”窗口中,选择“By URL”,粘贴复制的Looker嵌入URL。
- 点击“Insert”完成嵌入。
如果对仪表盘的显示效果不满意,可以采取以下措施:
- 在Looker界面中修改仪表盘。
- 选择“Embed code”而非“By URL”进行嵌入,并添加iframe参数,示例代码如下:
<iframe
src="(add your Embed URL here)"
width="600"
height="3600"
frameborder="0">
</iframe>
2.3 注意事项
用户要查看嵌入内容,必须先在同一浏览器中登录Looker。支持通过Looker内置登录系统、Google OAuth、OpenID Connect、SAML和LDAP进行身份验证。你可以通过在嵌入URL中添加参数
allow_login_screen=true
,为未登录用户显示登录屏幕,还能通过“ Sessions”管理面板控制已登录用户的会话时长和非活动超时时间。
2.4 嵌入原理
Looker嵌入功能能让你在自己的工作流程中直接共享仪表盘、可视化图表或可探索的数据。你可以生成嵌入URL,使用基本的iframe方法或更灵活的Looker嵌入SDK将其集成到网页或应用程序中。公共(仅适用于Looks)或私有访问选项可确保对查看嵌入内容的人员进行控制。用户与嵌入数据的交互就像在Looker内部一样,体验一致且直观。
2.5 更多嵌入选项
为了在嵌入式分析中获得更大的灵活性和定制性,可以探索签名嵌入选项。签名嵌入允许将私有Looks、可视化图表、探索和仪表盘直接集成到应用程序中,用户通过自己的应用程序进行身份验证,这与私有嵌入不同,私有嵌入需要用户使用Looker登录、Google OAuth等进行身份验证。例如,https://atomfashion.io/ 是一个使用签名嵌入构建的网站示例,点击应用右下角的“Code”按钮可查看其构建方式。要启用签名嵌入,必须使用Looker的嵌入版本,更多信息可参考https://cloud.google.com/looker/docs/signed-embedding 。
Looker嵌入还有一些高级功能:
- 使用JavaScript让页面响应嵌入内容的变化,甚至修改嵌入内容。
- 跟踪嵌入内容的使用情况。
- 将Looker内容嵌入到Salesforce等系统中。
更多高级嵌入信息可参考https://developers.looker.com/embed/advanced-embedding 。
3. 探索Looker扩展框架
Looker扩展就像是内置在Looker中的可定制应用程序,旨在增强其功能,为用户提供定制化体验。它们就像小型应用程序,能无缝集成到Looker中,扩展其功能以满足特定需求。例如,LookML Diagram和Data Dictionary就是Looker扩展的示例。
Looker扩展框架是一个结构和工具包,使开发人员能够在Looker中创建自定义扩展。它允许第三方JavaScript在Looker中运行,并提供对Looker API的上下文和特权访问。
3.1 准备工作
开发Looker扩展需要满足以下条件:
- 拥有Looker实例的LookML开发权限。
- 启用扩展框架功能(通过“Admin->Platform->Extension Framework”)。
- 熟悉JavaScript。
3.2 创建Looker扩展步骤
-
从模板创建新的起始扩展
- 配置Looker以支持扩展,创建一个与Git连接的LookML项目,并包含一些模型和项目清单文件。
- 通过命令行工具在应用服务器上安装开源包管理器Yarn。
-
使用Yarn安装
create-looker-extension实用程序,它包含基本Looker扩展所需的所有元素。 -
在Yarn开发服务器中,通过修改
src目录开始扩展开发。扩展的源代码位于src目录中,要更改扩展的功能,可编辑该目录中的文件。例如,在一个React/JavaScript的Hello World扩展中,可修改HelloWorld.js文件。 -
将Yarn服务器上的
manifest.lkml文件内容复制到LookML项目中的manifest.lkml文件,然后依次进行“Validate LookML -> Commit Changes & Push -> Deploy to Production”操作。 - 新扩展将出现在Looker实例的“Applications”面板中。更多从模板创建扩展的详细信息可参考https://cloud.google.com/looker/docs/extension-intro-to-building 。
-
定制扩展
- 添加代码以实现所需的功能。可参考https://cloud.google.com/looker/docs/extension-framework-react-and-js-code-examples 获取常见功能的代码示例。
-
设置权限
-
为扩展用户提供必要的权限,包括:
- 开发扩展:在Looker中拥有LookML开发权限。
- 安装扩展:在Looker中拥有开发、管理模型和部署扩展模型的权限。
-
使用扩展:在Looker中拥有探索或开发权限,模型集访问设置为“All”。
更多设置权限的详细信息可参考https://cloud.google.com/looker/docs/setting-permissions-for-extensions 。
-
为扩展用户提供必要的权限,包括:
3.3 更多资源
访问Looker扩展框架示例仓库https://github.com/looker-open-source/extension-examples ,可以获取丰富的可定制和高级模板,这些模板可轻松克隆和重新用于项目开发。
4. 探索组件
基于React的Looker组件能将Looker的设计和功能无缝融入自定义数据应用程序和扩展中。你可以使用Looker预先制作的React组件,如表单、按钮、图表、表格等,就像使用一套Looker构建块一样。这些组件可与Looker扩展框架和Looker的嵌入SDK一起使用,Looker的可视化组件也是将Looker内容嵌入应用程序的一种方式。
4.1 关键概念
- Looker组件发布到JavaScript包管理器NPM。
- NPM可帮助将Looker组件添加到前端JavaScript或TypeScript应用程序中。
- NPM提供UI、过滤器和可视化组件的包,可从@looker/components NPM仓库下载。
- 也可以使用前面提到的Yarn来安装Looker组件。
4.2 使用Looker组件步骤
- 获取要在应用程序中使用的Looker元素的信息,例如,对于Explore,可能需要从URL中获取Explore ID。
-
创建一个JS应用程序(注意,Looker组件可直接在Looker扩展中使用,无需构建单独的JavaScript应用程序,更多信息可参考https://cloud.google.com/looker/docs/extension-intro-to-building )。在应用程序中执行以下操作:
- 安装所有必要的Looker组件包。
- 配置环境变量。
- 初始化SDK。
- 将Looker组件嵌入应用程序。
- 构建后端辅助服务,以接收前端的调用。
- 在“Admin”的“Platform”面板的“Embed”中,可能需要将应用程序URL添加到“Embedded Domain Allowlist”。
- 启动服务器和React应用程序。
5. 探索Looker市场
你可以为Looker市场做出贡献,例如使用前面介绍的扩展框架的强大功能构建自定义应用程序,并通过市场与Looker社区共享。还可以开发自己的数据块和自定义可视化图表,添加到市场中与他人分享。
5.1 开发Looker数据块
Looker数据块是为常见分析模式和数据源预先构建的数据模型,能为Looker中的数据分析提供快速起点。开发Looker数据块并发布到市场的步骤如下:
1. 将Looker连接到要为其构建数据块的数据源,并记录数据源架构的要求,以便其他用户使用。
2. 创建一个LookML项目,包含以下文件:清单、视图、模型、探索、LookML仪表盘、marketplace.json、LICENSE和README文件。用户从市场安装数据块时,将包含这些文件和自动生成的文件。
3. 将数据块托管在公开可访问的Git仓库中,使其对所有用户可用。
4. 提交数据块进行审核。
更多开发Looker数据块的信息可参考https://cloud.google.com/looker/docs/marketplace-develop-custom-blocks 。
5.2 创建Looker自定义可视化图表
开发Looker自定义可视化图表并发布到市场的步骤如下:
1. 使用Looker可视化API在JavaScript环境中构建自定义可视化图表。
2. 创建一个LookML项目,包含以下文件:LICENSE、README、.js、manifest.lkml和marketplace.json。
3. 将项目推送到公开可访问的GitHub仓库。
4. 测试自定义可视化图表的功能。
5. 提交可视化图表进行审核。
更多开发Looker自定义可视化图表的信息可参考https://cloud.google.com/looker/docs/marketplace-develop-visualization 。
5.3 更多工具
可以使用在线交互式Looker自定义可视化图表构建器https://looker-open-source.github.io/custom-viz-builder/ 来帮助构建和调试自定义可视化图表。
总结
通过以上对Looker应用开发各个方面的详细介绍,我们了解了从开发准备资源、嵌入Looker、探索扩展框架、使用组件到为Looker市场做贡献等一系列内容。这些功能和工具为开发人员提供了丰富的选择,能够满足不同场景下的数据可视化和分析需求。无论是将Looker功能集成到外部应用,还是开发自定义的扩展和可视化图表,都能在Looker的生态系统中找到合适的解决方案。希望这些信息能帮助你在Looker开发的道路上取得更好的成果。
Looker应用开发全攻略:从嵌入到组件与市场拓展
6. 开发流程总结与对比
为了更清晰地展示Looker不同开发方向的流程,下面通过表格进行对比总结:
|开发方向|准备条件|主要步骤|参考文档|
| ---- | ---- | ---- | ---- |
|嵌入Looker|打开Looker仪表盘,创建免费网站|1. 获取嵌入URL;2. 嵌入到网站;3. 必要时调整显示效果|https://cloud.google.com/looker/docs/embed-overview 等|
|探索Looker扩展框架|LookML开发权限,启用扩展框架,熟悉JavaScript|1. 从模板创建扩展;2. 定制扩展;3. 设置权限|https://cloud.google.com/looker/docs/extension-intro-to-building 等|
|探索组件|了解Looker元素信息|1. 创建JS应用;2. 安装组件包;3. 配置环境;4. 嵌入组件;5. 构建后端服务;6. 添加应用URL到白名单;7. 启动服务器和应用|https://cloud.google.com/looker/docs/components-overview 等|
|探索Looker市场(开发数据块)|连接数据源|1. 创建LookML项目;2. 托管到Git仓库;3. 提交审核|https://cloud.google.com/looker/docs/marketplace-develop-custom-blocks |
|探索Looker市场(创建自定义可视化图表)|JavaScript环境|1. 构建可视化图表;2. 创建LookML项目;3. 推送到GitHub仓库;4. 测试功能;5. 提交审核|https://cloud.google.com/looker/docs/marketplace-develop-visualization |
下面是一个mermaid格式的流程图,展示了整体的Looker开发流程:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始开发]):::startend --> B{选择开发方向}:::decision
B -->|嵌入Looker| C(准备仪表盘和网站):::process
C --> D(获取嵌入URL):::process
D --> E(嵌入到网站):::process
E --> F(调整显示效果):::process
B -->|开发扩展| G(满足准备条件):::process
G --> H(从模板创建扩展):::process
H --> I(定制扩展):::process
I --> J(设置权限):::process
B -->|使用组件| K(获取元素信息):::process
K --> L(创建JS应用):::process
L --> M(安装组件包):::process
M --> N(配置环境):::process
N --> O(嵌入组件):::process
O --> P(构建后端服务):::process
P --> Q(添加URL到白名单):::process
Q --> R(启动服务器和应用):::process
B -->|开发数据块| S(连接数据源):::process
S --> T(创建LookML项目):::process
T --> U(托管到Git仓库):::process
U --> V(提交审核):::process
B -->|创建可视化图表| W(准备JavaScript环境):::process
W --> X(构建可视化图表):::process
X --> Y(创建LookML项目):::process
Y --> Z(推送到GitHub仓库):::process
Z --> AA(测试功能):::process
AA --> AB(提交审核):::process
F --> AC([完成开发]):::startend
J --> AC
R --> AC
V --> AC
AB --> AC
7. 常见问题与解决方法
在Looker开发过程中,可能会遇到一些常见问题,下面为你提供相应的解决方法:
-
嵌入内容显示异常
-
问题描述
:嵌入的Looker仪表盘或可视化图表在网站上显示不完整或样式错乱。
-
解决方法
:首先检查嵌入URL是否正确,然后尝试在Looker界面中调整仪表盘的布局和样式。如果问题仍然存在,可以选择“Embed code”并添加合适的iframe参数,如调整宽度和高度。示例代码如下:
<iframe
src="(add your Embed URL here)"
width="800"
height="4000"
frameborder="0">
</iframe>
-
扩展开发权限问题
- 问题描述 :在开发或使用扩展时,遇到权限不足的提示。
- 解决方法 :确保为扩展用户提供了必要的权限,包括LookML开发权限、安装扩展所需的权限以及使用扩展的权限。具体权限设置可参考https://cloud.google.com/looker/docs/setting-permissions-for-extensions 。
-
组件安装失败
- 问题描述 :在使用NPM或Yarn安装Looker组件包时,出现安装失败的错误。
- 解决方法 :检查网络连接是否正常,确保NPM或Yarn的版本是最新的。可以尝试清除缓存并重新安装,命令如下:
# 清除NPM缓存
npm cache clean --force
# 重新安装组件包
npm install @looker/components
8. 未来发展趋势与建议
随着数据分析和可视化需求的不断增长,Looker的功能和应用场景也将不断拓展。以下是一些未来发展趋势和相应的建议:
-
增强集成能力
:未来Looker可能会与更多的第三方系统进行深度集成,如与更多的云服务提供商、企业级应用程序等。建议开发者关注Looker官方的集成文档和更新,及时掌握新的集成方法和技巧。
-
智能化分析
:借助人工智能和机器学习技术,Looker可能会提供更智能的数据分析和可视化功能,如自动生成分析报告、智能推荐可视化图表等。开发者可以学习相关的AI和ML知识,以便更好地利用这些新功能。
-
移动端支持
:随着移动设备的普及,对Looker在移动端的使用需求也会增加。开发者可以注重开发响应式的嵌入和扩展,确保在移动设备上有良好的用户体验。
总之,Looker为开发者提供了一个强大而灵活的平台,通过不断学习和实践,开发者可以充分发挥Looker的优势,为企业和用户提供更优质的数据分析和可视化解决方案。希望以上内容能帮助你在Looker开发的道路上不断前进,取得更好的成果。
超级会员免费看
1064

被折叠的 条评论
为什么被折叠?



