设置 Openflow Connector for Microsoft Dataverse

备注

使用该连接器需遵守 连接器条款

本主题介绍 Openflow Connector for Microsoft Dataverse 的设置步骤。

先决条件

  1. 确保您已查看 Openflow Connector for Microsoft Dataverse

  2. Ensure that you have 设置 Openflow - BYOC or 设置 Openflow - Snowflake 部署 - 任务概述.

获取凭据

作为 Microsoft Dataverse 管理员,请执行以下步骤:

  1. 确保您有 Dataverse 环境可供使用,并且您可以通过 https://admin.powerplatform.microsoft.com/ (https://admin.powerplatform.microsoft.com/) 访问该环境。

  2. 确保您在 portal.azure.com 中采用 Microsoft Entra ID 注册了一个应用程序。该应用程序必须能够访问我们的 Dataverse 环境可用的租户。要注册应用程序,请遵循 `本指南<https://learn.microsoft.com/en-us/power-apps/developer/data-platform/walkthrough-register-app-azure-active-directory>`_

  3. 在该应用程序中生成并存储 ClientID 和客户端密钥。

  4. 前往 Power Apps 管理中心,将您的 Dataverse 环境配置为可通过之前注册的应用程序进行访问。为此,请转到 Manage » Environments 并选择要配置的环境。然后转到 Settings » Users & permissions » Application users。必须添加以前创建的应用程序,并授予其从 Microsoft Dataverse 读取数据所需的权限。

  5. 从 https://admin.powerplatform.microsoft.com/ (https://admin.powerplatform.microsoft.com/) 复制并保存所选 Dataverse 环境的环境 URL。

设置 Snowflake 账户

作为 Snowflake 账户管理员,执行以下任务:

  1. 创建一个类型为 SERVICE 的 Snowflake 用户。

    创建数据库和架构来存储复制的数据,并通过授予 USAGE 和 CREATETABLE 权限,为服务用户设置在目标架构中创建表的权限。

    CREATE DATABASE <destination_database>;
    CREATE SCHEMA <destination_database>.<destination_schema>;
    CREATE USER <openflow_user> TYPE=SERVICE COMMENT='Service user for automated access of Openflow';
    CREATE ROLE <openflow_role>;
    GRANT ROLE <openflow_role> TO USER <openflow_user>;
    GRANT USAGE ON DATABASE <destination_database> TO ROLE <openflow_role>;
    GRANT USAGE ON SCHEMA <destination_database>.<destination_schema> TO ROLE <openflow_role>;
    GRANT CREATE TABLE ON SCHEMA <destination_database>.<destination_schema> TO ROLE <openflow_role>;
    CREATE WAREHOUSE <openflow_warehouse>
         WITH
             WAREHOUSE_SIZE = 'SMALL'
             AUTO_SUSPEND = 300
             AUTO_RESUME = TRUE;
    GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE <openflow_role>;
    
    Copy
    1. 创建安全密钥对(公钥和私钥)。将用户的私钥存储在文件中,以提供给连接器的配置。将公钥分配给 Snowflake 服务用户:

      ALTER USER <openflow_user> SET RSA_PUBLIC_KEY = 'thekey';
      
      Copy

      有关更多信息,请参阅 密钥对

  2. Snowflake 强烈建议执行此步骤。配置 Openflow 支持的密钥管理器(例如 AWS、Azure 和 Hashicorp),并将公钥和私钥存储在密钥存储库中。

    备注

    如果您出于任何原因不希望使用密钥管理器,则您有责任根据组织的安全策略保护用于密钥对身份验证的公钥和私钥文件。

    1. 配置密钥管理器后,确定如何对其进行身份验证。在 AWS 中,建议您使用与 Openflow 关联的 EC2 实例角色,因为这样就无需保留其他密钥。

    2. 在 Openflow 中,从右上角的汉堡菜单中配置与此密钥管理器关联的参数提供商。导航到 Controller Settings » Parameter Provider,然后提取您的参数值。

    3. 此时,可以使用关联的参数路径引用所有凭据,无需在 Openflow 中保留敏感值。

  3. 如果任何其他 Snowflake 用户需要访问连接器引入的原始文档和表(例如,在 Snowflake 中进行自定义处理),则授予这些用户在步骤 1 中创建的角色。

  4. 指定一个仓库供连接器使用。将仓库的 USAGE 权限授予之前创建的角色。从最小的仓库规模开始,然后根据要复制的表数量和传输的数据量来测试规模。相较于扩大仓库规模,采用 多集群仓库 通常能更有效地应对海量表数量的扩展需求。

设置连接器

作为数据工程师,执行以下任务以安装和配置连接器:

安装连接器

  1. 导航到 Openflow“Overview”页面。在 Featured connectors 部分中,选择 View more connectors

  2. 在 Openflow 连接器页面上,找到连接器并选择 Add to runtime

  3. Select runtime 对话框中,从 Available runtimes 下拉列表中选择您的运行时。

  4. 选择 Add

    备注

    在安装连接器之前,请确保在 Snowflake 中为连接器创建了数据库和架构,用于存储引入的数据。

  5. 使用您的 Snowflake 账户凭据对部署进行身份验证,并在系统提示时选择 Allow,以允许运行时应用程序访问您的 Snowflake 账户。连接器安装过程需要几分钟才能完成。

  6. 使用您的 Snowflake 账户凭据进行运行时身份验证。

