SSIS and Google Sheet API v4

Ostatnio zmierzyłem się z tematem transferowania danych z  arkuszy Googla do bazy MS SQL. Podzielę się swoim projektem IS aby pokazać Ci jak skorzystać z Google Sheets  API v4  oraz pakietu Integration Services właśnie w tym celu.

Sporo niezbędnych informacji mamy na samych stronach Googlach a dokładniej tutaj: https://developers.google.com/sheets/api/quickstart/dotnet. Krok 1 trzeba wykonać zgodnie z instrukcją aby móc skorzystać z API. Reszta jednak dotyczy projektu  Console Application w Visual Studio a nie projektu Integration Services więc kolejne stepy wygląda nieco inaczej ale o tym poniżej.

Największy problem jest z bibliotekami.  Żeby ułatwić sobie (i Tobie) utworzenie projektu przygotowałem skrypt który pobiera nuget.exe następnie za jego pomocą biblioteki Google Sheets  API V4, na końcu rejestruje je w Global Assembly Cache.

Aby cały projekt wykonał się poprawnie na testowym serwerze MS SQL należy stworzyć bazę docelową dla danych.

Następnie zmodyfikować odpowiednio parametry dla SSIS, tj. scieżka dla pliku client_secret (jest w paczce z pobrania wraz z SSIS lub możesz przygotować swój klucz) oraz namiary na MS SQL.

Jeśli wszystko poszło zgodnie z planem nasz SSIS powinien wykonać się poprawnie.

Gdyby jednak było inaczej pierwsze co należy sprawdzić to odwołania do bibliotek,  skrypt domyślnie przygotuję paczkę bibliotek w lokalizacji C:\nuget\google.apis.sheets.v4 i je należy wskazać w naszym Script Component.

Jeśli nadal otrzymujemy błąd jak na poniższym screenie, to należy ponownie zarejestrować biblioteki w GAC.

Dane pobierane są z przykładowego arkusza – https://docs.google.com/spreadsheets/d/1enMJ0OqV00Kf5srQsvlqjOE-_IaTJeWezUQniu57COk

Pobierz projekt SSIS: WithGoogleSheet.zip (103 pobrania)

 

Z pasją poświęcam czas na zdobywanie wiedzy w zakresie szeroko rozumianej Data Platform. Zachwycony językiem skryptowym Windows PowerShell. Swoją wiedzę, doświadczenia i spostrzeżenia opisuję na blogu.

2 Comments

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *