"Data ShareをNiCEアカウントでSnowflake管理する"
Data Share設定は、NiCE Snowflakeアカウントを使用しているか、独自のSnowflakeアカウントを持っているかどうかによって異なります。 この選択は、セットアップ前に行います。 セットアップ後に気が変わった場合は変更できますが、変更するにはアカウント担当者と協力する必要があります。
前提条件
-
まだ行っていない場合は、アカウント担当者に連絡してData Shareを有効にしてください。 新しいSnowflakeアカウントを設定することを伝えます。
-
外部レポートツールとの統合を設定するかどうかを決定します。 データを外部ツールに抽出する場合は、以下の手順で説明するように、Snowflakeサービスユーザーを作成する必要があります。
-
データへのアクセスに使用するIPアドレスを定義する必要があります。 このページの手順を実行する前に、リストを収集する必要がある場合があります。 データへのアクセスに問題がある場合は、データにアクセスするユーザーまたはアプリケーションごとに、WAN(パブリックIP)とLAN(ローカル/プライベートIP)の両方を追加する必要があります。
NiCE Snowflake アカウントを作成します
必須権限: クラウド・データ共有オン
"次の手順では、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 Rangeまでスクロールダウンします。
- テキストボックスに、CIDR通知の許可リストに追加するIPアドレスとIPアドレス範囲を入力ます。 同時に複数追加する場合は、各エントリーをカンマで区切ります。
- 追加をクリックします。
- 各IPアドレスと範囲が有効な形式であることを確認しCXone Mpowerたら、送信をクリックしてNiCE Snowflakeアカウントに適用します。
-
アプリケーションがデータにアクセスする場合は、Snowflakeサービスユーザーを作成します。
-
サービスユーザーセクションで、キーの生成-Pairをクリックします。 ポップアップが開きます。
-
このサービス ユーザーの認証については、詳細をクリックして、Snowflakeオンライン ヘルプ コンテンツ
を開きます。
-
キーの生成-Pairをクリックします。 しばらくすると、秘密鍵が表示されます。 これをコピーして、コンピューターに保存します。
-
閉じるをクリックします。 "CXONE_DATA_SHARE_SERVICE_USERエントリに注目してください。これは、ユーザー名用に生成されました。"
-
ユーザー名をコピーし、秘密鍵とともに保存します。 これらは、外部アプリケーションの認証を設定または更新するときに入力する必要があります。 これらは機密性の高い認証情報であり、安全に処理して保存する必要があります。
-
-
プライマリSnowflakeアカウントのパスワードを作成します。
-
Data Shareページで、新規生成リンクをクリックします。
-
リンクがポップアップに表示されたら、URLをコピーをクリックします。
-
URLを新しいブラウザウィンドウまたはタブに貼り付けます。
-
Snowflakeパスワードを設定します。
-
-
Snowflakeにログインします。
-
Data Shareページから、アクセスURLをコピーします。
-
URLを新しいブラウザタブまたはウィンドウに貼り付けます。
-
Snowflakeにログインする。 作成したCXone MpowerSnowflakeユーザー名とパスワードを使用します。
-
-
ログインしたら、左側の CXONE_DATASHARE_ をクリックして、<BU_ID>CXone Mpower共有データオブジェクトのナビゲーションを開始します。
CXone Mpower Snowflakeアカウントを管理する
Snowflakeを使用してCXone Mpowerアカウントを作成すると、アカウントのメンテナンスタスクの一部をNiCEに依存するようになります。 次の場合は、アカウント担当者に連絡する必要があります。
-
倉庫サイズの変更
-
プライマリSnowflakeアカウントのパスワードの有効期限を過ぎた場合、パスワードをリセットします。 パスワードの有効期限は、直近のパスワード変更から90日後です。
Data ShareNiCEアカウントでSnowflakeを使用していて、これらの依存関係が不要になった場合は、アカウント担当者に問い合わせて、独自のSnowflake契約の手配を依頼してください。
データアクセス許可リストを管理する
必須権限: クラウド・データ共有オン
このセクションを使用して、許可リストにIPアドレスとIPアドレス範囲を追加します。 これによりSnowflake指定したIPアドレスからログインするユーザーのみにデータアクセスが制限されるため、セキュリティが強化されます。
CXone Mpowerは、あなたのエントリーが本物のIPアドレスであることを検証しません。 エントリー形式が有効であることのみを検証します。 ユーザーがNiCE Snowflakeアカウントにログインすると、CXone Mpowerは、データのプルの試みが許可リスト内のIPアドレスのいずれかから行われていることを確認します。
-
アプリセレクター
をクリックして、次を選択します:Admin。
-
アカウント設定>Data Shareに移動します。
- CXone MpowerのData Shareページで、IP Rangeまでスクロールダウンします。
- テキストボックスに、CIDR通知の許可リストに追加するIPアドレスとIPアドレス範囲を入力ます。 同時に複数追加する場合は、各エントリーをカンマで区切ります。
- 追加をクリックします。
- 各IPアドレスと範囲が有効な形式であることを確認しCXone Mpowerたら、送信をクリックしてNiCE Snowflakeアカウントに適用します。
ストレージとの統合
必須権限: クラウド・データ共有オン
Data Shareから独自のストレージにデータをエクスポートする場合は、このセクションを使用します。 これにより、CXone Mpower NiCEアカウントから独自のSnowflake S3バケットにAWSデータをコピーできます。 そこから、データを独自のデータウェアハウスまたは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パス AWS S3 バケットへのURL。 IAMロール
AWS S3 バケットへの書き込みアクセス権を持つ IAM ロール。 IAM ロールの設定については、Snowflake ドキュメント
を参照してください。
-
[保存]をクリックします。
-
Snowflakeでステージを作成します。 AWSドキュメントの説明に従って、Snowflake IAM ユーザーと外部 ID でロールを更新します
。 ストレージ統合名はdl_s3_integrationです。 例:
create stage __STAGE_NAME__ storage_integration = dl_s3_integration url = '__S3_PATH__';
-
ストアプロシージャを作成します。 "ヘルプとして、ストアプロシージャの作成とストアプロシージャ用のステージSQLステートメントへのコピーの作成については、Snowflakeドキュメントを参照してください
。" 例:
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のドキュメントを参照してください
。
作成共有が失敗すると、画面の右上隅に失敗通知が表示されます。 支援については、アカウント担当者にお問い合わせください。