本記事について
本記事では、「Snowflake」の『Direct Share』を利用してデータを参照する方法について紹介します。
前提としてb→dashでは、一部のサーバーに「Snowflake」というクラウドサービスを利用しています。
「Snowflake」の『Direct Share』とは、異なるアカウント間でデータを共有できる仕組みのことで、データの複製や移動を行わずに、データを参照することが可能です。
データ連携や取込を行わず貴社の「Snowflake」で管理しているデータをリアルタイムに参照したい場合や、b→dash上に1次データのデータ量を増やしたくない場合、セキュリティの観点から社外環境へデータを移動せずに運用したい場合などにご活用ください。
❶「テキスト型」におけるデータ容量
「テキスト型」のデータの容量上限は『16MB』です。
この上限を超えるデータを『Direct Share』すると、b→dashの各処理でエラーが発生する可能性があります。
ご利用の際は、事前にデータ容量をご確認ください。
❷「Snowflake」の「VIEW」を連携する際の推奨方法
「Snowflake」の「VIEW」を連携する方法は以下の2パターンがありますが、b→dashでは”2”を推奨しています。
1.「VIEW」の作成時に「CREATE SECURE VIEW」で作成する
2.「SHARE」の作成時に「SECURE_OBJECTS_ONLY=FALSE」を指定する
※「Snowflake」の「VIEW」については、
「ビューの概要」(※ Snowflake Documentation/公式サイト)をご参照ください
❸「Snowflake」の既存の「VIEW」の定義を変更する際の注意事項
既存の「VIEW」の定義を変更(ロジック変更など)するために「CREATE OR REPLACE VIEW」を実行すると、
b→dashに共有した権限がリセットされます。
共有した権限を維持するためには、変更後に再度共有の設定を行ってください。
※「CREATE OR REPLACE VIEW」については、
「CREATE OR ALTER VIEW」(※ Snowflake Documentation/公式サイト)をご参照ください
❹ 共有する「データベース」「スキーマ」「オブジェクト」「カラム」の名称の制限
・大文字、小文字の違いは区別されません。b→dashではすべて大文字として扱います。
例えば、「column1」と「COLUMN1」は同一として扱われます。
・サポート対象は「引用符で囲まれていない識別子」のみです。
二重引用符(”)で囲んだ識別子はサポート対象外ですので、ご注意ください。
例えば、「column1」はサポート対象ですが、「”column1″」はサポート対象外です。
※ 詳細は、「識別子の要件」(※ Snowflake Documentation/公式サイト)をご参照ください
・使用可能な文字:半角英数字 / アンダースコア(_
)/ ドル記号($
)
使用不可な文字:ASCII / 拡張ASCIIで引用符が必要な文字 / 非ASCII文字(日本語、特殊文字、スペースなど)
※b→dashは「引用符で囲まれていないオブジェクト名」を前提に処理を行っています。
そのため、上記に沿わない名称は共有できません。
[事前準備]「Snowflake」上で「データの共有」を作成する
「ユーザー名」「パスワード」を入力し、サインインします
「ユーザー名」をクリックします
「ロールを切り替え」をクリックします
「AccountAdmin」のロールをクリックします
「データ製品」をクリックします
「プライベート共有」をクリックします
「共有」をクリックします
「直接共有を作成」をクリックします
「データを選択」をクリックします
「共有したいデータ製品」をクリックします
「共有したいデータ」をクリックします
「共有したいテーブル」を選択します
「完了」をクリックします
「任意の共有識別子」を入力します
共有先のアカウント情報である「ロケーター」を入力します
「共有を作成」をクリックします
b→dashへ接続情報を登録する
「データパレット」をクリックします
「データを連携」をクリックします
「新規追加」をクリックします
「Snowflake」を選択し、「適用」をクリックします
「共有識別子」と「アカウント識別子」を入力し、「次へ」をクリックします
任意の名前を入力し、「保存」をクリックします
新規作成した連携システムが画面に表示されます
データを参照する
貴社の「Snowflake」上のデータを編集、操作することはできませんので、ご注意ください。