# Google Drive Export Integration

Treasure DataからGoogle Driveにジョブ結果を直接エクスポートし、Google Driveでデータをさらに分析、共有して、重要なビジネスインサイトを明らかにすることができます。

Google Driveにジョブ結果をエクスポートするサンプルワークフローについては、Treasure Boxesをご覧ください。

## 前提条件

- [TD Toolbelt](https://toolbelt.treasuredata.com/)を含むTreasure Dataの基礎知識。
- Googleアカウント（Google Drive用）。
- 認可されたTreasure アカウントアクセス。


## フォルダキーの取得

次のように、アクセスURLからGoogle Driveフォルダキーを取得できます。

![](/assets/image-20191009-211909.43939ecdd993a1cf7b9c8f3b011f5b9253f7a5aa9fdac8c4732ef3841f45b532.26c56f91.png)

## Treasure Data Integration の静的 IP アドレス

セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。

リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります:
[IP Addresses for Integrations](/apis/endpoints/ip-addresses-integrations-result-workers)

## Treasure コンソールを使用した接続の作成

### 新しい接続の作成

クエリを実行する前に、エクスポートデータ接続を作成して設定する必要があります。データ接続の一部として、統合にアクセスするための認証を提供します。

1. **Integrations Hub** > **Catalog**に移動します。
2. Google Driveを検索して選択します。
![](/assets/screenshot-2025-07-21-at-15.36.56.aab38574db169cde4901492ccd0302ff3d257591be2f00b4a18bb9020c23f5e7.26c56f91.png)
3. Authenticationダイアログが開きます。
4. 既存のOAuth接続を選択するか、新しい接続を作成して接続を認証します。
![](/assets/screenshot-2025-07-21-at-15.57.33.b893ebb4ce290ebbe934a207056ec818521d888664ea06c0e72b78117b53694e.26c56f91.png)
5. 新しいGoogle Drive接続の名前を選択します。


### アカウントの認証

Treasure Data Google Drive統合へのアクセスには、OAuth2認証が必要です。認証には、Treasure アカウントをそれぞれのGoogleアカウントに接続する必要があります。

既存の接続がない場合は、新しい認証を作成します。

1. 認証ダイアログを開いた後、「Sign in with Google」の下にあるリンクを選択して新しい接続を作成します。
2. ポップアップウィンドウでGoogle Driveアカウントにログインし、Treasure Dataアプリへのアクセスを許可します。
![](/assets/image-20191015-140119.6afe6692f82df2f21e05953eaf4c969773d8d50b79259e94ee6ec81666ea41fc.7a2fdaca.png)
3. 統合ダイアログペインにリダイレクトされます。Google Sheetsを選択してから、ドロップダウンメニューから新しい接続を選択します。
![](/assets/screenshot-2025-07-21-at-15.57.33.b893ebb4ce290ebbe934a207056ec818521d888664ea06c0e72b78117b53694e.69844539.png)


### クエリの定義

1. Data Workbench > Queriesに移動します。
2. **New Query**を選択します。
3. クエリを実行して結果セットを検証します。


![](/assets/image2021-9-7_15-1-38.a0ef34a3cfb6035eb6a53a758a755062decbb29fac046d1b24440a76d0662c7a.26c56f91.png)

### データ接続でのエクスポート結果の設定

1. **Data Workbench** > **Queries**に移動します。
2. 既存のクエリを選択するか、新しいクエリを作成します。
3. クエリエディタで、**Export Results**チェックボックスを選択します。
![](/assets/image-20191016-211654.c01ebf114bc73d11d17c870994e5e9a16952645c80d4f307b2f2ab2eefded596.26c56f91.png)
4. Google Drive接続を選択します。
5. Export Resultsダイアログパネルが開きます。次のパラメータを編集します。


次の表は、Google Driveエクスポート用に設定できるパラメータを説明しています。

| **Parameters** | **Required?** | **Description** |
|  --- | --- | --- |
| File Name | Yes | アップロードするファイルの名前。 |
| Duplication Option | No | 次のいずれか:- **Allow duplicate (default):** 同じ名前の複数のファイルが共存できます（Google APIでサポートされています）。
- **Replace**: 既存のファイルが新しいファイルに置き換えられます。
- **With datetime suffix**: 常にジョブ実行日時をサフィックスとして追加します。形式はyyyyMMdd_HHmmssです。

 |
| Folder ID | No | 親フォルダのID。空の場合はドライブのルートフォルダが使用されます。 |
| Create New Folder | No | デフォルトはfalseです。新しいフォルダの作成が必要な場合はチェックします。 |
| New Folder Name | Conditionally required | `Create New Folder`がチェックされている場合に必要です。 |
| Format | No | **csv、tsv**のいずれか。デフォルトはcsvです。 |


csv、tsvフォーマッタとエンコーダのパラメータについては、[CSV Formatter & Encoder](/ja/int/google-drive-export-integration#h2_1163212668)を参照してください。

## 統合を使用したActivationの作成

セグメントデータまたはステージをエクスポートするActivationを作成できます。

Product DocumentationポータルでActivationを作成する手順については、[Creating an Activation](https://docs.treasuredata.com/smart/project-product-documentation/create-an-activation)を参照してください。

## クエリ例


```SQL
SELECT * FROM [table]
```

### (オプション) Query Export ジョブをスケジュールする

Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。

Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。

2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。

例えば、cron スケジュールが `'0 0 1 * 1'` の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。

#### Treasure コンソール を使用してジョブをスケジュールする

1. **Data Workbench > Queries** に移動します
2. 新しいクエリを作成するか、既存のクエリを選択します。
3. **Schedule** の横にある None を選択します。
![](/assets/image2021-1-15_17-28-51.f1b242f6ecc7666a0097fdf37edd1682786ec11ef80eff68c66f091bc405c371.0f87d8d4.png)
4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:
![](/assets/image2021-1-15_17-29-47.45289a1c99256f125f4d887e501e204ed61f02223fde0927af5f425a89ace0c0.0f87d8d4.png)
| ドロップダウン値 | 説明 |
|  --- | --- |
| Custom cron... | [Custom cron... の詳細](#custom-cron-details)を参照してください。 |
| @daily (midnight) | 指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。 |
| @hourly (:00) | 毎時 00 分に実行します。 |
| None | スケジュールなし。 |


#### Custom cron... の詳細

![](/assets/image2021-1-15_17-30-23.0f94a8aa5f75ea03e3fec0c25b0640cd59ee48d1804a83701e5f2372deae466c.0f87d8d4.png)

| **Cron 値** | **説明** |
|  --- | --- |
| `0 * * * *` | 1 時間に 1 回実行します。 |
| `0 0 * * *` | 1 日 1 回午前 0 時に実行します。 |
| `0 0 1 * *` | 毎月 1 日の午前 0 時に 1 回実行します。 |
| "" | スケジュールされた実行時刻のないジョブを作成します。 |



```
 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)
```

次の名前付きエントリを使用できます:

- Day of Week: sun, mon, tue, wed, thu, fri, sat.
- Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.


各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます:

div
| フィールド値  | 例  | 例の説明  |
|  --- | --- | --- |
| 各フィールドに対して上記で表示された制限内の単一の値。 |  |  |
| フィールドに基づく制限がないことを示すワイルドカード
`'*'`。 | `'0 0 1 * *'` | 毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。 |
| 範囲 `'2-5'`
フィールドの許可される値の範囲を示します。 | `'0 0 1-10 * *'` | 毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。 |
| カンマ区切りの値のリスト `'2,3,4,5'`
フィールドの許可される値のリストを示します。 | `0 0 1,11,21 * *'` | 毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。 |
| 周期性インジケータ `'*/5'`
フィールドの有効な値の範囲に基づいて、
スケジュールが実行を許可される頻度を表現します。 | `'30 */2 1 * *'` | 毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。
`'0 0 */5 * *'` は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。 |
| `'*'`
ワイルドカードを除く上記の
いずれかのカンマ区切りリストもサポートされています
`'2,*/5,8-10'` | `'0 0 5,*/10,25 * *'` | 毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。 |


1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。


### クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。

設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。

(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

## Audience Studio で Segment をアクティベートする

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。

1. **Audience Studio** に移動します。
2. parent segment を選択します。
3. ターゲット segment を開き、右クリックして、**Create Activation** を選択します。
4. **Details** パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
5. **Output Mapping** パネルで activation 出力をカスタマイズします。


![](/assets/ouput.b2c7f1d909c4f98ed10f5300df858a4b19f71a3b0834df952f5fb24018a5ea78.8ebdf569.png)

- Attribute Columns
  - **Export All Columns** を選択すると、変更を加えずにすべての列をエクスポートできます。
  - **+ Add Columns** を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。**+ Add Columns** を選択し続けて、activation 出力用の新しい列を追加します。
- String Builder
  - **+ Add string** を選択して、エクスポート用の文字列を作成します。次の値から選択します:
    - String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
    - Timestamp: エクスポートの日時。
    - Segment Id: segment ID 番号。
    - Segment Name: segment 名。
    - Audience Id: parent segment 番号。


1. **Schedule** を設定します。


![](/assets/snippet-output-connector-on-audience-studio-2024-08-28.a99525173709da1eb537f839019fa7876ffae95045154c8f2941b030022f792c.8ebdf569.png)

- スケジュールを定義する値を選択し、オプションでメール通知を含めます。


1. **Create** を選択します。


batch journey の activation を作成する必要がある場合は、[Creating a Batch Journey Activation](/products/customer-data-platform/journey-orchestration/batch/creating-a-batch-journey-activation) を参照してください。

## （オプション）ワークフローでのエクスポート結果の設定

Treasure ワークフロー内で、このデータコネクタを使用してデータをエクスポートすることを指定できます。

詳細については、[Using Workflows to Export Data with the TD Toolbelt](https://docs.treasuredata.com/smart/project-product-documentation/exporting-data-with-parameters)を参照してください。

## （オプション）CLIを使用したエクスポート統合

[TD Toolbelt](https://toolbelt.treasuredata.com/)を使用して、CLIからGoogle Driveへのクエリ結果のエクスポートをトリガーできます。td queryコマンドの--resultオプションを使用して、エクスポートジョブのパラメータを指定する必要があります。詳細については、[Querying and Importing Data to Treasure Data from the Command Line](https://docs.treasuredata.com/smart/project-product-documentation/querying-and-importing-data-to-treasure-data-from-the-command-line)を参照してください。


```bash
td query --database your_database --result configuration query
```

次の表は、設定キーとその説明を示しています。

| **Config Key** | **Type** | **Required** | **Description** |
|  --- | --- | --- | --- |
| type | string | yes | エクスポートタイプ: google_drive |
| file_name | string | yes | アップロードするファイルの名前。 |
| `duplicate_option` | string | yes | **allow_duplication、replace、append_datetime**のいずれか |
| `folder_id` | string | No | 親フォルダのID。空の場合はドライブのルートフォルダが使用されます。 |
| `create_new_folder` | boolean | No | デフォルトはfalseです。新しいフォルダの作成が必要な場合はチェックします。 |
| `new_folder_name` | string | No | `Create New Folder`がチェックされている場合に必要です。 |
| `format` | string | No | **csv、tsv**のいずれか。デフォルトはcsvです。 |
| `skip_invalid_records` | boolean | No | trueに設定すると、無効なレコードをスキップし、有効なレコードのアップロードを続行します。     falseに設定すると（デフォルト）、無効なレコードが検出されたときにジョブを終了します。 |


### サンプルCLI


```bash
td query --database [database name] --query '[sql query]' --type presto \
--result '{"type":"google_drive","file_name":"[file name]","client_id":"[oauth client id]","client_secret":"[oauth client secret]","refresh_token":"[oauth refresh token]","folder_id": "[parent folder id]","create_new_folder": true,"new_folder_name": "[new folder name]"}';
```

### CSV Formatter & Encoder

csv、tsv形式を設定するには、[https://www.embulk.org/docs/built-in.html#csv-formatter-plugin](https://www.embulk.org/docs/built-in.html#csv-formatter-plugin)を参照してください。

エンコーダを設定するには、[Encryptio Encoder for Output Plugin](/ja/int/embulk-encoder-encryption-pgp)を参照してください。

## 関連項目

- [Scheduling Data Connector Job Execution from the CLI](/ja/int/scheduling-a-data-connector-job-execution-from-the-cli)