概要
Google ドライブ に接続する方法について説明します。
検証環境
製品 | バージョン | 備考 |
---|---|---|
TDV Server |
8.5.2 |
Windows Server 2019環境で実行 |
TDV Studo | ||
Google Cloud | - | 以降の説明およびスクリーンショットは2022年8月時点のもの |
Google ドライブ |
前提
本記事では、有料のGoogle Workspaceではなく、無料のGoogleアカウントを利用します。
TDV Server から Google ドライブ に接続する際には サービス アカウント による認証を利用します。
また、Google Cloud内にプロジェクトが存在しないことを前提としています。
Google側事前作業
プロジェクト作成
Google Cloud Consoleにアクセスし、プロジェクトを作成します。
すでにプロジェクトが作成済みで新しいものを作成する必要がない場合は、以降の手順をスキップし、Google Drive API 有効化 に進みます。
1. プロジェクトの選択にて、新しいプロジェクトをクリックします。
2. プロジェクト名とプロジェクトIDを入力し、作成をクリックします。
プロジェクトが正常に作成されることを確認します。
Google Drive API 有効化
1. APIとサービス > ライブラリ をクリックします。
2. 先ほど作成したプロジェクトもしくは既存プロジェクトを選択し開きます。
3. drive
などの文字列を入力して、Google Drive API を検索します。
4. 検索結果から、Google Drive API をクリックします。
5. 有効にする をクリックします。
サービス アカウント・鍵 作成
1. IAM と管理 > サービス アカウント をクリックします。
2. サービス アカウントを作成をクリックします。
3. サービス アカウント名とサービス アカウント ID を入力し、完了をクリックします。
4. サービス アカウントが作成されたことを確認し、鍵を管理をクリックします。
5. 新しい鍵を作成をクリックします。
6. キーのタイプ P12
を選択して作成をクリックします。
7. 秘密鍵がダウンロードされます。また、秘密鍵のパスワードが表示されるので、これをメモ帳などに控えてから閉じるをクリックします。
8. 鍵が作成されたことを確認します。
Google ドライブ 権限設定
先ほど作成したサービス アカウントに、TDVから接続するGoogle ドライブ上のフォルダもしくはファイルの権限を付与します。
以下の例では、読み取り専用のユースケース(TDVはGoogle ドライブからデータを取得するだけ)を想定し、閲覧者を付与しています。
TDV設定
TDVからGoogle ドライブ に接続するための設定を行います。
秘密鍵配置
作成済みのサービス アカウントに紐づく秘密鍵をTDVサーバー上の任意のフォルダに配置します。
アダプタ設定
1. Google Drive アダプタを利用するデータソースを作成し、以下の項目をセットします。(以下で指定のない項目はデフォルト値で問題ありません。)
項目 | 内容 |
---|---|
Initiate OAuth | GETANDREFRESH |
OAuth Settings Location |
TDV Serverアプリケーションがアクセス可能なフォルダに存在する デフォルト設定では |
OAuth JWT Cert | 作成済みのサービス アカウントに紐づく秘密鍵のファイルパス 例) C:\gdrive\xxxxxxxx.p12
|
OAuth JWT Cert Password | 秘密鍵のパスワード |
OAuth JWT Cert Subject | * |
OAuth JWT Cert Type | PFXFILE |
OAuth JWT Issuer |
xxxxxxxx.iam.gserviceaccount.com 形式のサービス アカウントのメールアドレス |
OAuth JWT Subject | OAuth JWT Issuer と同じ値 |
Location |
TDV Serverアプリケーションがアクセス可能なフォルダに存在するSchemaフォルダのパス デフォルト設定では |
2. データソースを保存し、接続テストを行い、正常に接続できることを確認します。
イントロスペクト
リソースの追加/削除… をクリックし、イントロスペクトを行います。
動作確認
イントロスペクトした結果取得されたリソースの動作確認を行います。
Filesビュー
Filesビューを実行し、Google ドライブ 内のファイル一覧を閲覧します。
DownloadFileプロシージャ
DownloadFileプロシージャを実行し、指定したファイルをTDVサーバーにダウンロードします。
以下の例では、Google ドライブ 上に存在する presidents.csv
をTDVサーバー上の C:\gdrive\data\presidents.csv
というパス(入力パラメータである LocalFile に指定)にダウンロードします。
プロシージャの入力パラメータである Id には、ファイル名ではなく Google ドライブ 上のID を入力する必要があります。
プロシージャの実行に成功すると、以下のようにファイルが指定したパスにダウンロードされます。
また、以下の例では、Google ドライブ 上に存在する presidents
というスプレッドシート をTDVサーバー上の C:\gdrive\data\presidents
というパス(入力パラメータである LocalFile に指定)にダウンロードします。
プロシージャの実行に成功すると、以下のようにファイルが指定したパスにダウンロードされます。
スプレッドシートはExcel形式に変換された状態でダウンロードされます。
トリガーを組み合わせたデータソースの作成
先述のとおり、Google Drive アダプタ により提供されるビューはファイル一覧などGoogle ドライブ 上のファイルやフォルダのメタデータを提供するものであり、ファイルの実体を取得するにはDownloadFileプロシージャなどのプロシージャの利用が必要です。
ここでは、Google ドライブ 上の特定のファイル(presidents.csv
)を定期的にTDVサーバーにダウンロードするためのトリガーを作成し、そのダウンロードされたファイルをTDVのデータソースとして追加して利用する方法を示します。
トリガー作成
任意の場所にトリガーを作成します。
トリガーは以下のように設定します。
項目 | 内容 | |
---|---|---|
トリガーの有効化 | ✓を入れる (✓をはずすとトリガーは無効化されます。) |
|
条件 | 定期的を選択し、任意の実行間隔を設定 | |
アクションタイプ |
Execute Procedure を選択 |
|
アクション | Procedure Path | 実行するプロシージャ(DownloadFile)のパスを設定 |
Parameter Values | 実行するプロシージャの入力パラメータを設定 今回の例では、同じファイルを何度も上書きすることになるため、Overwriteパラメータは true に設定しています。 |
データソース作成
Google ドライブ からTDVサーバーのローカルファイルシステムにダウンロードされる president.csv
をデータソースとしてTDVに追加します。
今回の例では対象はCSVファイルであるため、File-Delimitedアダプタを利用します。
動作確認
1. Google ドライブ 上の president.csv
に1行追加します。
2. しばらく待つとTDVサーバー上のファイルもトリガーにより更新され、行追加がデータソースにも反映されます。