此时将显示 Openflow 画布,其中添加了连接器进程组。

配置连接器

  1. 右键点击导入的进程组并选择 Parameters

  2. 按照 流参数 中所述填充所需的参数值。

流参数

本节介绍您可以根据以下参数上下文配置的流参数:

Dataverse 源参数

参数

描述

源 Dataverse 环境 URL

用于提取数据的源系统的主要标识符。URL 表示存在 Dataverse 表的命名空间。它还允许您为 OAuth 创建范围参数。

源租户 ID

Microsoft Azure 租户 ID。它用来创建 OAuth URLs。Microsoft Dataverse 环境必须属于当前租户。

源 OAuth 客户端 ID

用于访问 Microsoft Dataverse API 的 Microsoft Azure 客户端 ID。`Microsoft Dataverse Web API <https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview> `_ 使用 OAuth 身份验证来保护访问,连接器使用客户端凭据流。要了解客户端 ID 以及如何在 Microsoft Entra 中找到它,请参阅 `应用程序 ID(客户端 ID)<https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application#application-id-client-id>`_

源 OAuth 客户端密钥

用于访问 Microsoft Dataverse API 的 Microsoft Azure 客户端密钥。Microsoft Dataverse Web API <https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview> `_ 使用 OAuth 身份验证来保护访问,连接器使用客户端凭据流。要了解客户端密钥以及如何在 Microsoft Entra 中找到它,请参阅 `证书与密钥 (https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application#certificates--secrets)。

Dataverse 目标参数

参数

描述

必填

目标数据库

The database where data will be persisted. It must already exist in Snowflake. The name is case-sensitive. For unquoted identifiers, provide the name in uppercase.

目标架构

The schema where data will be persisted, which must already exist in Snowflake. The name is case-sensitive. For unquoted identifiers, provide the name in uppercase.

请参阅以下示例:

  • CREATE SCHEMA SCHEMA_NAMECREATE SCHEMA schema_name:使用 SCHEMA_NAME

  • CREATE SCHEMA "schema_name"CREATE SCHEMA "SCHEMA_NAME":分别使用 schema_nameSCHEMA_NAME

Snowflake 账户标识符

使用以下方式时:

  • Session Token Authentication Strategy: Must be blank.

  • KEY_PAIR: Snowflake account name formatted as [organization-name]-[account-name] where data will be persisted.

Snowflake 身份验证策略

使用以下方式时:

  • Snowflake Openflow 部署:使用 SNOWFLAKE_SESSION_TOKEN。此令牌由 Snowflake 自动管理。

  • BYOC:使用 KEY_PAIR 作为身份验证策略的值。

Snowflake 私钥

使用以下方式时:

  • Session Token Authentication Strategy: Must be blank.

  • KEY_PAIR:必须是用于身份验证的 RSA 私钥。

    The RSA key must be formatted according to PKCS8 standards and have standard PEM headers and footers. Note that either Snowflake Private Key File or Snowflake Private Key must be defined.

Snowflake 私钥文件

使用以下方式时:

  • 会话令牌身份验证策略:私钥文件必须为空。

  • KEY_PAIR: Upload the file that contains the RSA private key used for authentication to Snowflake, formatted according to PKCS8 standards and including standard PEM headers and footers. The header line begins with -----BEGIN PRIVATE. To upload the private key file, select the Reference asset checkbox.

Snowflake 私钥密码

使用以下方式时:

  • Session Token Authentication Strategy: Must be blank.

  • KEY_PAIR: Provide the password associated with the Snowflake Private Key File.

Snowflake 角色

使用以下方式时:

  • 会话令牌身份验证策略:使用运行时角色。您可以在 Openflow UI 中,通过导航至您的运行时的 View Details 来找到您的运行时角色。

  • KEY_PAIR 身份验证策略:使用为您的服务用户配置的有效角色。

Snowflake 用户名

使用以下方式时:

  • Session Token Authentication Strategy: Must be blank.

  • KEY_PAIR: Provide the user name used to connect to the Snowflake instance.

Snowflake 仓库

Snowflake warehouse used to run queries.

Dataverse 引入参数

参数

描述

计划间隔

要用作处理器获取表列表并初始化引入的触发间隔的间隔。

源表筛选策略

筛选要引入的表的策略。可以是 REGEXP 和 LIST 之一。

源表筛选器值

表筛选器的值。当源表筛选策略设置为 REGEXP 时,这是匹配选定表的正则表达式。如果提供 LIST,则它是一个以逗号分隔的表名列表。

运行流

  1. 右键点击“飞机”图标并选择 Enable all Controller Services

  2. 右键点击导入的进程组并选择 Start。连接器开始数据引入。

语言: 中文