この記事では、Talend で簡単にCData JDBC Driver for GoogleCloudStorage をワークフローに統合してGoogle Cloud Storage データ連携する方法を説明します。ここではCData JDBC Driver for GoogleCloudStorage を使ってTalend でGoogle Cloud Storage をジョブフローに転送します。
JDBC データソースとしてTalend でGoogle Cloud Storage に接続
下記の手順に従って、Google Cloud Storage にJDBC 接続を確立します:
- Google Cloud Storage を新しいデータベース接続を追加:新しく接続を追加するには、[Metadata]ノードを展開し[Db Connections]ノードを右クリックして[Create Connection]をクリックします。
- ウィザードが表示されたら、接続に名前を入力します。
次のページで、[DB Type]メニューから[Generic JDBC]を選択してJDBC URL を入力します。
ユーザーアカウントでの認証
ユーザー資格情報の接続プロパティを設定することなく接続できます。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 フローが完了します。
以下は一般的なJDBC URL です:
jdbc:googlecloudstorage:ProjectId='project1';
- インストールディレクトリの[lib]サブフォルダ内にあるcdata.jdbc.googlecloudstorage.jar ファイルへのパスを入力します。
- 接続を右クリックして[Retrieve Schema]をクリックします。
- デフォルトオプションで[Next]をクリックしインポートしたいテーブルを選択します。
- デフォルトオプションでウィザードを終了します。
Buckets テーブルをフラットファイルに出力
下記の手順に従って、Buckets テーブルをフラットファイル出力コンポーネントに転送します:
- [Table Schemas]ノードで、テーブルをワークスペース内にドラッグします。
- ダイアログが表示されたら[tJDBCInput]コンポーネントを選択します。
- 次に、[tFileOutputDelimited]コンポーネントをPalette の[Business Intelligence]タブからワークスペース内にドラッグします。
- Buckets tJDBCInput コンポーネントを右クリックしてベクタを出力ファイルにドラッグします。
プロジェクトを実行してデータを転送します。