このTDインポートでは、LINEメッセージアカウントからTreasure Dataにデータを転送できます。
- Treasure Dataの基本知識(TD Toolbeltを含む)
- LINEメッセージアカウント
- LINEメッセージアカウントからのチャネルアクセストークン
- CLIからのインポートにはTD Toolbelt用のRuby Gemが必要です。
- LINE Message APIのレート制限は1時間あたり60リクエストです。
LINEメッセージからインポートするには、チャネルアクセストークンが必要です。LINE Developers Console(長期間有効トークン)から手動で取得します:
- LINE Developers Consoleにログインします。
- プロバイダーを選択し、使用したいMessaging APIチャネルを選択します。

- Messaging APIアカウントを選択し、「Messaging API」タブに移動します。

- 「チャネルアクセストークン(長期間有効)」セクションまでスクロールします。「発行」ボタンをクリックするとチャネルアクセストークンが表示されます。

- トークンをコピーして安全に保管します。
最初のステップは、認証情報を使用して新しい認証を作成することです。
- TD Consoleを開きます。
- Integrations Hub > Catalogに移動します。
- LINE OA Insightsを検索して選択します。

- Create Authenticationを選択します。
- チャネルアクセストークンを入力します。Continueを選択します。

- 接続の名前を入力します。Doneを選択します。
認証された接続を作成すると、自動的にAuthenticationsに移動します。
- 作成した接続を検索します。

- New Sourceを選択します。
- データ転送フィールドにSourceの名前を入力します。
- Nextを選択します。 Source Tableダイアログが開きます。
- 以下のパラメータを編集します:

以下の表は、ソーステーブルを設定するためのパラメータについて説明しています:
| パラメータ | 必須 | 説明 |
|---|---|---|
| Target | はい | 取り込む必要があるデータを指定します。サポートされている値:
|
| Start Date | TargetがMessage DeliveriesまたはFollowersの場合は必須 | データインポートの開始日(yyyyMMdd形式)。 |
| End Date | いいえ | データインポートの終了日(yyyyMMdd形式)。指定しない場合は現在の日付がデフォルトとなります。 |
Incremental | いいえ | このチェックボックスは、Targetが以下の値の場合にのみ表示されます:
前回のインポート日または最後にデータが準備完了状態になった日以降の新しいデータのみをインポートします。 |
| Request IDs | Targetがユーザーインタラクション統計の場合は必須 | インサイトデータを取得するためのリクエストIDを指定します。カンマ区切りの値。 |
- Nextを選択してデータ設定を定義します。

- Nextを選択してデータをプレビューします。

- データをプレビューするには、Generate Previewを選択します。オプションでNextを選択して次のセクションにスキップすることもできます。
- データの配置を定義する

