【问题标题】:How ETL the google analytics data by using SSIS component (C#) and Google.Apis.AnalyticsReporting.v4如何使用 SSIS 组件 (C#) 和 Google.Apis.AnalyticsReporting.v4 ETL 谷歌分析数据
【发布时间】:2019-09-18 11:52:54
【问题描述】:

我想使用 Google.Apis.AnalyticsReporting.v4 将谷歌分析数据 ETL 到我们的数据仓库。值得一提的是,我使用 SSIS(Microsoft 集成服务)并使用脚本组件(C#)作为 ETL 上述数据的任务。

我发现这项任务非常艰巨,并找到了这些参考资料,

Use Google Analytics API to show information in C#

它使用 Google.Apis.Analytics.v3 来执行此操作,而不是 V4。首先,我创建服务帐户,

https://cloud.google.com/iam/docs/creating-managing-service-accounts#iam-service-accounts-rename-console

并保存服务帐户电子邮件和 .p12 密钥,之后我使用此方法,

Analytics Reporting v4 with API key

使用 Google.Apis.AnalyticsReporting.v4 但许多参考文献有错误并且它们是旧的,例如使用 Google.Apis.Services;

我很困惑,想知道用 C# 对 GA 数据进行 ETL 的代码。感谢在这个问题上帮助我。我想 ETL 像“会话”这样的指标和像“活动”这样的维度

【问题讨论】:

    标签: c# ssis google-api google-analytics-api


    【解决方案1】:

    由于 .net 版本的 dll,我无法使用脚本组件让它工作。库 dll 大约是 .net 4.5,据我所知,大多数版本的 MS Sql 服务器不支持高于 .net 4.0 的版本。您还必须弄清楚 dll 需要在哪里才能让 ssis 找到它们。如果您要让它工作,您将需要库中的所有 dll,因为您不能使用 nuget 安装。我将从基本教程开始,将其作为控制台应用程序工作,然后将其复制到 SSIS 并将其放入您需要所有使用的脚本组件及其对应的 dll,其中有很多。

    Google apis.services 不是旧的,它只是库的 auth 部分,它只是不需要更改。

    自定义组件

    我所做的是创建一个自定义组件来连接到 Google 分析。我遇到的主要问题是 dll 和 .net 框架。我永远无法使用 Google .net 客户端库。我只能通过手动创建自己的面向 .net 3.5 的 Google 分析库并使用 Oauth2 而不是服务帐户来实现此功能。

    到目前为止,编写我自己的服务帐户身份验证代码让我无法理解。我相信我在堆栈上有一个非常古老的悬而未决的问题,询问如何让它工作。

    【讨论】:

    • 所以你的意思是不能同时使用谷歌库和 ssis 组件。所以我们必须创建一个自定义组件。你认为有可能创建一个 .net 项目并存储 GA 数据,然后使用 ssis 来 etl 存储的数据吗?
    • 我已经有几年没有尝试过了,并且没有使用当前版本的 ssis,它可能支持 .net 4.6,您只需要尝试一下即可。如果不是,您将不得不创建自己的代码并自己完成。谷歌目标谷歌分析我是那个项目的首席开发者。我不建议使用它,尽管我离开公司后项目就死了
    【解决方案2】:

    免责声明:我在 ZappySys 工作

    可以通过引用 SDK dll 在 SSIS 中使用脚本任务调用 API,但您必须考虑两件事。

    1. 为此流程编码需要付出多少努力。如果有人已经开发了这样的组件(免费或付费),那么有时候开发自己的组件是不值得的。
    2. Google 提供的 SDK 是否与 SSIS 版本兼容?每个 SSIS 版本都支持特定的 .net 版本。所以你必须使用与之兼容的 Google SDK。例如,如果您想为 SSIS 2012 编写此代码,则必须使用以 .net 4.0 或更低版本编写的 SDK。如果使用 .net 4.6 编码的最新 SDK,有时可能无法使用。

    这里是各种 SQL Server / SSIS 的list of supported .net versions

    • SSIS / SQL Server 2012 - 使用 .net 4.0
    • SSIS / SQL Server 2014 - 使用 .net 4.5 或更低版本
    • SSIS / SQL Server 2017 - 使用 .net 4.6.0 或更低版本
    • SSIS / SQL Server 2019 - 使用 .net 4.6.2 或更低版本

    如果您不想麻烦,可以考虑使用 3rd 方组件,例如 ZappySys Google Analytics Source for SSIS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多