各製品の資料を入手。
詳細はこちら →SnapLogic でGoogle Sheets を外部サービスに連携
CData JDBC Driver を使用して、SnapLogic と外部サービスを連携。
最終更新日:2021-11-05
この記事で実現できるGoogle Sheets 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
SnapLogic はintegration Platform-as-a-Service(iPaaS)であり、ユーザーはノーコードでデータ連携フローを作成できます。CData JDBC ドライバと組み合わせることで、ユーザーはSnapLogic ワークフローからGoogle Sheets を含む250を超えるSaaS、ビッグデータ、NoSQL データソースのリアルタイムデータに接続できます。
組み込みの最適化されたデータ処理によって、CData JDBC Driver はリアルタイムGoogle Sheets のデータを高速に扱えます。プラットフォームがGoogle Sheets に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をGoogle Sheets に直接プッシュし、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータソース型を使用してGoogle Sheets のデータを操作することができます。
SnapLogic からGoogle Sheets に接続する
SnapLogic からGoogle Sheets のデータに接続するには、CData Google Sheets JDBC Driver をダウンロードしてインストールします。インストール画面に従ってください。インストールが完了すると、インストール先のディレクトリ(デフォルトでは、C:/Program Files/CData/CData JDBC Driver for GoogleSheets/lib)にJAR ファイルが作成されます。
Google Sheets JDBC Driver をアップロードする
インストール後、JDBC JAR ファイルをSnapLogic 内のディレクトリ(例えば、projects/Jerod Johnson)にManager タブからアップロードします。

接続を設定する
JDBC Driver がアップロードされると、Google Sheets への接続を作成できます。
- Designer タブに移動します。
- Snaps から「JDBC」を展開して、「Generic JDBC - Select」snap をdesigner にドラッグします。
- Add Account をクリック(または既存のものを選択)して、「Continue」をクリックします。
- 次のフォームでは、JDBC 接続プロパティを設定します。
- JDBC JARs 以下にアップロードしたJAR ファイルを追加します。
- JDBC Driver Class をcdata.jdbc.googlesheets.GoogleSheetsDriver に設定します。
JDBC URL をGoogle Sheets JDBC Driver 用のJDBC 接続文字列に設定します。例えば、
jdbc:googlesheets:Spreadsheet=MySheet;RTK=XXXXXX;InitiateOAuth=GETANDREFRESH
です。NOTE: RTK は評価版もしくは製品版のキーです。詳しくは、CData のサポートチームにご連絡ください。
組み込みの接続文字列デザイナー
JDBC URL の作成の補助として、Google Sheets JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。
java -jar cdata.jdbc.googlesheets.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
スプレッドシートに接続するには、Google への認証を行い、Spreadsheet 接続プロパティにスプレッドシートの名前またはフィードリンクを設定します。Google Drive のスプレッドシートの情報一覧を表示したい場合は、認証後にSpreadsheets ビューにクエリを実行します。
ClientLogin(ユーザー名 / パスワード認証)は、2012年4月20日より正式に非推奨となり、現在は利用できません。代わりに、OAuth 2.0 認証規格を使用してください。 個々のユーザーに代わってGoogle API にアクセスするには、埋め込みクレデンシャルを使用するか、独自のOAuth アプリを登録します。
OAuth は、Google Apps ドメインのユーザーに代わって、サービスアカウントを使って接続することもできます。サービスアカウントで認証するには、OAuth JWT 値を取得するためのアプリケーションを登録する必要があります。
Google アカウント、Google Apps アカウント、二段階認証を使用するアカウントなど、様々なアカウントタイプでGoogle スプレッドシートに接続する方法は、ヘルプドキュメントの「はじめに」を参照してください。
- 接続プロパティの入力後、「Validate」、そして「Apply」をクリックします。
Google Sheets のデータを読み込む
接続を検証、適用後に開くフォームで、クエリを設定します。
- Schema name を"GoogleSheets" に設定します。
- Table name を、スキーマ名を使用したGoogle Sheets 用のテーブルに設定します。例えば、"GoogleSheets"."Orders" です(ドロップダウンを使用して利用可能なテーブルの全リストを確認できます)。
- テーブルから、使用したい項目ごとにOutput fields を追加します。

Generic JDBC - Select snap を保存します。
接続とクエリを設定したら、snap の終端部分(以下のハイライト部分)をクリックしてデータをプレビューします。

結果が期待どおりのものであることを確認したら、他のsnap を追加してGoogle Sheets のデータを別のエンドポイントに渡すこともできます。

Google Sheets のデータを外部サービスにパイプ
本記事では、データをGoogle Spreadsheet にロードします。他のあらゆるサポートされているsnap が使用でき、Generic JDBC snap を他のCData JDBC ドライバと利用してデータを外部サービスに移すこともできます。
- まず、「Worksheet Writer」snap を"Generic JDBC - Select" snap の終端部分にドロップします。
- Google Sheets に接続するアカウントを追加します。
- Worksheet Writer snap を、Google Sheets のデータをGoogle Spreadsheet に書き込むよう設定します。
これで、接続済みのパイプラインを実行してGoogle Sheets からデータを抽出し、Google Spreadsheet にプッシュできます。

外部データをGoogle Sheets にパイプ
上述のように、JDBC Driver for GoogleSheets をSnapLogic から使用してデータをGoogle Sheets に書き込むことができます。まずは、Generic JDBC - Insert またはGeneric JDBC - Update snap をダッシュボードに追加します。
- 既存の「Account」(接続)を選択するか、新しく作成します。
- クエリの設定。
- Schema name を"GoogleSheets" に設定します。
- Table name をスキーマ名を使用したGoogle Sheets のテーブルに設定します。例えば、"GoogleSheets"."Orders"(ドロップダウンを使用して利用可能な全テーブルの一覧を確認できます)。
- Generic JDBC - Insert/Update snap を保存します。
これで、Google Sheets にデータを書き込んだり、新しいレコードを挿入したり、既存のレコードを更新するsnap が設定できました。
詳細情報と無償評価版
CData JDBC Driver for GoogleSheets を使えば、Google Sheets のデータを外部サービスに連携するためのパイプラインをSnapLogic で作成できます。Google Sheets への接続に関する詳細については、CData のGoogle Sheets 連携ページを参照してください。30日の無償評価版をダウンロードして今すぐ使い始めましょう。