ストレージセクションでは、TDにデータを保存する場所の詳細を指定します:
- Database — データを保存するデータベースを選択します。
- Table — インポートしたデータを保存する宛先テーブル。
- Method
- Append — 既存のテーブルにレコードを追加します(データが重複する可能性があることに注意してください)。
- Always Replace — レコードを追加する前に宛先テーブルを常にクリアします。
- Replace on new data — 新しいデータが見つかった場合、古いデータは新しいデータで上書きされます。
- Timestamp-based Partition Key — パーティションキーとして使用するカスタムタイムスタンプ列を選択します。
- Data Storage Timezone — データベースの予想タイムゾーン。
Scheduleセクションでは、このクエリを実行するタイミングと頻度を選択できます:
- Repeat — OnまたはOffを選択します。
- Schedule — ドロップダウンリストには以下のオプションが用意されています:@daily (midnight)、@hourly (:00)、またはCustom cron。
- Delay Transfer — 実行時間の遅延を指定できます。
- Scheduling Timezone — スケジューリングのタイムゾーンを選択します。
- Create & Run Nowを選択します。
転送が実行されたら、Data Workbench > Databasesで転送結果を確認できます。
ワークフローを作成して実行します:
_export:
td:
database: workflow_line_oa_insights
table: line_oa_insights
+import_from_line_oa_insights:
td_load>: imports/seed.yml
database: ${td.database}
table: ${td.table}インポート用の接続詳細を含むseed.ymlファイルを変更します:
in:
type: line_oa_insights
channel_access_token: {your_channel_access_token}
target: message_deliveries
start_date: 20251101
end_date: 20260105
incremental: true
out:
mode: append| パラメータ | データ型 | 必須 | 説明 |
|---|---|---|---|
| target | string | はい | 取り込む必要があるデータを指定します。サポートされている値:
|
| start_date | string | Targetがmessage_deliveriesまたはfollowersの場合は必須 | データインポートの開始日(yyyyMMdd形式)。 |
| end_date | string | いいえ | データインポートの終了日(yyyyMMdd形式)。指定しない場合は現在の日付がデフォルトとなります。 |
incremental | boolean (true/false)。デフォルトはfalse | いいえ | この値は以下のtargetにのみ適用されます:
前回のインポート日または最後にデータが準備完了状態になった日以降の新しいデータのみをインポートします。 |
| request_ids | string | targetがuser_interaction_statisticsの場合は必須 | インサイトデータを取得するためのリクエストIDを指定します。カンマ区切りの値。 |
TD Toolbeltを使用してLINEメッセージからデータをインポートできます。
Ruby Gemを使用して最新のTD Toolbeltをインストールします:
$ gem install td
$ td --version
0.16.10他のインストール方法もあります。詳細はTreasure Data Toolbeltをご覧ください。
config.yml設定ファイルを作成します:
in:
type: line_oa_insights
channel_access_token: {your_channel_access_token}
target: message_deliveries
start_date: 20251101
end_date: 20260105
incremental: true
out:
...........設定ファイルで取得するデータをプレビューできます:
$ td connector:preview config.yml
+-----------+-----------------------+-------------------------+-------------------------+
| id:string | name:string | created:string | updated:string |
+-----------+-----------------------+-------------------------+-------------------------+
| SPg3aL | chrome_line_name | 2021-08-30 05:35:46 UTC | 2021-08-30 05:35:46 UTC |
| QPg3zL | 100_w_phone_line_name | 2021-08-27 23:49:56 UTC | 2021-08-27 23:49:56 UTC |
+-----------+-----------------------+-------------------------+-------------------------+定期的なLINEインポート用に定期的なデータコネクタ実行をスケジュールできます。この機能を使用すると、ローカルデータセンターでcronデーモンが不要になります。
td connector:createコマンドを使用して新しいスケジュールを作成できます。以下のデータを指定する必要があります:
- スケジュールの名前
- cron形式のスケジュール
- データが保存されるデータベースとテーブル
- Data Connector設定ファイルが必要です。
$ td connector:create \
daily_line_oa_insights_import \
"10 0 * * *" \
sample_db \
sample_table \
config.ymlcronパラメータは@hourly、@daily、@monthlyの3つの特別なオプションも受け付けます。詳細はスケジュールされたジョブをご覧ください。
デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。-tまたは--timezoneオプションを使用してタイムゾーンを設定できます。--timezoneオプションは'Asia/Tokyo'や'America/Los_Angeles'などの拡張タイムゾーン形式のみをサポートしています。PSTやCSTなどのタイムゾーン略語はサポートされておらず、予期しないスケジュールになる可能性があります。
td connector:listを入力すると、現在スケジュールされているエントリの一覧を確認できます。
$ td connector:list
+------------------------------+------------+----------+-------+-----------------+--------------+
| Name | Cron | Timezone | Delay | Database | Table |
+------------------------------+------------+----------+-------+-----------------+--------------+
|daily_line_oa_insights_import | 10 0 * * * | UTC | 0 | sample_database | sample_table |
+------------------------------+------------+----------+-------+-----------------+--------------+td connector:showはスケジュールエントリの実行設定を表示します。
$ td connector:show daily_line_oa_insights_import
Name : daily_line_oa_insights_import
Cron : 10 0 * * *
Timezone : UTC
Delay : 0
Database : sample_db
Table : sample_tabletd connector:historyはスケジュールエントリの実行履歴を表示します。個々の実行結果を調査するには、td job:show jobidを使用します。
| 577914 | success | 20000 | sample_db | sample_table | 0 | 2015-04-16 00:10:03 +0000 | 152 |
| 577872 | success | 20000 | sample_db | sample_table | 0 | 2015-04-15 00:10:04 +0000 | 163 |
| 577810 | success | 20000 | sample_db | sample_table | 0 | 2015-04-14 00:10:04 +0000 | 164 |
| 577766 | success | 20000 | sample_db | sample_table | 0 | 2015-04-13 00:10:04 +0000 | 155 |
| 577710 | success | 20000 | sample_db | sample_table | 0 | 2015-04-12 00:10:05 +0000 | 156 |
| 577610 | success | 20000 | sample_db | sample_table | 0 | 2015-04-11 00:10:04 +0000 | 157 |
+--------+---------+---------+-----------+--------------+----------+---------------------------+----------+td connector:deleteはスケジュールを削除します。
$ td connector:delete daily_line_oa_insights_import