# Google Audience Partner API Status Via SFTP Import CLI

### 'td' Command v0.11.9以降のインストール

最新の[TD Toolbelt](https://toolbelt.treasuredata.com/)をインストールしてください。


```
$ td --version
0.11.10
```

### Seedコンフィグファイルの作成 (seed.yml)


```
in:
  type: sftp_ddp
  file_names:
  - dmp_20180926_123456789.dat
out:
  mode: append
  exec: {}
```

### フィールドの推測 (load.ymlの生成)

*connector:guess*を使用してください。このコマンドは、ソースファイルを自動的に読み取り、ファイル形式を評価（推測ロジックを使用）します。


```
$ td connector:guess seed.yml -o load.yml
```

*load.yml*を開くと、推測されたファイル形式の定義が表示されます。この例では、CSVファイルをロードしようとしています。


```
in:
  type: sftp_ddp
  file_names:
  - dmp_20180926_10130066a050f4e68b46d5b052abaedb05dd2f.dat
out:
  mode: append
  exec: {}
```

次に、*preview*コマンドを使用して、システムがファイルをどのように解析するかをプレビューできます。


```
$ td connector:preview load.yml
+------------+---------------------------------+
| recordInfo | rawData                         |
+------------+---------------------------------+
|            | 1 lines were processed correctly|
| 1111111111 | Line 1111111111 could not find  |
```

### ロードジョブの実行

ロードジョブを送信します


```
$ td connector:issue load.yml --database td_sample_db --table td_sample_table
```

connector:issueコマンドは、すでに*database(td_sample_db)*と*table(td_sample_table)*を作成していることを前提としています。TreasureData内にデータベースまたはテーブルが存在しない場合、connector:issueコマンドは失敗するため、データベースとテーブルを[手動](https://docs.treasuredata.com/smart/project-product-documentation/data-management)で作成するか、*td connector:issue*コマンドで*--auto-create-table*オプションを使用してデータベースとテーブルを自動作成してください：


```
$ td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column created_at --auto-create-table
```

# スケジュール実行

増分SFTPファイルインポートのために、定期的なData Connectorの実行をスケジュールできます。高可用性を確保するために、スケジューラーを管理しています。この機能を使用することで、ローカルデータセンターに*cron*デーモンを用意する必要がなくなります。

## スケジュールの作成

新しいスケジュールは*td connector:create*コマンドを使用して作成できます。以下が必要です：スケジュール名、cron形式のスケジュール、データが保存されるデータベースとテーブル、およびData Connector設定ファイル。


```
$ td connector:create \
    daily_import \
    "10 0 * * *" \
    td_sample_db \
    td_sample_table \
    load.yml
```

`cron`パラメータは、3つの特別なオプション（`@hourly`、`@daily`、`@monthly`）も受け付けます。

デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。-tまたは--timezoneオプションを使用してタイムゾーンでスケジュールを設定できます。`--timezone`オプションは、'Asia/Tokyo'、'America/Los_Angeles'などの拡張タイムゾーン形式のみをサポートしていることに注意してください。PST、CSTなどのタイムゾーン略語はサポート*されておらず*、予期しないスケジュールになる可能性があります。

## スケジュールの一覧表示

*td connector:list*コマンドを実行すると、現在スケジュールされているエントリのリストを確認できます。


```
$ td connector:list
+--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------------+
| Name         | Cron         | Timezone | Delay | Database     | Table           | Config                                         |
+--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------------+
| daily_import | 10 0 * * *   | UTC      | 0     | td_sample_db | td_sample_table | {"in"=>{"type"=>"sftp_ddp", "access_key_id"....|
+--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------------+
```

## 設定の表示

*td connector:show*は、スケジュールエントリの実行設定を表示します。


```
% td connector:show daily_import
Name     : daily_import
Cron     : 10 0 * * *
Timezone : UTC
Delay    : 0
Database : td_sample_db
Table    : td_sample_table
Config
---
in:
  type: sftp_ddp
  file_names:
  - dmp_20180926_10130066a050f4e68b46d5b052abaedb05dd2f.dat
out:
  mode: append
  exec: {}
```

## スケジュールの削除

*td connector:delete*は、スケジュールを削除します。