Skip to content

LINE OA Insights インポート インテグレーション

このTDインポートでは、LINEメッセージアカウントからTreasure Dataにデータを転送できます。

前提条件

  • Treasure Dataの基本知識(TD Toolbeltを含む)
  • LINEメッセージアカウント
  • LINEメッセージアカウントからのチャネルアクセストークン

要件と制限事項

  • CLIからのインポートにはTD Toolbelt用のRuby Gemが必要です。
  • LINE Message APIのレート制限は1時間あたり60リクエストです。

チャネルアクセストークンの取得

LINEメッセージからインポートするには、チャネルアクセストークンが必要です。LINE Developers Console(長期間有効トークン)から手動で取得します:

  1. LINE Developers Consoleにログインします。
  2. プロバイダーを選択し、使用したいMessaging APIチャネルを選択します。
  3. Messaging APIアカウントを選択し、「Messaging API」タブに移動します。
  4. 「チャネルアクセストークン(長期間有効)」セクションまでスクロールします。「発行」ボタンをクリックするとチャネルアクセストークンが表示されます。
  5. トークンをコピーして安全に保管します。

TD ConsoleからLINEメッセージをインポートする

認証の作成

最初のステップは、認証情報を使用して新しい認証を作成することです。

  1. TD Consoleを開きます。
  2. Integrations Hub > Catalogに移動します。
  3. LINE OA Insightsを検索して選択します。

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

  1. 接続の名前を入力します。Doneを選択します。

Treasure Dataへのデータ転送

認証された接続を作成すると、自動的にAuthenticationsに移動します。

  1. 作成した接続を検索します。
  2. New Sourceを選択します。
  3. データ転送フィールドにSourceの名前を入力します。
  4. Nextを選択します。 Source Tableダイアログが開きます。
  5. 以下のパラメータを編集します:

以下の表は、ソーステーブルを設定するためのパラメータについて説明しています:

パラメータ必須説明
Targetはい取り込む必要があるデータを指定します。サポートされている値:
  • Message Deliveries
  • Followers
  • Demographics
  • User Interaction Statistics
Start DateTargetがMessage DeliveriesまたはFollowersの場合は必須データインポートの開始日(yyyyMMdd形式)。
End Dateいいえデータインポートの終了日(yyyyMMdd形式)。指定しない場合は現在の日付がデフォルトとなります。

Incremental

いいえ

このチェックボックスは、Targetが以下の値の場合にのみ表示されます:

  • Message Deliveries
  • Followers

前回のインポート日または最後にデータが準備完了状態になった日以降の新しいデータのみをインポートします。

Request IDsTargetがユーザーインタラクション統計の場合は必須インサイトデータを取得するためのリクエストIDを指定します。カンマ区切りの値。
  1. Nextを選択してデータ設定を定義します。

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

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

ストレージセクションでは、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 — スケジューリングのタイムゾーンを選択します。
  1. Create & Run Nowを選択します。

転送が実行されたら、Data Workbench > Databasesで転送結果を確認できます。

TD WorkflowからLINEメッセージをインポートする

ワークフローを作成して実行します:

_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
パラメータデータ型必須説明
targetstringはい取り込む必要があるデータを指定します。サポートされている値:
  • message_deliveries
  • followers
  • demographics
  • user_interaction_statistics
start_datestringTargetがmessage_deliveriesまたはfollowersの場合は必須データインポートの開始日(yyyyMMdd形式)。
end_datestringいいえデータインポートの終了日(yyyyMMdd形式)。指定しない場合は現在の日付がデフォルトとなります。

incremental

boolean (true/false)。デフォルトはfalse

いいえ

この値は以下のtargetにのみ適用されます:

  • message_deliveries
  • followers

前回のインポート日または最後にデータが準備完了状態になった日以降の新しいデータのみをインポートします。

request_idsstringtargetがuser_interaction_statisticsの場合は必須インサイトデータを取得するためのリクエストIDを指定します。カンマ区切りの値。

CLI(Toolbelt)からLINEメッセージをインポートする

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

cronパラメータは@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_table

td 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