【Day 09】 实作 - 透过 AWS 服务 - AppFlow 把 Google Analytics 资料存放至 AWS 中 ( 2 )

大家好~昨天我们建立好 Google Analytics 与 AWS 连线,现在我们就可以透过 AWS Console 拉取 Google Analytics 资料
大致流程如下所示:

  1. 於 AWS Console 搜寻 appflow,点选 Flows 并 Create Flow
  2. 於 Flow name 输入易於识别的名称後按 next
  3. 设定来源细节
  4. 设定目的端细节
  5. 设定 Flow 触发的类型
  6. 设定拉取的 Google Analytics 栏位
  7. 设定筛选条件
  8. 执行 Flow

步骤一、於 AWS Console 搜寻 appflow,点选 Flows 并 Create Flow

https://ithelp.ithome.com.tw/upload/images/20210923/20131073L72LI9IStI.jpg


步骤二、於 Flow name 输入易於识别的名称後按 next

https://ithelp.ithome.com.tw/upload/images/20210923/2013107390IZCS8KMX.jpg


步骤三、设定来源细节

https://ithelp.ithome.com.tw/upload/images/20210923/201310732bCUJjfYsR.jpg

  • Source name:选择 Google Analytics
  • Choose Google Analytics connection:选择昨天建立的 connection
  • Choose Google Analytics object:选择 Reports
  • Choose Google Analytics subobject:可能一个帐户有建立多个资源和应用程序,你可以从 Google Analytics页面中查看你想看的网站资料 ID,并於 AWS Console 选取此 ID
    https://ithelp.ithome.com.tw/upload/images/20210923/20131073xIFQAU1U22.jpg

步骤四、设定目的端细节

这里是定义抓取的 Google Analytics 资料要存放在哪里
https://ithelp.ithome.com.tw/upload/images/20210923/20131073X9hEANo0Cr.jpg
所以我们这边选择 Destination name 为 AWS S3、Bucket details 选择昨天创建的 S3 Bucket name,接着展开 Additional settings

  • Data transfer preference:
    预设情况下执行 Flow 会产生多个档案结果,也可以设定聚合档案(执行一次 Flow 仅会产生一个档案结果),这边我们选择 No aggregation,让档案 size 不会太大,後续可以透过 Lambda 进行处理
  • Filename preference:
    档案名称是否加上时间戳记,这边选择 No timestamp
  • Folder structure preference:
    使用者可以依据需求来决定资料夹的时间粒度,而选择的粒度决定了文件夹的命名阶层,且适当的阶层也会大大降低後续 Athena 搜寻的速度以及费用的产生,以及因 Google Analytics API 本身时间粒度仅到 day(没有到 hour ),故我们选择 Place the file in a timestamped folder、Daily

选择完後,蓝底的地方就会显示目前资料夹的命名阶层:
S3://<<"bucket name">>/<<"appflow name">>/年/月/日


步骤五、设定 Flow 触发的类型

可以选择按排程、基於事件或手动触发,这边我们选择 Run on demand (手动触发)
https://ithelp.ithome.com.tw/upload/images/20210923/201310731kHGtkESJS.jpg


步骤六、设定拉取的 Google Analytics 栏位

选择 Manually map fields,并选取欲拉取的 Google Analytics 栏位(栏位说明请详[1]),这边我想了解不同的装置在网站的网页浏览量,故选取
ga:date|DIMENSION、ga:deviceCategory|DIMENSION、ga:pageviews|METRIC,并点选 Map fields directly 後按 Next
★小叮咛★ 因有部分栏位无法直接选取(ex:ga:dimensionXX),可以选择『Upload a .csv file with mapped fields』,就可以导入自定义维度和指标。
https://ithelp.ithome.com.tw/upload/images/20210923/20131073lkMwEKVZrt.jpg
https://ithelp.ithome.com.tw/upload/images/20210923/20131073o4IzzjoBBU.jpg


步骤七、设定筛选条件

我们可以设定筛选条件过滤要储存的资料,我们选择跳过按 next、save
https://ithelp.ithome.com.tw/upload/images/20210923/20131073Hg4L9IEIP2.jpg


步骤八、执行 Flow

接着我们点击此 Flow 并点选 Run Flow
https://ithelp.ithome.com.tw/upload/images/20210923/20131073Vs29eErUxe.png
https://ithelp.ithome.com.tw/upload/images/20210923/20131073YirICbeKxb.png


等待 Flow 执行完成後,我们可以在 S3 看到抓取的 Google Analytics 资料~接着我们下载这个档案看里面的内容,我们会发现抓取的 Google Analytics 原始档案为多行的 JSON 格式,非常不方便使用者阅读且 Athena 也不支援此格式搜寻,让我们无法进行後续的分析处理
https://ithelp.ithome.com.tw/upload/images/20210923/20131073bv56UOq09M.jpg
https://ithelp.ithome.com.tw/upload/images/20210923/20131073iFFI3UUsw3.jpg

我们要如何解决此问题呢? 就让我们明天继续讨论 Data Analytics Pipeline on AWS - Google Analytics 吧~ 明天见:)
如果有任何指点与建议,也欢迎留言交流,一起漫步在 Data on AWS 中。

[1] UA Dimensions & Metrics Explorer
https://ga-dev-tools.web.app/dimensions-metrics-explorer/


<<:  Day-09 版面配置Layout

>>:  [Day9]参观乙太链与区块链

JavaScript Array | 与其他程序语言很不同的阵列(下)

今天接续昨天的Array方法 那我们开始吧!! splice() 可以新增删减阵列项目,也能指定位置...

第三十天:整理自己的 CSS

挑战心情 至今天为止,持续每天看 csscoke 的影片学习 CSS 金鱼都能懂的网页教学及金鱼都能...

[Vue2] 从初学到放弃 Day6-Template Syntax

Template Syntax Vue.js 最主要是基於HTML,在使用JQuery或者Js的时候...

Day 10 CSS <元素显示模式>

1. 什麽是元素显示模式 元素显示模式就是元素(标签)以什麽方式进行显示 作用 : 网页的标签非常多...

撰写API端的第一个Flask API-以tick为例

上上篇已经写了一个Flask API的Hello World, 现在我们的Flask API要开始串...