Amazon AppFlowでZendeskのチケット情報をS3に出力してみた

2020.04.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、スズです。

先日、Amazon AppFlowがリリースされました。

ZendeskのチケットデータをS3に出力してみましたので、ご紹介いたします。なお、本エントリの執筆にはZendeskのサンドボックスを利用しています。

ZendeskのOAuthクライアントを準備

まずはZendesk側の準備をします。管理->API->OAuthクライアントを開き、ボタンから新しいOAuthクライアントを追加します。

クライアント名一意のIDリダイレクトURLの設定があります。

IDとリダイレクトURLの設定は、ドキュメントに記載がありました。ドキュメントにある通りに設定して作成します。

  • Unique identifier: aws_integration_to_Zendesk
  • Redirect URL: https://region.console.aws.amazon.com/appflow/oauth

設定後、OAuthクライアントを作成した際に、シークレットキーが表示されます。シークレットキーはこの後のAppFlowの設定で必要となりますが、再表示できませんのでご注意ください。

AppFlowでフローを作成

続いてAmazon AppFlowを開き、フローを作成からフローを作成していきます。

フローの詳細を指定

フロー名とタグを設定して次へ進みます。データの暗号化については今回はカスタマイズせずデフォルトのままにしています。

フローを設定

送信元名にZendeskを選択します。Zendesk接続を選択には、今回初めて接続しますので、新しく接続先を設定します。

先ほどのZendesk側で設定したOAuthクライアントを設定して続行をクリックします。

連携先を確認して許可をクリックします。

Zendeskオブジェクトを選択ではTicketとUserから選択できます。今回はTicketを選択してチケット情報を取得します。

接続先名にAmazon S3を選択し、バケットの詳細で出力先となるバケットを選択します。また、今回はスケジュールは利用せず、オンデマンドで実行を選択して次へ進みます。

データフィールドをマッピング

マッピング方法を選択します。今回は手動でフィールドをマッピングする方法を選択しています。

送信元フィールド名からフィールドを選択、フィールドを直接マッピングするをクリックします。マッピングされたフィールドの設定を確認して、次へ進みます。

フィルターを追加

フィルターの設定ではフィールドに対してフィルターを設定できるようですが、今回は割愛して次へ進みます。

確認して作成

設定内容を確認してフローを作成で作成します。

作成したフローを実行

作成したフローを表示して、フローを実行をクリックします。

出力先のS3を確認するとフォルダが作成されていて、フォルダの中には1つファイルが作成されていました。

ファイルをダウンロードして開いてみると、Zendeskのチケット情報が出力されていました。JSONL形式になっています。

最後に

Amazon AppFlowを使ってZendeskのチケット情報をS3に出力してみました。