Udostępnij za pośrednictwem


Kopiowanie danych z usługi Google Ads przy użyciu usługi Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potoku usługi Azure Data Factory lub Synapse Analytics do kopiowania danych z usługi Google Ads. Jest on oparty na artykule omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.

Ważne

Prosimy o uaktualnienie wersji sterownika Google Ads przed 18 lutego 2024 r. Jeśli tak nie jest, połączenie rozpocznie się niepowodzeniem z powodu błędu z powodu wycofania starszego sterownika.

Obsługiwane możliwości

Ten łącznik Google Ads jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości IR
działanie Kopiuj (źródło/-) (1) (2)
Działanie Lookup (1) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła/ujścia, zobacz tabelę Obsługiwane magazyny danych.

Usługa udostępnia wbudowany sterownik umożliwiający łączność, dlatego nie trzeba ręcznie instalować żadnego sterownika przy użyciu tego łącznika.

Wprowadzenie

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi Google Ads przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Google Ads w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj google ads i wybierz łącznik Google Ads.

    Zrzut ekranu przedstawiający łącznik Google Ads.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający konfigurację połączonej usługi dla usługi Google Ads.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek usługi Data Factory specyficznych dla łącznika Google Ads.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane w przypadku połączonej usługi Google Ads:

Właściwości Opis Wymagania
type Właściwość type musi być ustawiona na: GoogleAdWords Tak
googleAdsApiVersion Wersja interfejsu API Google Ads używana podczas wybierania zalecanej wersji sterownika. Ten artykuł zawiera informacje o wersji interfejsu API. Tak
clientCustomerID Identyfikator klienta konta Ads, dla którego chcesz pobrać dane raportu. Tak
loginCustomerID Identyfikator klienta konta menedżera Google Ads, za pomocą którego chcesz pobrać dane raportu określonego klienta. Nie.
developerToken Token dewelopera skojarzony z kontem menedżera używanym do udzielania dostępu do interfejsu API reklam. Możesz oznaczyć to pole jako ciąg SecureString w celu bezpiecznego przechowywania go lub zapisać hasło w usłudze Azure Key Vault i zezwolić na ściąganie działania kopiowania podczas wykonywania kopiowania danych — dowiedz się więcej na temat przechowywania poświadczeń w usłudze Key Vault. Tak
authenticationType Mechanizm uwierzytelniania OAuth 2.0 używany do uwierzytelniania.
Dozwolone wartości to: ServiceAuthentication, UserAuthentication.
Usługa ServiceAuthentication może być używana tylko na własnym środowisku IR.
Tak
W przypadku elementu UserAuthentication:
refreshToken Token odświeżania uzyskany od Firmy Google w celu autoryzowania dostępu do aplikacji Ads for UserAuthentication. Możesz oznaczyć to pole jako ciąg SecureString w celu bezpiecznego przechowywania go lub zapisać hasło w usłudze Azure Key Vault i zezwolić na ściąganie działania kopiowania podczas wykonywania kopiowania danych — dowiedz się więcej na temat przechowywania poświadczeń w usłudze Key Vault. Nie.
clientId Identyfikator klienta aplikacji Google używany do uzyskiwania tokenu odświeżania. Możesz oznaczyć to pole jako ciąg SecureString w celu bezpiecznego przechowywania go lub zapisać hasło w usłudze Azure Key Vault i zezwolić na ściąganie działania kopiowania podczas wykonywania kopiowania danych — dowiedz się więcej na temat przechowywania poświadczeń w usłudze Key Vault. Nie.
clientSecret Klucz tajny klienta aplikacji google używany do uzyskiwania tokenu odświeżania. Możesz oznaczyć to pole jako ciąg SecureString w celu bezpiecznego przechowywania go lub zapisać hasło w usłudze Azure Key Vault i zezwolić na ściąganie działania kopiowania podczas wykonywania kopiowania danych — dowiedz się więcej na temat przechowywania poświadczeń w usłudze Key Vault. Nie.
W przypadku uwierzytelniania usługi:
adres e-mail Identyfikator e-mail konta usługi używany do uwierzytelniania usługi i może być używany tylko na własnym środowisku IR. Nie.
privateKey Klucz prywatny usługi, który jest używany dla usługi ServiceAuthentication dla zalecanej wersji sterownika i może być używany tylko na własnym środowisku IR. Możesz oznaczyć to pole jako ciąg SecureString w celu bezpiecznego przechowywania go lub zapisać hasło w usłudze Azure Key Vault i zezwolić na ściąganie działania kopiowania podczas wykonywania kopiowania danych — dowiedz się więcej na temat przechowywania poświadczeń w usłudze Key Vault. Nie.
W przypadku uwierzytelniania usługi przy użyciu starszej wersji sterownika:
adres e-mail Identyfikator e-mail konta usługi używany do uwierzytelniania usługi i może być używany tylko na własnym środowisku IR. Nie.
keyFilePath Pełna ścieżka do pliku lub .json klucza używanego .p12 do uwierzytelniania adresu e-mail konta usługi i może być używana tylko na własnym środowisku IR. Nie.
trustedCertPath Pełna ścieżka pliku pem zawierającego zaufane certyfikaty urzędu certyfikacji do weryfikowania serwera podczas nawiązywania połączenia za pośrednictwem protokołu TLS. Tę właściwość można ustawić tylko w przypadku korzystania z protokołu TLS na własnym środowisku IR. Wartość domyślna to plik cacerts.pem zainstalowany z środowiskiem IR. Nie.
useSystemTrustStore Określa, czy należy użyć certyfikatu urzędu certyfikacji z magazynu zaufania systemu, czy z określonego pliku PEM. Wartość domyślna to false. Nie.

