为使用 OAuth 和流式传输的操作设置本地操作中心

如果客户托管的 Looker 实例无法与 Looker 托管的 Action Hub 通信,Looker 管理员可能无法启用支持流式结果或使用 OAuth 的操作。此外,在向支持流式结果的操作发送或安排数据时,Looker 用户可能会遇到查询挂起的情况,并且可能无法配置 OAuth 操作。

如需使用 Looker 集成,Looker Action Hub 和 Looker 实例必须能够相互通信。如果客户托管实例的管理员有兴趣阅读适合其实例架构的解决方案,可以参阅通过操作中心共享数据文档页面的客户托管实例的注意事项部分中所述的建议。

如果实例使用的 SSL 证书是由证书授权机构 (CA) 颁发的,该证书不在此根证书列表中,则 OAuth 和流式传输操作可能无法在客户托管的 Looker 实例上使用。

如需查看配置为支持流式结果或 OAuth 的操作,请参阅管理设置 - 操作文档页面上的 Looker 集成服务列表。

本页面介绍了如何启动本地操作中心服务器,以使用支持流式结果或使用 Google OAuth 的 Looker 操作。如需设置自己的本地操作中心服务器,您可以创建容器或虚拟机 (VM) 来托管 Looker Action Hub 代码库的克隆副本,然后执行以下步骤,如以下部分所述:

  1. 为操作中心服务器创建容器或虚拟机 (VM) 设置
  2. 配置 Google OAuth 凭据
  3. 配置 Google OAuth 同意屏幕
  4. 设置环境变量
  5. 生成 API 密钥。
  6. 启动新的 Action Hub。
  7. 将新的操作中心添加到您的 Looker 实例

为操作中心服务器创建容器或虚拟机 (VM) 设置

您的虚拟机或容器应满足以下分配和网络要求以及依赖项:

Looker 建议为此容器或虚拟机分配 2 个线程的 CPU/vCPU 和至少 2 GB 的内存。如果您预计操作会占用大量存储空间,请考虑将内存增加到 2 GB 以上。

网络要求

您的操作中心必须具有静态 IP 地址或可通过内部域名系统 (DNS) 解析的地址。

您的网络必须支持以下通信要求:

  • Looker 实例必须能够与 Action Hub 进行通信。
  • Google Auth 必须能够与 Action Hub 进行通信。
  • 内部连接的浏览器必须能够访问操作中心。
  • Action Hub 必须能够访问 Google 云端硬盘服务器。

必需的依赖项

将 Looker 操作代码库克隆到新创建的虚拟机或容器中时:

  • 确保安装了 Node 12.13。
  • 运行 yarn install 以安装必要的软件包。

设置环境后,您需要在 Google Cloud API 控制台中为您的操作中心服务器创建 Google OAuth 凭据。

配置 Google OAuth 凭据

如要为您的操作配置 Google OAuth 凭据,您需要:

创建 Google OAuth 凭据

要创建 Google OAuth 客户端 ID 和客户端密钥,请执行以下操作:

  1. 前往 Google Cloud 的管理资源页面,点击创建项目以创建新项目。

    如需详细了解如何创建项目,请参阅创建和管理项目指南。

  2. 创建新项目后,选择新项目。
  3. 在控制台左侧边栏中,依次前往 API 和服务 > 凭据页面。
  4. 点击创建凭据
  5. 点击下拉菜单中的 OAuth 客户端 ID
  6. 您可能需要配置 OAuth 同意屏幕。如果是,请按照本页面后面配置 OAuth 同意屏幕部分中的说明操作,然后继续执行第 7 步。
  7. 应用类型部分,选择 Web 应用
  8. 名称字段中提供您的应用名称。
  9. 已获授权的 JavaScript 来源部分,添加您在内部使用的 Looker 根应用地址。
  10. 为 Google 云端硬盘和 Google 表格控制台设置已获授权的重定向 URI,其中 ACTION_HUB_BASE_URL 是您的操作中心的地址:
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. 点击创建按钮以生成 OAuth 客户端 ID 和 OAuth 客户端密钥。您稍后将同时需要这两项。

