使用 Data Share NiCE 账户管理 Snowflake
Data Share设置会有所不同,具体取决于您使用的是 NiCE Snowflake 账户还是您是否拥有自己的 Snowflake 账户。 您可以在设置之前做出此选择。 如果您在设置后改变主意,您可以更改它,但您必须与您的 客户代表 合作才能执行此作。
先决条件
-
如果您尚未如此操作,请与 客户代表 联系以启用 Data Share。 告诉他们您要设置一个新的 Snowflake 账户。
-
决定是否要设置与外部报告工具的集成。 如果要将数据提取到外部工具中,则需要创建一个 Snowflake 服务用户,如以下步骤所述。
-
您需要定义访问数据的 IP 地址。 在执行此页面上的步骤之前,您可能需要收集一个列表。 如果您在访问数据时遇到问题,则可能需要为将访问数据的每个用户或应用添加 WAN(公有 IP)和 LAN(本地/私有 IP)。
创建一个 NiCE Snowflake 账户
所需权限:Cloud Data Share 打开
以下步骤将引导您完成创建主 Snowflake 账户的过程,您可以使用该账户通过 Snowflake 界面登录。 它还可以帮助您创建 Snowflake 服务用户(如果需要)。 服务用户允许您使用外部(如 BI 报告工具)设置对数据的 指通过计算机代码执行操作,而非手动流程或用户界面操作。 这能实现任务自动化,因为操作由程序或脚本执行,而非人工完成。编程应用访问。 服务用户具有密钥对身份验证,以允许应用访问数据;您可以将其视为 应用的用户帐户。 如果您需要有关此身份验证类型的帮助,请联系您的 IT 组或NiCE 客户代表。
-
单击应用程序选择器
并选择 Admin。
-
转到帐户设置 > Data Share。
-
单击创建帐户。
-
在确认窗口中,选择是,我同意,然后单击确认。 账户创建过程可能需要 45 分钟。 您可以在等待期间继续用于CXone Mpower其他任务。
-
定期查看屏幕顶部工具栏中的通知
。 当出现新通知时,请验证您的帐户是否创建成功。 如果帐户创建失败,请勿重试。 相反,请联系 CXone Mpower支持。
-
在 Data Share 页面中,添加要授予对 Snowflake 数据访问权限的 IP 地址和 IP 地址范围。 如果您不添加任何 IP 地址,您将无法访问您的 Snowflake 账户。
CXone Mpower 不会验证您输入的内容是否为真实 IP 地址。 它仅验证输入格式是否有效。 当用户登录您的 NiCE Snowflake 账户时,CXone Mpower 会验证提取数据的尝试是否来自允许列表中的某个 IP 地址。
- 在 CXone Mpower 的 Data Share 页面上,向下滚动到 IP 范围。
- 在文本框中,键入要采用 CIDR 标记添加到许可列表的 IP 地址和 IP 地址范围。 如果您正在同时添加多个条目,请用逗号分隔每个条目。
- 单击添加。
- CXone Mpower确认每个 IP 地址和范围都是有效格式后,单击 提交 将它们应用到您的 NiCE Snowflake 帐户。
-
如果您希望 应用 访问您的数据,请创建一个 Snowflake 服务用户:
-
在 Service User (服务用户) 部分中,单击 生成密钥-Pair。 此时将打开一个弹出窗口。
-
要了解此服务用户的身份验证,请单击了解更多信息以打开Snowflake联机帮助内容
。
-
单击 生成密钥-Pair。 片刻之后,您的私钥就会出现。 复制此文件并将其保存在您的计算机上。
-
单击关闭。 请注意为 用户名称 生成的 CXONE_DATA_SHARE_SERVICE_USER条目。
-
复制用户名并将其与私有密钥一起保存。 在为外部 应用设置或更新身份验证时,必须输入这些 ID。 这些是您应该安全处理和存储的敏感凭证。
-
-
为您的主 Snowflake 帐户创建密码:
-
在 Data Share 页面上,单击 生成新的 Link。
-
当链接出现在弹出窗口中时,单击复制 URL。
-
将 URL 粘贴到新的浏览器窗口或选项卡中。
-
设置您的 Snowflake 密码。
-
-
登录 Snowflake:
-
从Data Share页面复制访问 URL。
-
将 URL 粘贴到新的浏览器选项卡或窗口中。
-
登录 Snowflake。 使用您刚刚创建的CXone Mpower Snowflake 用户名和密码。
-
-
登录后,单击<BU_ID>左侧的 CXONE_DATASHARE_ 开始导航CXone Mpower共享数据对象。
管理 CXone Mpower Snowflake 帐户
当您通过 Snowflake 创建 CXone Mpower账户时,您将依赖 NiCE 来完成账户的某些维护任务。 如果您想要执行以下作,则需要联系您的客户代表:
-
更改仓库大小。
-
如果您允许主 Snowflake 账户的密码过期,请重置该账户的密码。 在您最近一次密码更改后 90 天将出现密码过期。
如果您通过 Data ShareNiCE账户使用Snowflake,并且不再需要这些依赖项,请联系您的 客户代表 以帮助安排您自己的Snowflake合同。
管理数据访问白名单
所需权限:Cloud Data Share 打开
使用此部分将 IP 地址和 IP 地址范围添加到您的许可列表中。 这通过将Snowflake数据访问权限限制为仅从您指定的 IP 地址登录的用户来增强安全性。
CXone Mpower 不会验证您输入的内容是否为真实 IP 地址。 它仅验证输入格式是否有效。 当用户登录您的 NiCE Snowflake 账户时,CXone Mpower 会验证提取数据的尝试是否来自允许列表中的某个 IP 地址。
-
单击应用程序选择器
并选择Admin。
-
转到帐户设置 > Data Share。
- 在 CXone Mpower 的 Data Share 页面上,向下滚动到 IP 范围。
- 在文本框中,键入要采用 CIDR 标记添加到许可列表的 IP 地址和 IP 地址范围。 如果您正在同时添加多个条目,请用逗号分隔每个条目。
- 单击添加。
- CXone Mpower确认每个 IP 地址和范围都是有效格式后,单击 提交 将它们应用到您的 NiCE Snowflake 帐户。
与存储集成
所需权限:Cloud Data Share 打开
如果要将数据从 Data Share 导出到自己的存储中,请使用此部分。 这使您能够将CXone Mpower数据从 NiCE Snowflake 账户复制到您自己的 AWS S3 存储桶。 从此处,您可以将数据下载到自己的数据仓库或 BI 工具中。
在执行此任务之前,您可能需要检查您是否拥有 AWS 凭证。