Przykład:

{
    "name": "GoogleAdsLinkedService",
    "properties": {
        "type": "GoogleAdWords",
        "typeProperties": {
            "clientCustomerID": "<clientCustomerID>",
            "loginCustomerID": "<loginCustomerID>",
            "developerToken": {
                "type": "SecureString",
                "value": "<developerToken>"
            },
            "authenticationType": "UserAuthentication",
            "refreshToken": {
                "type": "SecureString",
                "value": "<refreshToken>"
            },
            "clientId": {
                "type": "SecureString",
                "value": "<clientId>"
            },
            "clientSecret": {
                "type": "SecureString",
                "value": "<clientSecret>"
            },
            "googleAdsApiVersion": "v14"
        }
    }
}

Właściwości zestawu danych

Pełna lista sekcji i właściwości dostępnych do definiowania zestawów danych znajduje się w artykule dotyczącym zestawów danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych Google Ads.

Aby skopiować dane z Google Ads, ustaw właściwość typu zestawu danych na GoogleAdWordsObject. Obsługiwane są następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type zestawu danych musi być ustawiona na: GoogleAdWordsObject Tak
tableName Nazwa tabeli. Określ tę właściwość, gdy używasz starszej wersji sterownika. Nie (jeśli określono "zapytanie" w źródle działania)

Przykład

