为使用 OAuth 和串流的 Action 设置本地 Action 中心

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

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

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

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

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

  1. 为 Action Hub 服务器创建容器或虚拟机 (VM) 设置
  2. 配置 Google OAuth 凭据
  3. 配置 Google OAuth 权限请求页面
  4. 设置环境变量
  5. 生成 API 密钥。
  6. 启动新的 Action Hub。
  7. 将新的 Action Hub 添加到 Looker 实例

为 Action Hub 服务器创建容器或虚拟机 (VM) 设置

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

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

网络要求

您的 Action Hub 必须具有静态 IP 地址可通过内部域名系统 (DNS) 解析的地址。

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

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

必需的依赖项

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

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

设置好环境后,您需要在 Google Cloud API 控制台中为 Action Hub 服务器创建 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 是 Action Hub 的地址:
                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. (可选)输入应用首页链接,该链接应托管在与 Action Hub 相同的根域名上。
  7. (可选)在应用隐私权政策链接 字段中,输入指向应用隐私权政策的链接。该链接必须托管在与 Action Hub 相同的根域名上。
  8. (可选)在应用服务条款链接 字段中,输入指向应用服务条款的链接。该链接必须托管在与 Action Hub 相同的根域名上。
  9. 对于已获授权的网域 部分,点击添加网域 ,然后输入 Action Hub 使用的根域名。
  10. 开发者联系信息 字段中,输入 Google 可以与您联系的电子邮件地址。
  11. 点击保存并继续
  12. 范围 部分中,添加应用必须访问的用户数据类型。这包括电子邮件地址、个人资料、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 服务器

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

yarn start

将 Action Hub 添加到 Looker 实例

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

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

下一步

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