2 votes

Comment ETL les données google analytics en utilisant le composant SSIS (C#) et Google.Apis.AnalyticsReporting.v4

Je souhaite utiliser Google.Apis.AnalyticsReporting.v4 pour ETL les données de Google Analytics vers notre entrepôt de données. Il convient de mentionner que j'utilise SSIS (Microsoft Integration Service) et que j'utilise le composant script (C#) comme tâche pour l'ETL des données susmentionnées.

J'ai trouvé cette tâche très difficile et j'ai trouvé ces références,

Utiliser l'API Google Analytics pour afficher des informations en C#

Il a utilisé Google.Apis.Analytics.v3 pour ce faire et ce n'est pas la V4. Tout d'abord, je crée un compte de service,

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

et enregistrer l'email du compte de service et la clé .p12, après quoi j'utilise cette méthode,

Analytics Reporting v4 avec clé API

qui utilisent Google.Apis.AnalyticsReporting.v4 mais de nombreuses références ont été erronées et elles sont anciennes, comme l'utilisation de Google.Apis.Services ;

Je suis confus et je veux connaître le code pour l'ETL des données de GA par C#. Merci de m'aider à résoudre ce problème. Je veux ETL des métriques comme "session" et des dimensions comme "campagne"

1voto

DaImTo Points 3712

Je n'ai jamais réussi à le faire fonctionner en utilisant un composant de script à cause de la version .net des dll. Les dlls de la bibliothèque sont autour de .net 4.5 et pour autant que j'ai pu voir, la plupart des versions de MS Sql Server ne supportent pas une version supérieure à .net 4.0. Vous devez également déterminer où les dlls doivent se trouver pour que ssis les trouve. Si vous voulez que cela fonctionne, vous aurez besoin de toutes les dll de la bibliothèque car vous ne pouvez pas utiliser l'installation nuget. Je commencerais par le tutoriel de base pour le faire fonctionner en tant qu'application console, puis je le copierais sur SSIS et le placerais dans votre composant de script, vous aurez besoin de toutes les utilisations et de leurs dll correspondantes, il y en a beaucoup.

Google apis.services n'est pas ancien, c'est la partie authentification de la bibliothèque qui n'a pas eu besoin d'être modifiée.

composant personnalisé

Ce que j'ai fait, c'est créer un composant personnalisé pour se connecter à Google Analytics. Le principal problème que j'ai rencontré concernait les dll et le framework .net. Je n'ai jamais pu utiliser la bibliothèque client .net de Google. Je n'ai pu le faire fonctionner qu'en créant manuellement ma propre bibliothèque Google analytics en ciblant .net 3.5 et en utilisant Oauth2 plutôt que le compte de service.

Le codage de mon propre code d'authentification de compte de service m'a jusqu'à présent échappé. Je crois que j'ai une très vieille question ouverte ici sur stack demandant comment la faire fonctionner.

1voto

ZappySys Points 31

Clause de non-responsabilité : je travaille chez ZappySys

Il est possible d'appeler l'API dans SSIS en utilisant script Task en référençant les dll du SDK, mais vous devez tenir compte de deux choses.

  1. Quel est l'effort nécessaire pour coder ce flux. Parfois, cela ne vaut pas la peine de développer votre propre composant si quelqu'un l'a déjà fait (gratuitement ou moyennant paiement).
  2. Le SDK fourni par Google est-il compatible avec la version de SSIS ? Chaque version de SSIS prend en charge une ou plusieurs versions .net spécifiques. Vous devez donc utiliser le SDK de Google compatible avec cette version. Par exemple, si vous souhaitez coder pour SSIS 2012, vous devez utiliser un SDK codé en .net 4.0 ou une version inférieure. L'utilisation du dernier SDK peut parfois ne pas fonctionner s'il est codé en .net 4.6 par exemple.

Voici le liste des versions .net supportées par divers SQL Server / SSIS

  • SSIS / SQL Server 2012 - Utiliser .net 4.0
  • SSIS / SQL Server 2014 - Utiliser .net 4.5 ou moins
  • SSIS / SQL Server 2017 - Utiliser .net 4.6.0 ou inférieur
  • SSIS / SQL Server 2019 - Utiliser .net 4.6.2 ou inférieur

Si vous ne voulez pas vous compliquer la vie, vous pouvez envisager l'utilisation de composants tiers tels que ZappySys Google Analytics Source pour SSIS

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X