Sansanに作成した名刺をインポートして分類できます。また、タグ名が付いた名刺もインポートできます。
- TD Toolbeltの使用経験を含む、Treasure Dataの基本知識
- Sansan API キー
- 認証された Treasure Data アカウントへのアクセス
Sansan API キーを取得するには:
- Sansanにログインし、Settingsを選択します。

- 設定ページのナビゲーションバーからAPI Keyを選択し、API Keyをコピーします。

TD ConsoleでSansan接続を作成するには:
TD Consoleを開きます。
Integrations Hub > Catalogに移動します。
カタログ画面の右端にある検索アイコンをクリックし、Sansanと入力します。
Sansanコネクタにカーソルを合わせ、Create Authenticationを選択します。

Create Authenticationを選択します。 New Authenticationダイアログが開きます。

Sansan API Keyを入力します。
Continueを選択します。
Sansan接続の名前を入力します。
Doneを選択します。
Sansan接続の認証を作成するには:
- TD Consoleから、Integrations Hub > Authenticationsに移動します。
- 画面の右端にある検索アイコンをクリックし、Sansanと入力します。

New Sourceを選択します。 Create Sourceダイアログが表示されます。ダイアログには以下のページがあります:
- Connection
- Source Table
- Data Settings
- Data Preview
- Data Placement
各ページでソースの詳細を入力します。
- Data Transfer Name - 名前を入力します。
- Data Type — Business CardまたはTagを選択します。
Tag
Tag Range — AllまたはMeを選択します。
Business Card
Import a set of business cards based on — TermまたはConditionを選択します。Termを選択すると、指定した期間内に更新されたカードをインポートします。Conditionを選択すると、指定したタグ名に基づいてカードをインポートします。
- Include previous business card information — 過去の名刺を含めます。同一人物として認識された名刺を個別のカードとしてインポートする場合は、このボックスをチェックします。
- Include Tags? — 割り当てられたタグと共に名刺をインポートします。タグを名刺データに含める場合は、このボックスをチェックします。
- Filter by range of holder: — 名刺の範囲は「me」(自分が保有するカードのみ)または「all」(自分が閲覧できる範囲内のすべてのカード)として指定できます。
Term
- Data Card Updated From — この時刻以降に更新された名刺をインポートします。時刻はUTCで設定されます。
- Data Card Updated To — この時刻までに更新された名刺をインポートします。時刻はUTCで設定されます。
- Incremental — スケジュールに基づいてインポートする場合、取得されるデータの時間枠は実行ごとに自動的に前進します。例えば、初期設定が1月1日で期間が10日間の場合、最初の実行は1月1日から1月10日までに変更されたデータを取得し、2回目の実行は1月11日から1月20日まで、というように続きます。
Condition
- Filter by Tag: タグを含む名刺をインポートします。タグでインポートする場合は、これを選択します。選択した場合は、タグ名を指定する必要があります。タグで名刺をマッチングしない場合は、ボックスをチェックしないでください。
- Tag Name: 指定した添付タグ名を持つ名刺をインポートします。1つの名前のみを入力してください。例: 'Treasure_Data'と入力すると、Treasure_Dataタグ名を含むすべての名刺がインポートされます。
- Tag range: タグホルダーの範囲を指定します。MeまたはAllの範囲内で添付タグを持つ名刺をインポートします。
- Page size. Sansan REST APIへの各呼び出しで返されるレコード数を決定します。
Type: number
Default: 300- Maximum retry times. 各API呼び出しの最大リトライ回数を指定します。
Type: number
Default: 3
- 初回リトライ間隔(ミリ秒)。最初のリトライまでの待機時間を指定します。
Type: number Default: 20000
- 最大リトライ間隔(ミリ秒)。リトライ間の最大待機時間を指定します。
Type: number Default: 120000
### Data Preview
インポートを実行する前に、Generate Preview を選択してデータの[プレビュー](/products/customer-data-platform/integration-hub/Batch/Import/previewing-your-source-data.md)を表示できます。Data preview はオプションであり、選択した場合はダイアログの次のページに安全にスキップできます。
1. **Next** を選択します。Data Preview ページが開きます。
2. データをプレビューする場合は、**Generate Preview** を選択します。
3. データを確認します。
### Data Placement
データの配置について、データを配置したいターゲット database と table を選択し、インポートを実行する頻度を指定します。
1. **Next** を選択します。Storage の下で、インポートされたデータを配置する新しい database を作成するか、既存の database を選択し、新しい table を作成するか、既存の table を選択します。
2. **Database** を選択 > **Select an existing** または **Create New Database** を選択します。
3. オプションで、database 名を入力します。
4. **Table** を選択 > **Select an existing** または **Create New Table** を選択します。
5. オプションで、table 名を入力します。
6. データをインポートする方法を選択します。
- **Append** (デフォルト) - データインポートの結果は table に追加されます。
table が存在しない場合は作成されます。
- **Always Replace** - 既存の table の全体の内容をクエリの結果出力で置き換えます。table が存在しない場合は、新しい table が作成されます。
- **Replace on New Data** - 新しいデータがある場合のみ、既存の table の全体の内容をクエリの結果出力で置き換えます。
7. **Timestamp-based Partition Key** 列を選択します。
デフォルトキーとは異なるパーティションキーシードを設定したい場合は、long または timestamp 列をパーティショニング時刻として指定できます。デフォルトの時刻列として、add\_time フィルターで upload\_time を使用します。
8. データストレージの **Timezone** を選択します。
9. **Schedule** の下で、このクエリを実行するタイミングと頻度を選択できます。
#### 一度だけ実行
1. **Off** を選択します。
2. **Scheduling Timezone** を選択します。
3. **Create & Run Now** を選択します。
#### 定期的に繰り返す
1. **On** を選択します。
2. **Schedule** を選択します。UI では、*@hourly*、*@daily*、*@monthly*、またはカスタム *cron* の 4 つのオプションが提供されます。
3. **Delay Transfer** を選択して、実行時間の遅延を追加することもできます。
4. **Scheduling Timezone** を選択します。
5. **Create & Run Now** を選択します。
転送が実行された後、**Data Workbench** > **Databases** で転送の結果を確認できます。
## コマンドラインを使用したSansan接続の作成
TD Consoleを使用して接続を設定できます。
1. 最新の[Treasure Data Toolbelt](https://toolbelt.treasuredata.com/)をインストールします。
2. 設定ファイル「load.yml」を作成します。
設定ファイルには、Sansanからコネクタに入力される内容を指定するin:セクションと、コネクタからTreasure Dataのデータベースに出力される内容を指定するout:セクションが含まれます。利用可能なoutモードの詳細については、付録を参照してください。
次の例は、指定されたTermに基づいて、インクリメンタルスケジューリングなしで名刺をインポートする方法を示しています。
```yaml
in:
type: sansan
api_key: "api key"
target: bizcard
query_by: "term"
biz_range: "all"
include_prev_card: true
include_tags: true
out:
mode: append次の例は、指定されたTermに基づいて、インクリメンタルスケジューリングありで名刺をインポートする方法を示しています。
in:
type: sansan
api_key: "api key"
target: bizcard
query_by: "term"
biz_range: "all"
include_prev_card: true
include_tags: true
updated_from: "2018-11-01T00:00:00.000Z"
updated_to: "2018-11-12T00:00:00.000Z"
incremental: true
out:
mode: append次の例は、タグフィルタなしで、指定されたConditionに基づいて名刺をインポートする方法を示しています。
in:
type: sansan
api_key: "api key"
target: bizcard
query_by: "condition"
biz_range: "all"
include_prev_card: true
include_tags: true
out:
mode: append次の例は、タグフィルタありで、指定されたConditionに基づいて名刺をインポートする方法を示しています。
in:
type: sansan
api_key: "api key"
target: bizcard
query_by: "condition"
biz_range: "all"
include_prev_card: true
include_tags: true
gbiz_tag_filter: true
biz_tag_name: "tag name"
biz_tag_range: "all"
out:
mode: append次の例は、タグのみをインポートする方法を示しています。
in:
type: sansan api_key: "api key"
target: tag
tag_range: "all"
out:
mode: appendコマンド td connector:preview を使用して、インポートされるデータをプレビューできます。
$ td connector:preview load.ymltd connector:issue を使用してジョブを実行します。
ロードジョブを実行する前に、データを保存するデータベースとテーブルを指定する必要があります。例:td_sample_db または td_sample_table。
$ td connector:issue load.yml \
--database td_sample_db \
--table td_sample_table \
--time-column date_time_columnTreasure Data のストレージは時間によってパーティション化されているため、Treasure Data では --time-column オプションを指定することを推奨しています。このオプションを指定しない場合、データコネクタは最初の long 型列、または最初の timestamp 型列をパーティショニング時間として選択します。--time-column で指定する列の型は、long 型または timestamp 型である必要があります。利用可能な列名と型を確認するには、プレビュー結果を使用できます。一般的に、ほとんどのデータ型には「last_modified_date」列があります。
データに時間列がない場合は、add_time フィルターオプションを使用して列を追加できます。詳細は add_time filter プラグインを参照してください。
td connector:issue は、データベース(例:sample_db)とテーブル(例:sample_table)が既に作成されていることを前提としています。データベースまたはテーブルが TD に存在しない場合、td connector:issue は失敗します。そのため、データベースとテーブルを手動で作成するか、td connector:issue で --auto-create-table を使用してデータベースとテーブルを自動的に作成する必要があります。
$ td connector:issue load.yml \
--database td_sample_db \
--table td_sample_table \
--time-column date_time_column \
--auto-create-table最後に、コマンドラインからロードジョブを送信します。データサイズによっては、処理に数時間かかる場合があります。
定期的な Sansan インポートのために、データコネクタの定期実行をスケジュールできます。高可用性を確保するために、スケジューラを慎重に設定してください。この機能を使用することで、ローカルデータセンターに cron デーモンを配置する必要がなくなります。
スケジュール実行は、Sansan からのデータ取得を定期的に試行する際のデータコネクタの動作を制御する設定パラメータをサポートしています:
incrementalこの設定は、ロードモードを制御するために使用されます。ロードモードは、各オブジェクトに関連付けられたネイティブタイムスタンプフィールドの1つに基づいて、データコネクタが統合からデータを取得する方法を管理します。columnsこの設定は、Treasure Data にインポートされるデータのカスタムスキーマを定義するために使用されます。ここでは、興味のある列のみを定義できますが、取得するオブジェクトに存在することを確認してください。そうでない場合、これらの列は結果に含まれません。last_recordこの設定は、前回のロードジョブからの最後のレコードを制御するために使用されます。列名のkeyと列の値のvalueを含むオブジェクトが必要です。keyは Sansan の列名と一致する必要があります。
td connector:create コマンドを使用して新しいスケジュールを作成できます。このコマンドには以下が必要です:
- スケジュールの名前
- cron 形式のスケジュール
- データを保存するデータベースの名前
- データを保存するテーブルの名前
- データコネクタ設定ファイル
- cron パラメータは次のオプションを受け付けます:'@hourly'、'@daily'、'@monthly'
デフォルトでは、スケジュールは UTC タイムゾーンに設定されています。-t または --timezone オプションを使用して、タイムゾーンでスケジュールを設定できます。--timezone オプションは、'Asia/Tokyo'、'America/Los_Angeles' などの拡張タイムゾーン形式のみをサポートしています。PST、CST などのタイムゾーン略語はサポートされておらず、予期しないスケジュールにつながる可能性があります。
例
$ td connector:create \
daily_import \
"10 0 * * *" \
td_sample_db \
td_sample_table \
load.ymlTreasure Data のストレージは時間によってパーティション化されているため、TD では --time-column オプションを指定することも推奨しています。
$ td connector:create \
daily_import \
"10 0 * * *" \
td_sample_db \
td_sample_table \
load.yml \
--time-column created_atコマンド td connector:list を入力すると、現在スケジュールされているエントリのリストを表示できます。
$ td connector:listtd connector:show はスケジュールの詳細を表示します。
td connector:show daily_import