
「ezpipe」でSalesforceからSnowflakeに連携する
クラスメソッドが提供しているデータパイプラインサービス「ezpipe」は、Salesforceからデータを連携する機能があります。
今回はこのSalesforceからSnowflakeへ連携する機能について紹介いたします。
なお「ezpipe」そのものについてや、Salesforce以外に対応している製品については以下の記事を参考にしてください。
ノーコードデータ連携サービス「ezpipe」で始めるデータ基盤構築
設定の全体の流れ
ezpipeの設定は次の3つだけです。ノーコードで実現でき、SQLもスクリプトも書きません。
- 接続元設定: Salesforceの認証情報を登録する
- 接続先設定: Snowflakeの接続情報を登録する
- パイプライン設定: 連携するオブジェクトと連携サイクルを決める
事前に用意しておくものは以下です。
- Salesforce: 連携対象のオブジェクトを参照できるユーザー
- Snowflake: 書き込み先のデータベースと、そこに書き込めるユーザー
順番に見ていきます。
接続元設定 - Salesforceの認証情報登録
サイドメニューの「接続元」から新規作成を選び、Salesforceを選択します。
入力するのは2つだけです。
- 接続名: 一覧で判別するための名前
- Salesforce環境: プロダクション環境 / サンドボックス環境

「認証」ボタンを押すと別ウィンドウでSalesforceのログイン画面が開くので、ログインしてezpipeからのアクセスを許可します。

許可が完了すると接続元の一覧に戻り、登録された接続が表示されます。

接続先設定 - Snowflakeの認証情報登録
続いて「接続先」からSnowflakeを選択します。
入力項目は以下です。
| 項目 | 内容 |
|---|---|
| 接続名 | 一覧で判別するための名前 |
| Snowflakeアカウント名 | .snowflakecomputing.com は自動で補完されるので、その手前までを入力 |
| データベース名 | 書き込み先のデータベース |
| ユーザー名 | データベースへアクセスするユーザー |
| 秘密鍵 | 秘密鍵認証(キーペア認証)の秘密鍵 |
| 秘密鍵パスフレーズ | 秘密鍵に設定したパスフレーズ |
| ウェアハウス | 任意。未指定の場合はユーザーに割り当てられているウェアハウスを使用 |
| ロール | 任意。未指定の場合はユーザーに割り当てられているロールを使用 |

認証方式は、現在は秘密鍵認証(キーペア認証)のみ対応しています。キーペアはあらかじめSnowflakeに設定しておく必要がありますが、その設定方法もezpipeのユーザーガイドに記載してあります。
保存すると接続先の一覧に追加されます。

パイプライン設定 - 連携する項目や時間などを設定
ここまでで登録した接続元と接続先を組み合わせて、実際の連携設定を作ります。パイプラインの作成はウィザード形式で、4ステップです。
ステップ1・2: 接続元と接続先の選択
先ほど作成したSalesforce接続とSnowflake接続をそれぞれ選びます。

ステップ3: 連携したいエンティティを選択
Salesforceのオブジェクト一覧が表示されるので、連携したいものにチェックを入れます。標準オブジェクトもカスタムオブジェクトも同じ一覧に並び、エンティティ名・フィールド名で検索できます。

また連携する/しないカラムを選択したり、特定のカラムをハッシュ化することも可能です。

ステップ4: パイプライン名とデータセット名の設定
最後にパイプライン名とデータセット名を入力します。
ここで指定したデータセット名が、Snowflake側のスキーマ名になります。作成後は変更できないので、命名だけ気をつけてください。

登録すると完了ダイアログが表示され、パイプライン一覧に追加されます。
初回の連携を実行する
初回の連携は手動で実行する必要があります。パイプライン一覧の右端のメニュー(⋮)から「今すぐ実行」を選びます。

連携中はステータスが「連携中」になり、完了すると「成功」に変わります。

連携サイクルの設定
作成したパイプラインを開き、「連携サイクル」タブで実行間隔を設定します。
- 連携サイクル: 30分 / 1時間 / 2時間 / 3時間 / 4時間 / 6時間 / 8時間 / 12時間 / 24時間
- 基準時刻(JST): 定期実行の起点となる時刻
この2つの組み合わせで実行スケジュールが決まります。たとえば基準時刻9:00・連携サイクル6時間なら、9:00・15:00・21:00・3:00に実行されます。

以上でSalesforceからSnowflakeへデータを連携できます。
まとめ
ezpipeでSalesforceからSnowflakeへデータを連携する手順を紹介しました。
- 設定は接続元・接続先・パイプラインの3つだけ
- 連携するオブジェクトを選択し、カラム単位で除外やハッシュ化ができる
- 連携サイクルを設定し、定期的に連携することができる
ノーコードでここまで設定できるので、データ基盤の担当者がエンジニアに依頼しなくても、自分でSalesforceのデータをSnowflakeに連携することができます。Salesforceのデータを分析基盤に載せたいと考えている方は、ぜひ検討してみてください。






