1
1

More than 3 years have passed since last update.

ZendeskのサポートチケットデータをRedshiftへロードする

Last updated at Posted at 2020-10-06

今回のブログでは、XplentyのRest APIコンポーネントを使用し、ZendeskのSupport APIにアクセスし、チケットデータをIncrementalでロードする手順について解説します。

Zendesk側での設定

管理メニューから「API」を選択する
image.png

パスワードアクセスを有効に設定する
image.png

Xplenty側の設定

Step1: Rest API Componentの設定

Rest API コンポーネントでBasic認証を選択し、ユーザー名とパスワードを入力する
image.png

今回は、Support APIのIncremental Exportを使用するので、ドキュメントのルールに従い、URLを入力。
image.png

URL: https://サブドメイン名.zendesk.com/api/v2/incremental/tickets.json?start_time=1601768082&include=metric_sets

start_time: UnixTimeの数値を指定

ResponseでJSON Pathを入力
image.png

Data Previewで結果が正しく取得できるのを確認したら、必要な列を選択し、Saveボタンをクリック。
image.png

Step2: Selectコンポーネントで入れ子になっているJSON部分の値を取得する式をセット

image.png

Step3: ロード先のDBもしくはDWHを設定(今回はRedshiftへロード)

Redshiftへの接続を設定し、テーブル名の入力および差分更新の設定(Merge with existing data using delete and insert)を選択する。
image.png

今回作成したデータフローは、こんな感じになります。
image.png

Step4: 自動で差分更新を行うための変数設定

最初の設定では、URLのパラメータ「start_time」を固定値で実装しましたが、今後自動的に前回取り込み分からの差分を取得できるよう変数を利用したリクエストURLが生成できるよう設定します。
image.png

1. 差分更新のため、前回実行時間を取得する変数をセットします。

image.png

  • 変数名:start_date
  • :ToUnixTime(CASE WHEN $_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP == '' THEN ToDate('2000-01-01T00:00:00.000Z') ELSE ToDate($_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP) END)

式で使用しているシステム変数「$_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP」には、自動的に前回ジョブ実行日時がセットされる。

2. URLのstart_timeの値に変数をセットします。(太字部分は変数)

URL: https://サブドメイン名.zendesk.com/api/v2/incremental/tickets.json?start_time=$start_date&include=metric_sets
image.png

これで簡単に差分だけを更新するDataflowパッケージの完成です。
もし、自社でお使いのSaaSサービスをクラウドに接続して取得したい場合は、XplentyのHPからオンラインデモをリクエストし、相談してみてはいかがでしょうか?

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1