ジョブの結果をGoogle Cloud Storageに直接書き込むことができます。
- TD Toolbeltを含む、Treasure Dataの基本的な知識。
- 特定の権限を持つGoogle Cloud Platformアカウント
セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。
リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります: IP Addresses for Integrations
Cloud Storageバケットの一覧を表示します。バケットは名前のアルファベット順に表示されます。
プロジェクト内のバケットを一覧表示するには:
- Google Cloud ConsoleでCloud Storageブラウザを開きます。
- 左メニューでCloud Storageを選択し、Bucketsを選択します。

現在選択されているプロジェクトに属するバケットがブラウザリストに表示されます。
新しいストレージバケットを作成するには:
- Google Cloud ConsoleでCloud Storageブラウザを開きます。
- Create bucketを選択してバケット作成フォームを開きます。

バケット情報を入力し、各ステップでContinueを選択して完了します:
- バケット名の要件に従ってNameを指定します。
- バケットデータが永続的に保存されるLocation typeとLocationを選択します。
- バケットのDefault storage classを選択します。デフォルトストレージクラスは、バケットにアップロードされるすべてのオブジェクトにデフォルトで割り当てられます。
- バケットのオブジェクトへのアクセスを制御する方法を決定するAccess controlモデルを選択します。Workload Identity Federationをサポートするには、Uniformを選択してください。

- オプションで、Data protectionとData encryptionを設定できます。
Createを選択します。
Google Cloud Storageとの連携は、サーバー間API認証に基づいています。
JSON認証情報の生成に使用するサービスアカウントには、Storage Object Userの権限が必要です。
Google Developer Consoleにアクセスします。
左メニューのAPIs & ServicesからCredentialsを選択します。

Create credentialsを選択し、Service accountを選択します:

PermissionsからStorage Object User Roleを追加します。
IAM & Admin / Workload Identity Poolsで「create pool」を選択するか、既存のPoolを選択します。

アカウントID 523683666290 でAWSプロバイダーを追加します。

Configure provider attributesからAdd mappingをクリックします。属性名をattribute.account、値をassertion.accountとして追加し、Saveをクリックします。
Workload Identity Poolsから作成したPoolを選択し、Connected service accountsからDownload configを選択します。

アカウントID 523683666290 用に作成したAWSプロバイダーを選択し、Downloadをクリックして設定ファイル(Application default credential キーファイル)を保存します。
バケットリストから出力先バケットを選択し、permissionsタブをクリックします。
Grant accessをクリックし、Principals値としてprincipalSet://iam.googleapis.com/projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}/attribute.account/523683666290を追加し、ロールとしてStorage Object Userを付与します。

Treasure Dataでは、クエリを実行する前にデータ接続を作成および設定する必要があります。データ接続の一部として、連携先にアクセスするための認証情報を提供します。
Treasure コンソールを開きます。
Integrations Hub > Catalogに移動します。
Google Cloud Storage V2を検索して選択します。

Create Authenticationを選択します。
Authentication Methodを選択し、認証情報を入力します。

接続の名前を入力します。
Continueを選択します。
Creating a Destination Integrationの手順を完了します。
Data Workbench > Queriesに移動します。
データをエクスポートするクエリを選択します。
クエリを実行して結果セットを検証します。
Export Resultsを選択します。
既存の連携認証を選択します。

追加のExport Resultsの詳細を定義します。エクスポート連携の内容で、連携パラメータを確認します。たとえば、Export Results画面が異なる場合や、追加の詳細を入力する必要がない場合があります。

Doneを選択します。
クエリを実行します。
指定した出力先にデータが移動したことを確認します。
| パラメータ | 必須 | 説明 |
|---|---|---|
| Bucket | はい | Google Cloud Storageのバケット名 |
| File Path | はい | ファイル名を含むオブジェクトパス。例:path/to/filename.csv |
| Content type | いいえ | 出力ファイルのMIMEタイプ。デフォルト値:application/octet-stream |
| Format | いいえ | 出力ファイルのフォーマット。デフォルト値:csv |
| Encoders | いいえ | エクスポートされたファイルに適用される圧縮。デフォルト値:none |
| Public Key | はい(EncodersがPGP Encryptionの場合) | 暗号化に使用する公開鍵。 |
| Key Identifier | いいえ(EncodersがPGP Encryptionの場合のみ適用) | 暗号化に使用する公開鍵のKey IDまたはFingerprint(16進数文字列) |
| Armor | いいえ(EncodersがPGP Encryptionの場合のみ適用) | ASCIIアーマーを使用するかどうか(暗号化に使用する公開鍵の16進数文字列) |
| Compression Type | いいえ(EncodersがPGP Encryptionの場合のみ適用) | ファイルの圧縮に使用する圧縮アルゴリズムを指定します。デフォルト値:none |
| Header line? | いいえ | 最初の行にカラム名を含むヘッダー行を書き込みます。デフォルト値:true |
| Delimiter | いいえ | カラムの区切り文字。デフォルト値:Default |
| Null string | いいえ | NULL値の代替文字列。デフォルト値:Default |
| End-of-line character | いいえ | 行終端文字。デフォルト値:CRLF |
SELECT
col_1
FROM
tbl
WHERE col_1 != 'email'クエリが正常に完了すると、結果は指定したGoogle Cloud Storageの出力先に自動的にインポートされます:

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。
- Audience Studio に移動します。
- parent segment を選択します。
- ターゲット segment を開き、右クリックして、Create Activation を選択します。
- Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
- Output Mapping パネルで activation 出力をカスタマイズします。

