# Karte Export Integration

[Learn more about KARTE Import Integration](/ja/int/karte-import-integration)を参照してください。

Karteコネクタを使用して、Treasure Dataで実行したクエリのジョブ結果をGoogle Cloud Storageに書き込むことができます。

# 前提条件

- [Toolbelt](https://toolbelt.treasuredata.com/)を含むTreasure Dataの基本的な知識
- Google Cloud Platformアカウント


# Google Cloud Platformの認証情報を取得する

コネクタを作成する前に、以下の情報を収集する必要があります：*Project ID*と*JSON Credential*です。

## JSON Credential

Google Cloud Storageとの統合は、サーバー間API認証に基づいています。*Google Developer Console*に移動し、左側のメニューの*APIs & auth*の下にある**Credentials**を選択します。次に、**Service account**を選択します。

![](/assets/image-20191002-134701.439a883f70e8d8d23edfb7dd8443b07cbf84c337e1e83b8fc34d613648729db6.45d33724.png)

*JSON*ベースのキータイプを選択してください。これはGoogleの推奨設定です。キーはブラウザによって自動的にダウンロードされます。

![](/assets/image-20191002-135027.40548c465aab9c1206e754feddfea9ce75b35a6f1758bbc448c6058fca0f710d.45d33724.png)

JSON Credentialsを生成したService Accountの所有者は、宛先バケットに対する書き込み権限を持っている必要があります。

# KARTEコネクタで出力を指定する

## Treasure コンソールを使用する

### Google Cloud Storageに宛先バケットを作成する

Google Cloud Storageコンソールから*バケット*を作成します。

### クエリを記述する

[Treasure コンソールクエリエディタページ](https://console.treasuredata.com/app/queries/editor)に移動し、クエリをコンパイルします。

### Result Exportターゲットを指定する

同じウィンドウで、*Result Export*の**Create New Connection**を選択します。

![](/assets/image-20191002-134829.388713a639208dedf7274c5ce4a5635d96a085dd5638e16ad520b5441ecd6da2.45d33724.png)

開いたダイアログで、接続タイプ*KARTE*を検索して選択します。*KARTE*接続の名前を指定します。JSON Credential、Bucket name、Pathを含む情報を入力します：

![](/assets/image-20191002-134857.656a9f0de46cfb1fd35ed35b84c57cdb29c512644f868b21f9d063d1ebca8c9f.45d33724.png)

![](/assets/image-20191002-134934.06e85952c6070679f8d059ac8fe564d9ebe46f729e3420d08d3abbc1efe88dda.45d33724.png)

### クエリを実行する

最後に、クエリに名前を付けて保存するか、単にクエリを実行します。クエリが正常に完了すると、結果は指定されたGoogle Cloud Storageの宛先に自動的に送信されます。

![](/assets/image-20191002-134949.40e5f9cff9bab28ade6ce38bc95fec50f470b84b0c1c75dae446b32e80489edd.45d33724.png)

## 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) を参照してください。

## CLIを使用する

KARTEを使用してジョブ結果をGoogle Cloud Storageに送信するように、スケジュール済みクエリを設定できます。

json_keyを指定し、改行をバックスラッシュでエスケープします。

**例**


```
$ td sched:create scheduled_karte "10 6 * * *" \
-d dataconnector_db "SELECT id,account,purchase,comment,time FROM data_connectors" \
-r '{"type":"karte","bucket":"samplebucket","path_prefix":"/output/test.csv","format":"csv","compression":"","header_line":false,"delimiter":",","null_string":"","newline":"CRLF",  "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\"}"}'
```

## (オプション) Workflowでエクスポート結果を設定する

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


```
timezone: UTC

_export:
  td:
    database: sample_datasets

+td-result-into-target:
  td>: queries/sample.sql
  result_connection: karte_integration
  result_settings:
    bucket: your_bucket
    path_prefix: dir/example.csv.gz
    format: csv
    compression: gz
    newline: CR
    ....
```

Treasure ワークフローでデータコネクタを使用してデータをエクスポートする方法の詳細については、[Exporting Data with Parameters](/products/customer-data-platform/data-workbench/workflows/exporting-data-with-parameters)を参照してください。

## KARTEコネクタのパラメータ

KARTEコネクタを設定する際に、以下のパラメータを使用できます。

| **bucket** | バケット名 |
|  --- | --- |
| **path_prefix** | ファイルパス |
| **format** | "csv"または"tsv" |
| **compression** | ""または"gz"、"encryption_pgp" |
| public key | ファイルをアップロードする前に暗号化するために使用される公開鍵 |
| Key Identifier | ファイルを保護するために使用される暗号化サブキーのKey IDを指定します。マスターキーは暗号化プロセスから除外されます。 |
| Amor | ASCII armorを使用するかどうか |
| Compression Type | - ファイルを圧縮するために使用される圧縮アルゴリズムを定義します。ファイルはSFTPサーバーへのアップロードのために暗号化される前に圧縮されます。- **注意：ファイルは暗号化してアップロードする前に圧縮してください。復号化すると、ファイルは.gzや.bz2などの圧縮形式に戻ります。** |
| **header_line** | trueまたはfalse |
| **delimiter** | ","または"\t"または" |
| **null_string** | ""または"\N" |
| **newline** | "CRLF"または"CR"または"LF" |