{
    "name": "GoogleAdsDataset",
    "properties": {
        "type": "GoogleAdWordsObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<GoogleAds linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło Google Ads.

Aby skopiować dane z Google Ads, ustaw typ źródła w działaniu kopiowania na GoogleAdWordsSource. Następujące właściwości są obsługiwane w sekcji źródło działania kopiowania:

Właściwości Opis Wymagania
type Właściwość type źródła działania kopiowania musi być ustawiona na: GoogleAdWordsSource Tak
zapytanie Użyj zapytania GAQL, aby odczytać dane. Na przykład: SELECT campaign.id FROM campaign. Nie (jeśli określono "tableName" w zestawie danych)

Przykład:

"activities":[
    {
        "name": "CopyFromGoogleAds",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<GoogleAds input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleAdWordsSource",
                "query": "SELECT campaign.id FROM campaign"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Uaktualnianie wersji sterownika Google Ads

Aby uaktualnić wersję sterownika Google Ads, musisz zaktualizować połączoną usługę i dowiedzieć się, jak przeprowadzić migrację z usługi SQL do języka Google Ads Query Language (GAQL).

Aktualizowanie konfiguracji połączonej usługi

Na stronie Edytowanie połączonej usługi wybierz pozycję Zalecane w obszarze Wersja sterownika i skonfiguruj połączoną usługę, odwołując się do właściwości połączonej usługi.

Migrowanie z bazy danych SQL do gaQL

Przekonwertuj instrukcje zapytania i nazwy pól podczas migracji z bazy danych SQL do języka GAQL.

Instrukcje zapytania

Jeśli używasz zapytania SQL w źródle działania kopiowania lub działania wyszukiwania odwołującego się do starszej połączonej usługi Google Ads, musisz zaktualizować je do zapytania GAQL.

W przeciwieństwie do języka SQL zapytanie w języku GAQL składa się z sześciu rodzajów klauzul:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

Przejdź do pozycji Google Ads Query Language Grammar (Gramatyka języka zapytań Google Ads), aby zapoznać się z wprowadzeniem języka GAQL.

Jako przykład weź następującą instrukcję SQL:

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

Możesz postępować zgodnie ze wskazówkami poniżej, aby przekonwertować instrukcję SQL na odpowiednią instrukcję GAQL:

  1. Jeśli * (gwiazdka) jest używana po SELECT klauzuli , należy określić wszystkie wymagane pola zamiast gwiazdki, ponieważ gaQL nie obsługuje SELECT *. Przejdź do tego artykułu , aby wyświetlić wszystkie pola, które można wybrać w określonym zasobie.
  2. Jeśli nazwa pola jest używana po klauzuli SELECT , należy przekonwertować nazwę na odpowiednią nazwę pola w języku GAQL, ponieważ mają różne konwencje nazewnictwa. Na przykład nazwa campaign_id pola w instrukcji zapytania SQL powinna zostać przekonwertowana na campaign.id w języku GAQL. Aby uzyskać więcej informacji na temat konwersji nazw pól, zobacz Nazwa pola.
  3. Nazwa zasobu może być pozostawiona tak, jak to jest, chyba że jej przypadek jest niespójny z tym, co zostało określone w tym miejscu.
  4. WHEREKlauzula powinna zostać zaktualizowana zgodnie z gramatyką GAQL, ponieważ operatory obsługiwane przez gaQL nie są zgodne z językiem SQL, a nazwa pola powinna być również konwertowana zgodnie z opisem w drugim punkcie.

Poniżej przedstawiono dwa bardzo przydatne narzędzia oferowane przez firmę Google i są one zdecydowanie zalecane podczas kompilowania odpowiednich instrukcji zapytań GAQL:

Nazwa pola

Nazwa pola używana w języku SQL nie jest zgodna z gaQL. Musisz również poznać reguły konwersji z nazw pól w języku SQL do nazw pól w języku GAQL. Regułę konwersji można podsumować w następujący sposób:

  • Jeśli nazwa pola należy do zasobu, podkreślenie (_) w programie SQL zostanie zmienione na kropkę (.) w języku GAQL. A dla wyrazów między kropką instrukcja typu camelCase używana w języku SQL zostanie zmieniona na autonomiczne wyrazy z dodanymi podkreśleniami między. Pierwszy ciąg typu PascalCase w języku SQL zostanie zmieniony na odpowiadającą nazwę zasobu w języku GAQL.

  • Jeśli nazwa pola należy do segmentów lub metryk, prefiks segments. lub metrics. powinien zostać dodany w gaQL, a następnie postępuj zgodnie z tą samą regułą, jak opisano w pierwszym punkcie, aby przekonwertować nazwę.

Oto konkretne przykłady konwersji nazwy pola:

Kategoria Nazwy pól w języku SQL Nazwy pól w języku GAQL
Pola zasobów Campaign_startDate campaign.start_date
Pola zasobów Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
Segments DayOfWeek segments.day_of_week
Metryki VideoViews metrics.video_views

W poniższej tabeli przedstawiono różnice funkcji między usługą Google Ads przy użyciu zalecanej i starszej wersji sterownika.

Zalecana wersja sterownika Starsza wersja sterownika
Określanie wersji interfejsu API Google Ads jest obsługiwane. Określanie wersji interfejsu API Google Ads nie jest obsługiwane.
Usługa ServiceAuthentication obsługuje dwie właściwości:
  •E-mail
  • privateKey
Usługa ServiceAuthentication obsługuje cztery właściwości:
  •E-mail
  • keyFilePath
  • trustedCertPath
  • useSystemTrustStore
Wybieranie tabeli w zestawie danych nie jest obsługiwane. Obsługa wybierania tabeli w zestawie danych i wykonywania zapytań dotyczących tabeli w działaniach kopiowania.
Obsługa składni GAQL jako języka zapytań. Obsługa składni SQL jako języka zapytań.
Nazwy kolumn wyjściowych są takie same jak nazwy pól zdefiniowane w usłudze Google Ads. Nazwy kolumn wyjściowych nie są zgodne z nazwami pól zdefiniowanymi w usłudze Google Ads.
Następujące mapowania są używane z typów danych Google Ads do tymczasowych typów danych używanych przez usługę wewnętrznie.

float —> zmiennoprzecinkowy
int32 —> int
int64 -> długi
Następujące mapowania są używane z typów danych Google Ads do tymczasowych typów danych używanych przez usługę wewnętrznie.

float —> ciąg
int32 —> ciąg
int64 —> ciąg

Uaktualnianie łącznika Google AdWords do łącznika Google Ads

Uaktualnij połączoną usługę Google AdWords do najnowszej połączonej usługi Google Ads, wykonując poniższe kroki:

  1. Wybierz pozycję Zalecane jako wersję sterownika, aby utworzyć nową połączoną usługę Google Ads i skonfigurować ją, odwołując się do właściwości połączonej usługi.

  2. Zaktualizuj potoki odwołujące się do starszej usługi połączonej Google AdWords. Biorąc pod uwagę, że połączona usługa Google Ads obsługuje tylko używanie zapytania do kopiowania danych, więc:

    1. Jeśli potok pobiera bezpośrednio dane z raportu Google AdWords, znajdź odpowiednią nazwę zasobu Google Ads w poniższej tabeli i użyj tego narzędzia do skompilowania zapytania.

      Raport Google AdWords Zasób Google Ads
      ACCOUNT_PERFORMANCE_REPORT klient
      AD_PERFORMANCE_REPORT ad_group_ad
      ADGROUP_PERFORMANCE_REPORT ad_group
      AGE_RANGE_PERFORMANCE_REPORT age_range_view
      AUDIENCE_PERFORMANCE_REPORT campaign_audience_view,ad_group_audience_view
      AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view
      BID_GOAL_PERFORMANCE_REPORT bidding_strategy
      BUDGET_PERFORMANCE_REPORT campaign_budget
      CALL_METRICS_CALL_DETAILS_REPORT call_view
      CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view
      CAMPAIGN_CRITERIA_REPORT campaign_criterion
      CAMPAIGN_PERFORMANCE_REPORT campaign
      CAMPAIGN_SHARED_SET_REPORT campaign_shared_set
      CAMPAIGN_LOCATION_TARGET_REPORT location_view
      CLICK_PERFORMANCE_REPORT click_view
      DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view
      DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view
      GENDER_PERFORMANCE_REPORT gender_view
      GEO_PERFORMANCE_REPORT geographic_view,user_location_view
      KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view
      KEYWORDS_PERFORMANCE_REPORT keyword_view
      LABEL_REPORT label
      LANDING_PAGE_REPORT landing_page_view,expanded_landing_page_view
      PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view
      PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view
      PLACEHOLDER_FEED_ITEM_REPORT feed_item,feed_item_target
      PLACEHOLDER_REPORT feed_placeholder_view
      PLACEMENT_PERFORMANCE_REPORT managed_placement_view
      PRODUCT_PARTITION_REPORT product_group_view
      SEARCH_QUERY_PERFORMANCE_REPORT search_term_view
      SHARED_SET_CRITERIA_REPORT shared_criterion
      SHARED_SET_REPORT shared_set
      SHOPPING_PERFORMANCE_REPORT shopping_performance_view
      TOP_CONTENT_PERFORMANCE_REPORT Interfejs API Google Ads nie jest już dostępny.
      URL_PERFORMANCE_REPORT detail_placement_view
      USER_AD_DISTANCE_REPORT distance_view
      VIDEO_PERFORMANCE_REPORT wideo
    2. Jeśli potok używa zapytania do pobierania danych z Google AdWords, użyj narzędzia do migracji zapytań, aby przetłumaczyć język zapytań AWQL (AdWords Query Language) na GAQL (Google Ads Query Language).

  3. Należy pamiętać, że istnieją pewne ograniczenia dotyczące tego uaktualnienia:

    1. Nie wszystkie typy raportów z platformy AWQL są obsługiwane w języku GAQL.
    2. Nie wszystkie zapytania AWQL są dokładnie tłumaczone na zapytania GAQL.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.