- 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 番号。
- + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
- Schedule を設定します。

- スケジュールを定義する値を選択し、オプションでメール通知を含めます。
- Create を選択します。
batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。
以下のコマンドを使用して、クエリ結果をGoogle Cloud Storageに送信するスケジュールクエリを設定できます。
認証モードJSONKeyの場合
- 以下のサンプル構文でJSON keyを指定します。
- バックスラッシュを使用して、コード構文を壊さずに改行できます。
'{"type":"gcs_v2","bucket":"samplebucket","file_path":"output/test.csv","format":"csv","compression":"none","header_line":false,"delimiter":",","null_string":"","newline":"CRLF","auth_method":"json_key","json_keyfile":"{\"private_key_id\": \"ABCDEFGHIJ\", \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nABCDEFGHIJ\\ABCDEFGHIJ\\n-----END PRIVATE KEY-----\\n\", \"client_email\": \"ABCDEFGHIJ@developer.gserviceaccount.com\", \"client_id\": \"ABCDEFGHIJ.apps.googleusercontent.com\", \"type\": \"service_account\"}"}'認証モードWorkload Identity Federationの場合
- 以下のサンプル構文でADC keyを指定します。
- バックスラッシュを使用して、コード構文を壊さずに改行できます。
'{"type":"gcs_v2","bucket":"samplebucket","file_path":"output/test.csv","format":"csv","compression":"none","header_line":false,"delimiter":",","null_string":"","newline":"CRLF","auth_method":"wif","adc_keyfile":"{\"universe_domain\": \"googleapis.com\"......}"}'例:
$ td sched:create scheduled_gcs_v2 "10 6 * * *" \
-d dataconnector_db "SELECT id,account,purchase,comment,time FROM data_connectors" \
-r '{"type":"gcs_v2","bucket":"samplebucket","file_path":"output/test.csv","format":"csv","compression":"none","header_line":false,"delimiter":",","null_string":"","newline":"CRLF","auth_method":"json_key","json_keyfile":"{\"private_key_id\": \"ABCDEFGHIJ\", \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nABCDEFGHIJ\\ABCDEFGHIJ\\n-----END PRIVATE KEY-----\\n\", \"client_email\": \"ABCDEFGHIJ@developer.gserviceaccount.com\", \"client_id\": \"ABCDEFGHIJ.apps.googleusercontent.com\", \"type\": \"service_account\"}"}'パラメータ
| パラメータ | データ型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|
| bucket | string | はい | N/A | Google Cloud Storageのバケット名 |
| file_path | string | はい | N/A | ファイル名を含むオブジェクトパス。例:path/to/filename.csv |
| content_type | string | いいえ | application/octet-stream | 出力ファイルのMIMEタイプ。 |
| format | string | いいえ | csv | 出力ファイルのフォーマット。サポートされる値:csv/tsv |
| compression | string | いいえ | none | エクスポートされたファイルに適用される圧縮。サポートされる値:'none', 'gz', 'bzip2', 'encrypt_pgp' |
| public_key | string | はい(compressionがencrypt_pgpの場合) | N/A | 暗号化に使用する公開鍵。 |
| key_identifier | string | いいえ(compressionがencrypt_pgpの場合のみ適用) | N/A | 暗号化に使用する公開鍵のKey IDまたはFingerprint(16進数文字列) |
| armor | string | いいえ(compressionがencrypt_pgpの場合のみ適用) | N/A | ASCIIアーマーを使用するかどうか(暗号化に使用する公開鍵の16進数文字列) |
| compression_type | string | いいえ(compressionがencrypt_pgpの場合のみ適用) | N/A | ファイルの圧縮に使用する圧縮アルゴリズムを指定します。サポートされる値:'none', 'gzip', 'bzip2', 'bzip2_built_in', 'zip_built_in', 'zlib_built_in' |
| header_line | boolean | いいえ | true | 最初の行にカラム名を含むヘッダー行を書き込みます。サポートされる値:true/false |
| delimiter | string | いいえ | default | カラムの区切り文字。サポートされる値:'default', ',', '\t', '|' |
| null_string | string | いいえ | default | NULL値の代替文字列(string、オプション)。サポートされる値:'default', '', '\N', 'NULL', 'null' |
| newline | string | いいえ | CRLF | 行終端文字(string、オプション)。サポートされる値:'CRLF', 'LF', 'CR' |
- Result Exportは、定期的にターゲットの出力先にデータをアップロードするようにスケジュールできます。
- すべてのインポートおよびエクスポート連携はTreasure ワークフローに追加できます。td workflowオペレーターを使用して、クエリ結果を指定したコネクタにエクスポートできます。詳細については、Workflow Operatorsを参照してください。
Embulk-encoder-Encryptionドキュメント
注意:ファイルを暗号化してアップロードする前に、必ず圧縮してください。
非ビルトイン暗号化を使用して復号する場合、ファイルは.gzや.bz2などの圧縮形式に戻ります。
ビルトイン暗号化を使用して復号する場合、ファイルは生データに戻ります。