CLI を使用して接続を設定できます。
このトピックには以下が含まれます:
- -c、--config CONFIG_FILE オプションを使用した td connector:update によるコネクタ設定の更新はサポートされていません。
ターミナルを開き、次のコマンドを実行して最新の Treasure Data Toolbelt をインストールします。
$ td --version
0.11.10Guess と Preview は、リスト内のリード、プログラム内のリードでサポートされています。
以下の例に示すように、パラメータを指定して seed.yml を準備します
in:
type: marketo
<parameter: value>
out:
<mode: append| パラメータ | 値 | 説明 |
|---|---|---|
| account_id | string | これらの値は、Marketo の Admin > Web Services ページで確認できます。必要に応じて、Marketo のドキュメントで認証情報へのアクセスに関する詳細情報を確認できます: http://developers.marketo.com/blog/quick-start-guide-for-marketo-rest-api/ |
| client_id | string | |
| client_secret | string | |
| target | string | 次のターゲットのインポートをサポートします: - lead - activity - campaign - all_lead_with_list_id - all_lead_with_program_id - program - custom_object - program_members |
| list_ids | string | target: all_lead_with_list_id。カンマ区切りのリスト ID。このフィールドを空白のままにすると、すべての個人レコードをインポートします。 |
| program_ids | string | **target: all_lead_with_program_id |
| activity_type_ids | string | target: activity。特定のタイプのアクティビティのみをフィルタリングします。指定しない場合はすべてのタイプを取得します。 |
| incremental | boolean | **target: lead |
| use_updated_at | boolean | target: lead。デフォルトでは、リードのインポートは createdAt 列でフィルタリングされます。選択すると、updatedAt 列でデータをフィルタリングします。この機能は、すべての Marketo サブスクリプションで利用できるわけではありません。https://developers.marketo.com/rest-api/bulk-extract/bulk-lead-extract/#filters を参照してください |
| from_date | string | **target: lead |
| fetch_days | integer | **target: lead |
| escape | string | **target: lead |
| quote | string | **target: lead |
| query_by | string | target: program. サポートされる値: tag_type |
| tag_type | string | target: program。フィルタリングする Marketo タグのタイプ |
| tag_value | string | target: program。Marketo プログラムをフィルタリングするタグ値 |
| earliest_updated_at | string | target: program。この日付以前のプログラムを除外します。有効な ISO-8601 文字列である必要があります。Datetime フィールドタイプの説明を参照してください。 |
| latest_updated_at | string | target: program。この日付以降のプログラムを除外します。有効な ISO-8601 文字列である必要があります。Datetime フィールドタイプの説明を参照してください。 |
| filter_type | string | target: program。サポートされるフィルタタイプ: - id - programId - folderId - workspace |
| filter_values | string array | target: program。フィルタ値 |
| custom_object_api_name | string | target: custom_object. カスタムオブジェクトの API 名 |
| custom_object_fields | string | target: custom_object. カスタムオブジェクトのフィールドのカンマ区切り API 名 (オプション)。 |
| custom_object_filter_type | string | target: custom_object. 結果をフィルタリングするために使用するカスタムオブジェクトのフィールドの API 名。整数フィールドのみをサポートします。 |
| custom_object_filter_values | string | target: custom_object. 一致するフィールド値のカンマ区切りリスト。この値が設定されている場合、custom_object_filter_from_value および custom_object_filter_to_value は無視されます |
| custom_object_filter_from_value | integer | target: custom_object. この値より大きい値を持つ Marketo カスタムオブジェクトをフィルタリングします |
| custom_object_filter_to_value | integer | target: custom_object. この値より小さい値を持つ Marketo カスタムオブジェクトをフィルタリングします。設定されていない場合、「From Value」より大きい値を持つレコードのみが返されます。300 回連続で値が見つからない場合、ジョブは停止します。 |
| included_fields | string array | データインポートに含めるリードフィールドのリストを追加します。リードファミリーターゲットにのみ影響します。 |
| marketo_limit_interval_milis | integer | リクエストが Marketo の同時実行制限に達した場合に次の呼び出しを待機する時間 (デフォルト 20000 ~ 20 秒) |
| maximum_retries | integer | エラーが発生した場合に Marketo リクエストを再試行する最大回数 (デフォルト 7) |
| batch_size | integer | Marketo REST API バッチサイズ (デフォルト 300) |
| max_return | integer | 単一のリクエストで返される最大レコード数。プログラムエンドポイントはページングにオフセットを使用します (デフォルト 200) |
| bulk_job_timeout_second | integer | ジョブが失敗する前にバルク抽出を待機する合計時間 (デフォルト 3600 ~ 1時間) |
| polling_interval_second | integer | ジョブステータスをポーリングする間隔 (デフォルト 60 秒) |
| read_timeout_millis | integer | Marketo レスポンスを待機する時間 (デフォルト 60000~ 60 秒) |
この設定は、「replace」モードが指定されているため、target フィールドで指定された Marketo オブジェクトをダンプします。
利用可能な出力モードの詳細については、付録を参照してください。
connector:guess を使用します。このコマンドは、ターゲットファイルを自動的に読み取り、ファイル形式を評価し(ロジックを使用して推測)、load.yml に出力します。ファイル load.yml には、リードのスキーマが含まれます。
td connector:guess seed.yml -o load.ymlload.yml を開くと、場合によってはファイル形式、エンコーディング、列名、タイプなど、評価されたファイル形式の定義が表示されます。
次に、preview コマンドを使用して、システムがファイルをどのように解析するかをプレビューできます。
td connector:preview load.ymlシステムが列名またはタイプを誤って検出した場合は、load.yml を直接変更して再度プレビューします。
Data Connector は、「boolean」、「long」、「double」、「string」、および「timestamp」タイプの解析をサポートしています。
ロードジョブを送信します。データサイズによっては数時間かかる場合があります。ユーザーは、データが保存されるデータベースとテーブルを指定する必要があります。
td connector:issue load.yml \
--database td_sample_db \
--table td_sample_table \
--time-column activity_date_timeconnector:issue コマンドは、すでにデータベース(td_sample_db) とテーブル(td_sample_table) が作成されていることを前提としています。データベースまたはテーブルがTDに存在しない場合、このコマンドは失敗しますので、データベースとテーブルを手動で作成するか、td connector:issue コマンドで --auto-create-table オプションを使用してデータベースとテーブルを自動作成してください:
td connector:issue load.yml \
--database td_sample_db \
--table td_sample_table \
--time-column activity_date_time \
--auto-create-table"--time-column" オプションを使用して、Time Format カラムを「パーティショニングキー」に割り当てることができます。
定期的なMarketo インポートのために、定期的なデータコネクタの実行をスケジュールすることができます。高可用性を確保するために、スケジューラーは慎重に設定されています。この機能を使用することで、ローカルデータセンターで cron デーモンを実行する必要がなくなります。
スケジュールインポートの場合、Data Connector for Marketo はすべてのレコードをインポートします。
新しいスケジュールは、td connector:create コマンドを使用して作成できます。スケジュール名、cron形式のスケジュール、データが格納されるデータベースとテーブル、およびData Connector設定ファイルが必要です。
$ td connector:create \
daily_marketo_leads_import \
"10 0 * * *" \
td_sample_db \
td_sample_table \
load.ymlcron パラメータは、@hourly、@daily、@monthly の3つの特別なオプションも使用できます。詳細については、Scheduled Jobsを参照してください。
デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。-t または —timezone オプションを使用して、タイムゾーンでスケジュールを設定できます。--timezone オプションは、'Asia/Tokyo'、'America/Los_Angeles' などの拡張タイムゾーン形式のみをサポートしています。PST、CST などのタイムゾーン略語はサポートされておらず、予期しないスケジュールになる可能性があります。
td connector:list を使用して、スケジュールエントリのリストを表示できます。
$ td connector:list
+-----------------------------------+---------------+----------+-------+-----------------+----------------------+
| Name | Cron | Timezone | Delay | Database | Table |
+-----------------------------------+---------------+----------+-------+-----------------+----------------------+
| daily_marketo_leads_import. | 10 0 * * * | UTC | 0 | td_sample_table | sample_table |
+-----------------------------------+---------------+----------+-------+-----------------+----------------------+td connector:show は、スケジュールエントリの実行設定を表示します。
% td connector:show daily_marketo_leads_importtd connector:history は、スケジュールエントリの実行履歴を表示します。各実行の結果を調査するには、td job jobid を使用してください。
td connector:history daily_marketo_leads_importtd connector:delete は、スケジュールを削除します。
$ td connector:delete daily_marketo_leads_importseed.yml の out セクションで、ファイルインポートモードを指定できます。
これはデフォルトのモードで、レコードはターゲットテーブルに追加されます。
in:
...
out:
mode: appendこのモードは、ターゲットテーブルのデータを置き換えます。ターゲットテーブルに手動で加えたスキーマの変更は、このモードでは保持されます。
in:
...
out:
mode: replace