xタダです.
先日,Amazon AppFlow がリリースされました.このサービスは,SaaS と AWS へのデータフローをコーディングなしに自動化できます.AppFlow を使って S3 へデータをアップロードしてしまえば Athena や QuickSight で分析に使うことができます。この記事では,AppFlow の概要とこのブログの PV を解析と可視化するために Google Analytics を連携していきます.
Amazon AppFlow を使用すると、AWS のサービスと、Salesforce、Zendesk、ServiceNow などの SaaS アプリケーション間のデータフローを自動化できます。SaaS アプリケーション管理者、ビジネスアナリスト、および BI スペシャリストは、IT が統合プロジェクトを完了するのに数か月待つことなく、必要な統合のほとんどをすばやく実装できます。
Google Analytics との連携
このブログのデータは Google Analytics に情報を収集しているのですが,AppFlow の連携先に Google Analytics をサポートしているため連携してみます.
事前準備
GCP 側で次のことを行います.
- Analytics API を有効化
- OAuth クライアント ID の認証情報を作る
- ドキュメントでは内部向けを選択するようになっていますが,GSuite ユーザーじゃないと選択できないため外部向けを選択しています
- OAuth 同意画面で
../auth/analytics.readonly
と承認済みドメインとしてamazon.com
を追加する
発行されたクライアントID とクライアントシークレットを控えておきます.
AppFlow での設定
AppFlow のサービス画面でフローを作成ボタンを押して,データフローを作ります.フロー名を入力後,送信元に Google Analytics を指定し,先ほど控えたライアントID とクライアントシークレットを入力し,接続名を任意の名前を入力します.
データの出力先の S3バケット名を指定し,フロートリガーセクションでオンデマンドで実行を選択して次のページにいきます.
手動でフィールドをマッピングするを選択した状態で,マッピングする Google Analytics のデータフィールドを選択します.今回は日付と PV のデータを取りたいので Time:DIMENSION: ga:date
と Page Tracking: METRIC: ga:pageviews
をマッピングしました.
S3 に出力確認
作成したデータフローでフローを実行すると,オンデマンドで S3 へのデータアップロードが行われます.
アップロードされたデータは以下のようなファイルでアップロードされます.中身をみると,下記のJSON データになっていました.今回はオンデマンドでデータを連携しましたが,スケジュールも可能なので定期的に S3 にデータを連携して素早く分析や可視化をしていけそうです.
S3バケットに上がっているファイル
データの詳細
{ "reports": [ { "columnHeader": { "dimensions": [ "ga:date" ], "metricHeader": { "metricHeaderEntries": [ { "name": "ga:pageviews", "type": "INTEGER" } ] } }, "data": { "rows": [ { "dimensions": [ "20200512" ], "metrics": [ { "values": [ "92" ] } ] }, { "dimensions": [ "20200513" ], "metrics": [ { "values": [ "362" ] } ] }, { "dimensions": [ "20200514" ], "metrics": [ { "values": [ "567" ] } ] }, { "dimensions": [ "20200515" ], "metrics": [ { "values": [ "275" ] } ] }, { "dimensions": [ "20200516" ], "metrics": [ { "values": [ "71" ] } ] }, { "dimensions": [ "20200517" ], "metrics": [ { "values": [ "95" ] } ] }, { "dimensions": [ "20200518" ], "metrics": [ { "values": [ "167" ] } ] } ], "totals": [ { "values": [ "1629" ] } ], "rowCount": 7, "minimums": [ { "values": [ "71" ] } ], "maximums": [ { "values": [ "567" ] } ] } } ] }
まとめ
AppFlow を使って Google Analytics のデータを S3 にアップロードすることができました.S3 にデータ置けたので次のステップとして Athena や QuickSight を使って分析と可視化も行なっていきたいです.