Skip to content
Last updated

Sansan インポートインテグレーション

Sansanに作成した名刺をインポートして分類できます。また、タグ名が付いた名刺もインポートできます。

前提条件

  • TD Toolbeltの使用経験を含む、Treasure Dataの基本知識
  • Sansan API キー
  • 認証された Treasure Data アカウントへのアクセス

Sansan API キー情報の取得

Sansan API キーを取得するには:

  1. Sansanにログインし、Settingsを選択します。
  2. 設定ページのナビゲーションバーからAPI Keyを選択し、API Keyをコピーします。

TD Consoleを使用した接続の作成

TD ConsoleでSansan接続を作成するには:

  1. TD Consoleを開きます。

  2. Integrations Hub > Catalogに移動します。

  3. カタログ画面の右端にある検索アイコンをクリックし、Sansanと入力します。

  4. Sansanコネクタにカーソルを合わせ、Create Authenticationを選択します。

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

  6. Sansan API Keyを入力します。

  7. Continueを選択します。

  8. Sansan接続の名前を入力します。

  9. Doneを選択します。

TD Consoleの使用

認証の作成

Sansan接続の認証を作成するには:

  1. TD Consoleから、Integrations Hub > Authenticationsに移動します。
  2. 画面の右端にある検索アイコンをクリックし、Sansanと入力します。

  1. New Sourceを選択します。 Create Sourceダイアログが表示されます。ダイアログには以下のページがあります:

    • Connection
    • Source Table
    • Data Settings
    • Data Preview
    • Data Placement

    各ページでソースの詳細を入力します。

Connection

  • Data Transfer Name - 名前を入力します。

Source Table

  • 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の範囲内で添付タグを持つ名刺をインポートします。

Data Settings

  • 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.yml

ロードジョブの実行

td 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_column

Treasure 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.yml

Treasure 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:list

スケジュールの設定と履歴の表示

td connector:show はスケジュールの詳細を表示します。

td connector:show daily_import