use role dl_customer;
use database cxone_export;
use schema export_data;
create stage s3_unload_stage
storage_integration = dl_s3_integration
url = 's3://destination-bucket/';
-- 2. Export agent dim
// SP and Task to unload agent DIM
create or replace procedure unload_agent_dim_sp()
returns string not null
language javascript
as
$$
var sql_command = "";
var curDate = new Date().toISOString();
var sql_command = sql_command.concat("copy into @s3_unload_stage","/agent_dim/", curDate,"/"," from cxone_shared.acd.agent_dim_view overwrite=true;");
var statement = snowflake.createStatement( {sqlText: sql_command} );
var result_set = statement.execute();
return sql_command; // Statement returned for info/debug purposes
$$;
create task unload_agent_dim_task
warehouse = dl_export
schedule = 'using cron */5 * * * * UTC'
as
call unload_agent_dim_sp();
alter task unload_agent_dim_task resume;
alter task unload_agent_dim_task suspend;
-- 3. Export Contact Type Dim
// SP and task to unload agent DIM
create or replace procedure unload_contact_type_dim_sp()
returns string not null
language javascript
as
$$
var sql_command = "";
var curDate = new Date().toISOString();
var sql_command = sql_command.concat("copy into @s3_unload_stage","/contact_type_dim/", curDate,"/"," from cxone_shared.acd.contact_type_dim_view overwrite=true header=true;");
var statement = snowflake.createStatement( {sqlText: sql_command} );
var result_set = statement.execute();
return sql_command;
$$;
create task unload_contact_type_dim_task
warehouse = dl_export
schedule = 'using cron */5 * * * * UTC'
as
call unload_contact_type_dim_sp();
alter task unload_contact_type_dim_task suspend;
// 'watching unload tasks status'
show tasks;
select *
from table(information_schema.task_history())
order by scheduled_time DESC;

