设置 Openflow Connector for Workday¶
备注
This connector is subject to the Snowflake Connector Terms.
本主题介绍设置 Openflow Connector for Workday 的步骤。
先决条件¶
Ensure that you have 设置 Openflow - BYOC or Set up Openflow - Snowflake Deployments.
If using Openflow - Snowflake Deployments, ensure that you've reviewed configuring required domains and have granted access to the required domains for the Workday connector.
获取凭据¶
作为 Workday 管理员,请执行以下操作:
在 Workday 中创建用户:
前往 Workday 并以管理员身份登录。在 Workday 搜索栏中,键入 Create user。
点击 Create Integration System User: Task。
输入用户名和密码。
创建安全组,并将通过第 1 步创建的用户添加到该安全组:
在 Workday 搜索栏中,键入 Create Security Group。
点击 Create Security Group: Task。
将类型设置为 Integration System Security Group (Unconstrained)。
输入安全组名称,然后点击 OK。
在 Edit Integration System Security Group (Unconstrained) 窗口中,在 Integration System Users 字段中添加第 1 步中创建的集成系统用户。
向第 2 步中创建的安全组添加域安全策略:
在 Workday 搜索栏中,键入 View Security Group。
Go to Security Group Settings » Maintain Domain Permissions for Security Group.
在 :extui:`Integration Permissions`部分的“Domain Security Policies permitting Get access”字段中,选择与要同步的报告关联的安全域。
转到 Activate Pending Security Policy Changes 页面,然后点击 OK。
创建 OAuth 客户端应用程序:
在 Workday 搜索栏中,键入 Register API Client 并点击 Register API Client for Integrations: Task。
输入客户端名称。
点击 Non-Expiring Refresh Token。
在“Scope”搜索栏中,键入 System 并将其选中。
点击 OK。
复制“Client ID”和“Client Secret”,然后点击 Done。
在 View Integration System Security Group 页面中,记下“Domain Security Policies”下的功能区域。然后,将其添加为 API 客户端中的“Scopes/Functional Areas”:
在搜索栏中键入 View API Client。
从列表中选择您的 API 客户端。
In the top blue bar, click the three dots, then select API Client » API Clients for Integrations.
在 Scope (Functional Areas) 字段中,搜索并添加您先前记下的功能区域。
在与之前的 (5c) 相同的菜单中,选择 Manage Refresh Tokens for Integrations。
在表单中,搜索 ISU 用户并将其选中。
点击 OK。
点击 Generate new token,并复制刷新令牌详细信息,以供稍后使用。
设置 Snowflake 账户¶
作为 Snowflake 账户管理员,请执行以下任务:
创建新角色或使用现有角色并授予 数据库权限。
创建类型为 SERVICE 的新 Snowflake 服务用户。
向该 Snowflake 服务用户授予您在前面步骤中创建的角色。
为第 2 步中创建的 Snowflake SERVICE 用户配置 密钥对身份验证。
Snowflake 强烈建议执行此步骤。配置 Openflow 支持的密钥管理器(例如 AWS、Azure 和 Hashicorp),并将公钥和私钥存储在密钥存储库中。
备注
如果您出于任何原因不希望使用密钥管理器,则您有责任根据组织的安全策略保护用于密钥对身份验证的公钥和私钥文件。
配置密钥管理器后,确定如何对其进行身份验证。在 AWS 中,建议您使用与 Openflow 关联的 EC2 实例角色,因为这样就无需保留其他密钥。
In Openflow, configure a Parameter Provider associated with this Secrets Manager, from the hamburger menu in the upper right. Navigate to Controller Settings » Parameter Provider and then fetch your parameter values.
此时,可以使用关联的参数路径引用所有凭据,无需在 Openflow 中保留敏感值。
如果任何其他 Snowflake 用户需要访问连接器引入的原始文档和表(例如,在 Snowflake 中进行自定义处理),则授予这些用户在步骤 1 中创建的角色。
指定一个仓库供连接器使用。从最小的仓库规模开始,然后根据要复制的表数量和传输的数据量来测试规模。相较于扩大仓库规模,采用 多集群仓库 通常能更有效地应对海量表数量的扩展需求。
设置连接器¶
作为数据工程师,执行以下任务以配置连接器:
安装连接器¶
在 Snowflake 中为连接器创建数据库和架构,以存储引入的数据。向第一步中创建的角色授予所需的 数据库权限。用实际值替换角色占位符,然后使用以下 SQL 命令:
CREATE DATABASE DESTINATION_DB; CREATE SCHEMA DESTINATION_DB.DESTINATION_SCHEMA; GRANT USAGE ON DATABASE DESTINATION_DB TO ROLE <CONNECTOR_ROLE>; GRANT USAGE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>; GRANT CREATE TABLE, CREATE PIPE ON SCHEMA DESTINATION_DB.DESTINATION_SCHEMA TO ROLE <CONNECTOR_ROLE>;
Navigate to the Openflow overview page. In the Featured connectors section, select View more connectors.
在 Openflow 连接器页面上,找到连接器并选择 Add to runtime。
In the Select runtime dialog, select your runtime from the Available runtimes drop-down list and click Add.
备注
在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。
使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。
使用您的 Snowflake 账户凭据进行运行时身份验证。
此时将显示 Openflow 画布,其中添加了连接器进程组。
配置连接器¶
右键点击导入的进程组并选择 Parameters。
按照 流参数 中所述填充所需的参数值。
流参数¶
该配置分为三个参数上下文。Workday 目的地参数 和 Workday 源参数 上下文负责连接 Snowflake 与 Workday。Workday 引入参数 包含来自配置的所有参数,以及特定于给定报告的其他参数(例如 Report URL)。
Because the Workday Ingestion Parameters parameter context contains report-specific details, new parameter contexts must be created for each new report and process group. To create a new parameter context, go to the menu, select Parameter Contexts, and add a new context. It should inherit from both the Workday Destination Parameters and Workday Source Parameters parameter contexts.
Workday 目标参数 参数上下文
参数 |
描述 |
必填 |
|---|---|---|
目标数据库 |
用于永久保存数据的数据库。它必须已经存在于 Snowflake 中。名称区分大小写。对于未加引号的标识符,请以大写形式提供名称。 |
是 |
目标架构 |
将持久保存数据的架构,该架构必须已存在于 Snowflake 中。名称区分大小写。对于未加引号的标识符,请以大写形式提供名称。 请参阅以下示例:
|
是 |
Snowflake 身份验证策略 |
使用以下方式时:
|
是 |
Snowflake 账户标识符 |
使用以下方式时:
|
是 |
Snowflake 私钥 |
使用以下方式时:
|
否 |
Snowflake 私钥文件 |
使用以下方式时:
|
否 |
Snowflake 私钥密码 |
使用以下方式时:
|
否 |
Snowflake 角色 |
使用以下方式时:
|
是 |
Snowflake 用户名 |
使用以下方式时:
|
是 |
Snowflake 仓库 |
Snowflake warehouse used to run queries. |
是 |
Workday 源参数 参数上下文
参数 |
描述 |
|---|---|
授权类型 |
在 OAUTH 或 BASIC_AUTH 之间选择。如果选择了 OAUTH,则必须定义 OAuth Client ID、OAuth Client Secret、OAuth Refresh Token 和 OAuth Token Endpoint。如果选择了 BASIC_AUTH,则必须定义 Workday Username 和 Workday Password。 |
OAuth 客户端 ID |
在 Workday 中注册的应用程序的客户端 ID。 |
OAuth 客户端密钥 |
与客户端 ID 相关的客户端密钥 |
OAuth 刷新令牌 |
在应用程序注册过程中,用户获取的刷新令牌。它与客户端 ID 和客户端密钥一起使用,以获取访问令牌。 |
OAuth 令牌端点 |
在应用程序注册过程中,用户获取的令牌端点。 |
Workday 用户名 |
用于登录 Workday 账户的用户名。必须仅在选择 BASIC_AUTH 时设置。 |
Workday 密码 |
与 Workday 用户名相关联的密码。必须仅在选择 BASIC_AUTH 时设置。 |
Workday 引入参数 参数上下文
参数 |
描述 |
|---|---|
目标表 |
存储从 Workday 引入的报告数据的目标表。如果不存在,则由连接器创建。 |
报告 URL |
Workday 中创建的报告的 RaaS API URL。 |
运行计划 |
运行计划,根据该计划从 Workday 中检索数据并将其保存在 Snowflake 中。该值是一个持续时间,通过一个数字后跟一个时间单位指定。例如,1 second 或 5 mins。 |
运行流¶
右键点击“飞机”图标并选择 Enable all Controller Services。
右键点击导入的进程组并选择 Start。连接器开始数据引入。