Skip to content
Last updated

Google Audience Partner API Status Via SFTP Import CLI

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

最新のTD Toolbeltをインストールしてください。

$ 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コマンドは失敗するため、データベースとテーブルを手動で作成するか、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は、スケジュールを削除します。