资源名称 | 名称 | 详细信息 |
---|---|---|
角色 | DL_CUSTOMER | 在运行 SQL 查询时所承担的角色。 此角色必须具有创建 STAGE、PROCEDURE和 TASK的权限。 |
共享数据库 |
CXONE_SHARED |
将与该数据库共享所有对象。 用户可以从该数据库的共享视图中读取数据。 |
导出数据库 | CXONE_EXPORT | 您可以在该数据库下创建新资源。 |
导出架构 | EXPORT_DATA | CXONE_EXPORT 数据库下的架构。 所有新资源都位于此架构内。 |
存储集成 | DL_S3_INTEGRATION | 启用将数据导出到 AWS S3 存储桶。 启用后,您可以使用此存储集成创建阶段。 |
仓库 | DL_EXPORT | 运行所有 SQL 查询的仓库的名称 。 |
-
单击应用程序选择器
并选择Admin。
-
转到帐户设置 > Data Share。
-
在 存储 集成 - AWS 账户部分中,输入 AWSS3 路径和IAM 角色的详细信息。
在此步骤中了解有关字段的更多信息
字段 详细信息 S3 路径 URL 到 AWS S3 存储桶。 IAM 角色
对 AWS S3 存储桶具有写入权限的 IAM 角色。 有关配置 IAM 角色的信息,请参阅 Snowflake 文档
。
-
单击保存。
-
在 Snowflake中创建阶段。 使用您的 AWSIAM 用户和外部 ID 更新您的角色,如 Snowflake 文档
中所述。 存储集成的名称为 dl_s3_integration。 例如:
create stage __STAGE_NAME__ storage_integration = dl_s3_integration url = '__S3_PATH__';
-
创建存储过程。 请参阅Snowflake文档以获取创建存储过程
创建副本到存储过程的阶段 SQL 语句 的帮助
。 例如:
create or replace procedure __STORE_PROCEDURE_NAME__() returns string not null language javascript as $$ var sql_command = ""; var curDate = new Date().toISOString(); var sql_command = sql_command.concat("copy into @__STAGE_NAME__","/path/", curDate,"/"," from cxone_shared.__SCHEMA__.__VIEW_NAME__overwrite=true header=true;"); var statement = snowflake.createStatement( {sqlText: sql_command} ); var result_set = statement.execute(); return sql_command; $$;
-
创建任务。 请参阅 Snowflake 文档以了解任务
并获取有关创建任务
的帮助。
create task __TASK_NAME__ warehouse = dl_export schedule = 'using cron */30 * * * * UTC' -- Give any required cron expression. For example we have given cron for every 30 mins as call __STORE_PROCEDURE_NAME__(); alter task __TASK_NAME__ resume;
访问CXone Mpower数据
- 打开 Snowflake Web 界面。
- 转至数据产品 > 私人共享。 您应会看到 CXone Mpower 共享。
- 查看和查询共享 CXone Mpower 数据库中的对象,就像查看账户中的任何其他数据库一样。 您应该看到帐户中的所有可用共享。 Database 列显示从共享创建的数据库的名称。 有关更多信息,请参阅 Snowflake 文档
。
如果创建共享失败,您会在屏幕右上角收到失败通知。 请联系您的 客户代表 寻求帮助。