💽

SalesforceのData CloudからSnowflakeのデータを読むには

2024/04/08に公開

Data CloudはSalesforceの提供するサービスで、Salesforce内のデータと、その外にあるデータを良い感じに結びつけることで、個人に関するあらゆる情報を良い感じにマージしてくれる、そんな仕組みだ
これまではコネクタがしょぼかったので、Mulesoftを使っている人じゃないとほぼ活用が難しかった
先日GAになった機能によって、ついにData CloudからSnowflakeのデータにタッチできるようになったので、その方法について紹介したい

何が嬉しいの

Salesforceには大量のデータを入れて処理するというのが難しい。100万レコードとかになると使い物にならないみたいなことがまま起きる。Webのアクセスデータなどのストリームデータを扱うようなプラットフォームではないのだ。
Data Cloudは発表当初からこれらの莫大なデータを処理するための基盤として喧伝されており、つまりそういうものをSalesforceから扱えるようにするためのソリューションだ。

設定してみましょう

設定するにはData Cloud及びSnowflake両方の設定が必要だ
まずはSnowflake側から設定していきましょう

Snowflakeに鍵認証の設定をする

Data CloudからSnowflakeへは、鍵認証されたユーザーのデータを使って接続する。
そのため、Snowflakeに鍵認証の設定をしていく必要がある
やり方はこちら

https://docs.snowflake.com/en/user-guide/key-pair-auth

ローカル端末でキーペアを作ります

ターミナルで以下の2つを実行します。鍵は ~/.ssh の中にでも入れましょう
$ ~/.ssh
としてから
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt

openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
を実行すると、rsa_key.p8とrsa_key.pubの2つのファイルが作られます。
.pubが公開鍵で、.p8が非公開鍵です。

Snowflakeでユーザーに公開鍵を割り当てる

ワークシートを立ち上げてから以下のコマンドを実行します。jsmithはあなたのユーザーIDを入れてください。RSA_PUBLIC_KEYの中身はrsa_key.pubの中身を使います。
-----BEGIN PUBLIC KEY-----
ここが公開鍵
-----END PUBLIC KEY-----
ALTER USER jsmith SET RSA_PUBLIC_KEY='公開鍵の中身をいれる';
これでエラーがでなければOK

Data Cloudの設定をする

まずはSales Cloudの設定を開く
設定>Data Cloud>定義の中にSnowflakeの文字が現れるはずです
それを開いてみてください。そこから設定を進めていきます。新規作成していきましょう

新規作成してこのように情報を登録していきます

接続名とAPI参照名は任意です
アカウントURLはこちらから取得

ユーザー名は先程キーを割り当てたユーザーです
ALTER USER jsmithのjsmithのところですね
非公開鍵にはrsa_key.p8の中身を入れてください
-----BEGIN PRIVATE KEY-----
ここ
-----END PRIVATE KEY-----
これで接続設定完了です。

Data Cloudのストリーム画面を開いてみましょう

来ましたSnowflake!

開いてみます

よし!アクセスできたぞ!
ということで、ひとまず接続が完了しました報告となります。今後どんどん活用していくぞ

関連記事

https://zenn.dev/lnest_knowledge/articles/7af094ae111c5d
https://zenn.dev/geeorgey/articles/37aef80623f054
https://zenn.dev/geeorgey/articles/ff903c6c4870aa
https://zenn.dev/geeorgey/articles/4434b05256468e

リバナレテックブログ

Discussion