データパイプリアンツールのCData Sync をつかって、Google Cloud Storage データのBigQuery への同期をノーコードで設定。
CData Sync はリアルタイムGoogle Cloud Storage data データを簡単にGoogle BigQuery インスタンスに同期し、データを単一のデータベース・データウェアハウス(DWH)に保管し、バックアップや分析・帳票・機械学習・AI での利用を実現します。
Google BigQuery をデータレプリケーションの同期先に設定
CData Sync を使って、Google Cloud Storage data をGoogle BigQuery にレプリケーションします。[接続]タブからデータの同期先を設定します。
- [同期先]タブをクリックします。
- Google BigQuery を同期先として選択します。
必要な接続プロパティを入力します。Google BigQuery への接続には、OAuth 認証を使用します:
User Account での認証
このOAuth フローでは、ユーザーアカウントクレデンシャルを入力する必要がありません。
- [接続のテスト]をクリックするとCData Sync がGoogle BigQuery へのOAuth エンドポイントを開きます。
- ログインしてCData Sync にアクセスを許可します。
- CData Sync は、OAuth プロセスを完了します。
Service Account として認証する
Service accounts では、ブラウザでのユーザーによる承認なしで認証が可能です。Service Accounts にEnterprise-wide の権限をCData Sync に許可することも可能です。/p>
この場合には、OAuth アプリケーションを作成する必要があります。カスタムOAuth アプリの作成 を参照してください。はじめにのセクションにOAuth アプリケーションを作成・認証する方法が説明されています。
これらの接続プロパティを入力して接続します:
- OAuthClientId: アプリケーションで設定したClient。
- OAuthClientSecret: アプリケーションのClient Secret。
- OAuthJWTCertType: "PEMKEY_FILE" 設定。
- OAuthJWTCert: 生成した.pem ファイル。
- OAuthJWTCertPassword:.pem ファイルのパスワード。
- OAuthJWTCertSubject: 証明書ストアの最初の証明書を選択するには"*" を選択します。
- OAuthJWTSubject: 権限アクセスを委譲するemail アドレス。アクセス以上は管理者による承認が必要です。
- DatasetId: 接続するデータセットのID。
- ProjectId: 接続するプロジェクトのID。
- [テスト接続]をクリックして接続を確認します。
- [変更を保存]をクリックします。
Google Cloud Storage をデータソースに設定。
[接続]タブからGoogle Cloud Storage をデータソースとして設定します。
- Google Cloud Storage アイコンをデータソースから選択します。
- 接続プロパティを設定します。
ユーザーアカウントでの認証
ユーザー資格情報の接続プロパティを設定することなく接続できます。InitiateOAuth をGETANDREFRESH に設定したら、接続の準備が完了です。
接続すると、Google Cloud Storage OAuth エンドポイントがデフォルトブラウザで開きます。ログインして権限を付与すると、OAuth プロセスが完了します。
サービスアカウントでの認証
サービスアカウントには、ブラウザでユーザー認証を行わないサイレント認証があります。サービスアカウントを使用して、企業全体のアクセススコープを委任することもできます。
このフローでは、OAuth アプリケーションを作成する必要があります。詳しくは、ヘルプドキュメントを参照してください。以下の接続プロパティを設定したら、接続の準備が完了です:
- InitiateOAuth: GETANDREFRESH に設定。
- OAuthJWTCertType: PFXFILE に設定。
- OAuthJWTCert: 生成した.p12 ファイルへのパスに設定。
- OAuthJWTCertPassword: .p12 ファイルのパスワードに設定。
- OAuthJWTCertSubject: 証明書ストアの最初の証明書が選ばれるように"*" に設定。
- OAuthJWTIssuer: [サービスアカウント]セクションで[サービスアカウントの管理]をクリックし、このフィールドをサービスアカウントID フィールドに表示されているE メールアドレスに設定。
- OAuthJWTSubject: サブジェクトタイプが"enterprise" に設定されている場合はエンタープライズID に設定し、"user" に設定されている場合はアプリユーザーID に設定。
- ProjectId: 接続するプロジェクトのID に設定。
これで、サービスアカウントのOAuth フローが完了します。
- [テスト接続]をクリックして、接続を確認します。
- [変更を保存]をクリックして、接続を確立します。
レプリケーションジョブを設定
CData Sync でPoint-and-Click インタフェース(とカスタム設定に必要な場合はSQL クエリ)でレプリケーションジョブが設定できます。 [ジョブ]タブから進んで、[ジョブ追加]ボタンをクリックします。新規ジョブ作成画面でソースと同期先DB をそれぞれドロップダウンから選択します。

テーブルをそのまま同期
テーブル全体をそのまま同期する場合、テーブルセクションから[テーブルを追加]ボタンをクリックして、同期するテーブルにチェックを入れて選択します。[選択したテーブルを追加]をクリックすると選択したテーブルがジョブに追加されます。

同期するデータをカスタマイズ
レプリケーションを行う際にカスタマイズを行うこともできます。カスタム変換機能では、同期するカラムの指定、同期先でのカラムの名前の変更、カラムマッピング、SQL 関数を使ったデータの加工が可能です。[カスタムクエリを追加]ボタン、もしくはすでに作成したテーブルをクリックするとレプリケーションの詳細設定が可能です。

レプリケーションのスケジュール起動
ジョブの[スケジュール]セクションでは、ジョブをスケジュールで自動起動する設定が可能です。ジョブの実行間隔を15分間隔から月次のまでの間から設定可能です。

これらのジョブ設定をおこない、[変更を保存]を押して内容を保存します。マニュアルでジョブを起動する場合は、テーブルにチェックを入れて主導で[▶実行]ボタンを押して同期を実行します。これで簡単にGoogle Cloud Storage data からBigQuery へのデータ同期ができました。