データウェアハウス: BigQuery、Snowflake、Redshiftへのエクスポート
CRMのオブジェクト(リード、連絡先、商談など)をあなたのデータウェアハウスに送信します。BigQueryは自動、SnowflakeとRedshiftはファイル+COPY方式です。
データウェアハウス連携は、CRMのオブジェクトをあなたの会社のウェアハウスにエクスポートします(「持ち込みアカウント」モデル、BYO)。ウェアハウスはあなたのものであり、当社側でのコスト・マージン・仲介は一切発生しません。設定・有効化するまでは何も送信されない、完全に不活性な状態から始まります。読み取りは常にあなたのテナントのデータに限定されます。
各オブジェクトは、id、created_at、updated_at、owner_id、および各フィールド(フィールドのapi_name)の列という安定したカラム構成の行としてエクスポートされます。BIコネクタと同じカラム構成のため、一度マッピングすれば済みます。
前提条件
- BigQuery: Google Cloud上のプロジェクト、対象データセット、そのデータセットに対する「BigQuery データ編集者」ロールを持つサービスアカウント、およびそのアカウントのJSONキー。
- Snowflake/Redshift: ファイルを受け取るための自分で管理するステージング場所(S3/GCS/Azureバケットの署名付きURL)、およびCOPYコマンドを実行するためのウェアハウスへのアクセス。
- Sellioにおいて、設定→連携で認証情報を保存しエクスポートを有効化できる管理者権限。
設定場所
- 設定→連携を開きます。
- 対象のウェアハウスカードを選びます: Google BigQuery、Snowflake、またはAmazon Redshift。
- 認証情報を入力し、エクスポートするオブジェクトを選び、有効化します。
- 「今すぐエクスポート」で任意のタイミングで送信できます。
BigQuery(自動送信)
BigQueryではストリーミング(tabledata.insertAll)により自動的に送信されます。あなたがサービスアカウントを用意し、当社はあなたのテーブルに直接書き込みます。
- Google Cloudでサービスアカウントを作成し、対象データセットに「BigQuery データ編集者」ロールを付与します。
- そのサービスアカウントのJSONキーを生成します。
- データセット内に、安定したカラム(id STRING、created_at TIMESTAMP、updated_at TIMESTAMP、owner_id STRING、各フィールドの列)を持つ、オブジェクトごとのテーブルを作成します。
- BigQueryカードで、プロジェクトID、データセット、任意のテーブルプレフィックスを入力し、キーのJSONを貼り付けます。有効化し、「今すぐエクスポート」をクリックします。
SnowflakeとRedshift(ファイル+COPY方式)
SnowflakeとRedshiftでは、オブジェクトごとに1ファイル(デフォルトはNDJSON、またはCSV)を生成し、あなたが管理するステージング先URL(例えば自分のS3/GCS/Azureバケットの署名付きURL)に送信します。ウェアハウスへの最終的なロードはCOPYコマンドで行い、これはあなた自身がウェアハウス上で実行(またはスケジュール)します。
- Snowflake/Redshiftカードで、ステージングURL(ファイルの送信先)、フォーマット(NDJSONまたはCSV)、送信先が要求する場合は認証ヘッダー+シークレットを入力します。
- オブジェクトを選び、有効化します。「今すぐエクスポート」をクリックすると、ファイルがあなたのステージングにPUTされます。
- ウェアハウス上でCOPYを実行し、ステージングからテーブルへファイルをロードします。
テスト方法
- コネクタを有効化し、オブジェクトを選んで「今すぐエクスポート」をクリックします。
- BigQuery: データセット内の<prefix><api_name>テーブルを開き、行が届いていることを確認します(insertIdがレコードのidのため、同じバッチを再送しても重複しません)。
- Snowflake/Redshift: ファイルがステージングに書き込まれた(PUTされた)ことを確認し、COPYを実行してテーブル内の行を確認します。
トラブルシューティング
- BigQuery 403/permission denied: サービスアカウントにデータセットへの「BigQuery データ編集者」権限がないか、JSONキーが不完全です。ロールを再付与し、JSONを貼り直してください。
- BigQuery「table not found」: 先に、安定したカラム(id STRING、created_at/updated_at TIMESTAMP、owner_id STRING、各フィールドの列)を持つオブジェクトごとのテーブルを作成してください。名前は<prefix><api_name>です。
- Snowflake/Redshift: ステージングへのPUTが失敗する: 署名付きURLの有効期限が切れているか書き込みが許可されていないか、送信先の認証ヘッダーが間違っています。新しいURLを生成し、シークレットを確認してください。
- COPYがロードされない: FILE_FORMAT(NDJSONかCSVか)とカラムのマッピングを確認してください(例: SnowflakeのMATCH_BY_COLUMN_NAME、RedshiftのFORMAT AS JSON)。
- 何もエクスポートされない: コネクタが有効化されており、オブジェクトが選択されていることを確認してください。