Openflow Connector for Salesforce Bulk API:选择使用 时默认使用的角色和仓库。设置 Snowflake¶
备注
此连接器受 Snowflake 连接器条款 的约束。
本主题介绍了为 Openflow Connector for Salesforce Bulk API 设置 Snowflake 的步骤:
先决条件¶
在开始之前,请确保您已完成以下操作:
安装 Openflow(BYOC 或 SPCS)。有关更多信息,请参阅 关于 Openflow。
创建 Openflow 部署。有关更多信息,请参阅 设置 Openflow - Snowflake Deployment:创建部署 或 设置 Openflow - BYOC。
创建 Openflow 运行时。有关更多信息,请参阅 Set up Openflow - Snowflake Deployment: Create runtime 或 设置 Openflow - BYOC。
在 关于 Openflow Connector for Salesforce Bulk API 中查看预览版连接器的已知限制。
创建密钥对¶
创建密钥对,连接器中的服务账户用户将使用该密钥对与数据库进行交互。
备注
仅当您在 Openflow BYOC 中部署连接器时才需要执行此步骤。在 Openflow NOT 中部署连接器时 SPCS 需要此步骤。
生成私钥。下面的示例演示如何生成未加密的私钥。
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
rsa_key.p8文件的内容将如下所示:-----BEGIN PRIVATE KEY----- MIIE6T... -----END PRIVATE KEY-----
通过引用私钥生成公钥。
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
rsa_key.pub文件的内容将如下所示:-----BEGIN PUBLIC KEY----- MIIBIjANBgkqh... -----END PUBLIC KEY-----
复制此文件的内容(不带
-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----标头),以便在下一部分中创建用户时使用。
创建对象并授予权限¶
为连接器创建服务账户、角色、数据库、架构和仓库,并授予适当的权限。
使用具有
ACCOUNTADMIN权限角色设置角色:USE ROLE ACCOUNTADMIN;
创建目标 Snowflake 数据库(如果不存在):
CREATE DATABASE IF NOT EXISTS <my_salesforce_db>;
在数据库中创建目标架构(如果不存在):
CREATE SCHEMA IF NOT EXISTS <my_salesforce_db>.<my_salesforce_schema>;
创建 Openflow 连接器使用的角色:
CREATE ROLE IF NOT EXISTS <Salesforce_connector_role_name>;
向角色授予使用数据库的权限:
GRANT USAGE ON DATABASE <my_salesforce_db> TO ROLE <Salesforce_connector_role_name>; GRANT USAGE ON SCHEMA <my_salesforce_db>.<my_salesforce_schema> TO ROLE <Salesforce_connector_role_name>; GRANT CREATE TABLE ON SCHEMA <my_salesforce_db>.<my_salesforce_schema> TO ROLE <Salesforce_connector_role_name>;
为连接器创建仓库(或使用现有仓库),并向连接器角色授予使用权限:
-- Create a warehouse (skip if you wish to use an existing warehouse) CREATE OR REPLACE WAREHOUSE MY_WAREHOUSE WITH WAREHOUSE_SIZE = 'SMALL' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE; GRANT USAGE, OPERATE ON WAREHOUSE MY_WAREHOUSE TO ROLE <Salesforce_connector_role_name>;
创建服务用户并分配角色和公钥:
-- Create a service user that the connector will use to interact with Snowflake -- Set default role to <Salesforce_connector_role_name> -- Assign the public key generated with openssl in the previous step (only for BYOC) CREATE OR REPLACE USER <Salesforce_connector_user_name> TYPE = SERVICE DEFAULT_ROLE = <Salesforce_connector_role_name> RSA_PUBLIC_KEY = '<public_key_generated_by openssl_in_step_1>'; -- Grant the role to the user GRANT ROLE <Salesforce_connector_role_name> TO USER <Salesforce_connector_user_name>;
创建网络规则(仅限 Openflow Snowflake 部署)¶
如果要在 Openflow Snowflake 部署中的运行时中部署连接器,必须创建网络规则和外部访问集成,并在运行时上进行设置。
USE ROLE SECURITYADMIN;
CREATE NETWORK RULE MY_OPENFLOW_SALESFORCE_NETWORK_RULE
TYPE = HOST_PORT
MODE = EGRESS
VALUE_LIST = ('<salesforce_instance_host>:443');
CREATE EXTERNAL ACCESS INTEGRATION MY_OPENFLOW_SALESFORCE_EAI
ALLOWED_NETWORK_RULES = (MY_OPENFLOW_SALESFORCE_NETWORK_RULE)
ENABLED = TRUE
COMMENT = 'External Access Integration to connect to Salesforce';
GRANT USAGE ON INTEGRATION MY_OPENFLOW_SALESFORCE_EAI TO ROLE <openflow_role_name>;
后续步骤¶
在 Openflow 中配置连接器:
Openflow Connector for Salesforce Bulk API:选择使用 时默认使用的角色和仓库。配置连接器