通过 Google API 控制台的此页面,您可以为项目中的所有应用配置同意屏幕,以便用户授予对其数据的访问权限以及指向任何法律或隐私权文档的链接。如果您已完成此步骤或不需要配置同意屏幕,请跳过此部分并返回到终端窗口,按照本页面后面的设置环境变量部分所述设置环境变量。

如需配置同意屏幕,请执行以下操作:

  1. 点击配置同意屏幕
  2. 选择这是内部应用还是外部应用,然后点击创建
  3. 应用名称字段中输入您的应用名称。
  4. 用户支持电子邮件地址部分,输入要在 OAuth 同意屏幕上显示的电子邮件地址,以供用户支持使用。
  5. (可选)对于应用徽标,请上传一个要在 Oauth 同意屏幕上使用的图片文件。
  6. (可选)输入您的应用首页链接,该链接应托管在与操作中心相同的根网域上。
  7. (可选)在应用隐私权政策链接字段中输入指向您应用的隐私权政策的链接。链接必须托管在与操作中心相同的根网域上。
  8. (可选)在应用服务条款链接字段中输入指向您应用的服务条款的链接。链接必须托管在与操作中心相同的根网域上。
  9. 已获授权的网域部分,点击添加网域,然后输入操作中心使用的根网域。
  10. 开发者联系信息字段中,输入 Google 可以与您联系的电子邮件地址。
  11. 点击保存并继续
  12. Scopes(范围)部分中,添加您的应用必须访问的用户数据类型。这包括电子邮件、个人资料、OpenID 和 https://mail.google.com。由于此列表包含敏感的用户信息,Google 需要先验证您的 OAuth 同意屏幕,然后才能发布。
  13. 点击保存并继续
  14. (可选)在验证之前,在测试用户部分添加您希望有权访问操作中心的所有用户。
  15. 点击保存并继续
  16. 点击返回信息中心
  17. 在左侧边栏中,点击凭据以返回配置 OAuth 凭据。

配置 OAuth 同意屏幕后,如果您在配置 Google OAuth 凭据过程中,请返回该过程的第 7 步,并完成凭据配置。否则,您可以返回终端窗口来设置环境变量。

设置环境变量

在虚拟机或容器环境中,设置以下环境变量:

    ACTION_HUB_LABEL=<your action hub label name>
        ACTION_HUB_SECRET=<some secret>
        ACTION_HUB_BASE_URL=<your action hub base address>
            # For example https://actions.company.com
            # DO NOT INCLUDE A TRAILING SLASH
        GOOGLE_SHEET_CLIENT_ID=<OAuth client ID>
        GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret>
        GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID>
        GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>

您应该能够对 Google 云端硬盘和 Google 表格使用相同的 OAuth client IDOAuth client secret;但是,最好将这两组 Google API 令牌都设置到一起。

还需要设置加密密钥:

    CIPHER_MASTER="<hex aes-256 key>"

此密钥用于长期加密,仅用于在 OAuth 流程期间加密 state。以下是十六进制 aes-256 密钥的示例:

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

生成 API 密钥

如需获取 API 密钥,请运行以下命令:

y arn generate-api-key

保留生成的密钥以供日后在设置中使用。此密钥是基于 ACTION_HUB_SECRET 生成的。

启动本地操作中心服务器

如需启动您的 Action Hub,请运行以下命令:

yarn start

正在将您的 Action Hub 添加到 Looker 实例

如需将操作中心添加到 Looker 实例,请执行以下操作:

  1. 在 Looker 中,前往管理面板中平台下的操作页面。
  2. 滚动到页面底部,然后点击 Add Action Hub 按钮。
  3. 输入您的 ACTION_HUB_BASE_URL,然后点击添加 Action Hub。您的 Action Hub 应该会显示在包含名称和 ACTION_HUB_BASE_URL 的新标题下。您的 Google 云端硬盘和 Google 表格操作应显示在此标题下方。
  4. 如果连接失败,请在授权令牌字段中输入您之前生成的 api-key,然后点击操作中心标题顶部的刷新链接。
  5. 启用 Google 云端硬盘和 Google 表格操作,并验证它们在您的操作中心中的配置是否正确。

下一步

下一步是发布您在 Google API 控制台中创建的应用。如需发布应用,请前往 OAuth 同意屏幕页面,然后点击提交以进行验证按钮。请注意,申请发布流程可能需要一些时间,并且需要进行一些 Google 验证。