Копирование данных из Google Ads с помощью Azure Data Factory или Synapse Analytics

ПРИМЕНИМО К: Azure Data Factory Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

В этой статье описывается, как использовать действие копирования в конвейере Azure Data Factory или Synapse Analytics для копирования данных из Google Ads. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.

Внимание

Пожалуйста, обновите версию драйвера Google Ads до 18 февраля 2024 года. В противном случае подключение начнет завершаться ошибкой ошибка из-за устаревшего драйвера.

Поддерживаемые возможности

Этот соединитель Google Ads поддерживается для следующих возможностей:

Поддерживаемые возможности IR
Copy activity (источник/-) (1) (2)
Операция поиска (1) (2)

(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции

Список хранилищ данных, которые поддерживаются в качестве источников/приемников, см. в таблице Поддерживаемые хранилища данных.

Служба предоставляет встроенный драйвер для обеспечения подключения, поэтому вам не нужно вручную устанавливать какой-либо драйвер с помощью этого соединителя.

Начало работы

Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:

Создание связанной службы в Google Ads с помощью пользовательского интерфейса

Выполните следующие действия, чтобы создать связанную службу с Google Ads в пользовательском интерфейсе портала Azure.

  1. Перейдите на вкладку "Управление" в рабочей области Azure Data Factory или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".

  2. Найдите Google Ads и выберите соединитель Google Ads.

    Снимок экрана: соединитель Google Ads.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Снимок экрана конфигурации связанной службы Google Ads.

Сведения о конфигурации соединителя

В следующих разделах содержатся сведения о свойствах, которые используются для определения компонентов Data Factory, относящихся к коннектору Google Ads.

Свойства связанной службы

Следующие свойства поддерживаются для связанной службы Google Ads:

Свойство Описание: Обязательное поле
тип Для свойства type необходимо задать значение GoogleAdWords. Да
googleAdsApiVersion Версия API Google Ads, используемая при выборе рекомендуемой версии драйвера. См. эту статью для сведений о версии API. Да
Идентификатор клиента-заказчика Идентификатор клиента учетной записи Рекламы, для которой требуется получить данные отчета. Да
логинИдентификаторКлиента Идентификатор клиента учетной записи менеджера Google Ads, с помощью которой требуется получить данные отчета о конкретном клиенте. Нет
токен разработчика Маркер разработчика, связанный с учетной записью руководителя, используемой для предоставления доступа к API рекламы. Вы можете пометить это поле как SecureString для безопасного хранения или хранить пароль в Azure Key Vault и разрешить операции копирования извлекать его оттуда при копировании данных; узнайте больше о хранении учетных данных в Key Vault. Да
тип аутентификации Механизм OAuth 2.0 для аутентификации.
Допустимые значения: ServiceAuthentication, UserAuthentication.
ServiceAuthentication может использоваться только в самостоятельно хостируемых IR.
Да
Для userAuthentication:
рефреш токен Токен обновления, полученный от Google для авторизации доступа к рекламным услугам Google для аутентификации пользователя. Вы можете пометить это поле как SecureString для безопасного хранения или хранить пароль в Azure Key Vault и разрешить операции копирования извлекать его оттуда при копировании данных; узнайте больше о хранении учетных данных в Key Vault. Нет
clientId Идентификатор клиента приложения Google, используемый для получения маркера обновления. Вы можете пометить это поле как SecureString для безопасного хранения или хранить пароль в Azure Key Vault и разрешить операции копирования извлекать его оттуда при копировании данных; узнайте больше о хранении учетных данных в Key Vault. Нет
clientSecret Секрет клиента приложения Google, используемый для получения токена обновления. Вы можете пометить это поле как SecureString для безопасного хранения или хранить пароль в Azure Key Vault и разрешить операции копирования извлекать его оттуда при копировании данных; узнайте больше о хранении учетных данных в Key Vault. Нет
Для ServiceAuthentication:
эл. почта Идентификатор электронной почты учетной записи службы, используемый для ServiceAuthentication (аутентификация сервиса), может использоваться только в самостоятельно размещаемых IR. Нет
закрытый ключ Закрытый ключ службы, используемый для аутентификации службы в рекомендованной версии драйвера, и может применяться только в локальной среде IR. Вы можете пометить это поле как SecureString для безопасного хранения или хранить пароль в Azure Key Vault и разрешить операции копирования извлекать его оттуда при копировании данных; узнайте больше о хранении учетных данных в Key Vault. Нет
Для ServiceAuthentication с использованием устаревшей версии драйвера:
эл. почта Идентификатор электронной почты учетной записи службы, используемый для ServiceAuthentication (аутентификация сервиса), может использоваться только в самостоятельно размещаемых IR. Нет
keyFilePath Полный путь к файлу ключа .p12 или .json, используемый для аутентификации адреса электронной почты учетной записи службы, также может использоваться только в локальной среде IR. Нет
trustedCertPath Полный путь к .pem файлу, содержащему сертификаты доверенного Центра сертификации для проверки сервера при подключении по протоколу TLS. Это свойство можно установить только при использовании TLS в локальных средах выполнения интеграции. Значением по умолчанию является файл cacerts.pem, который устанавливается вместе с IR. Нет
использовать системное хранилище доверия Указывает, следует ли использовать сертификат ЦС из доверенного хранилища системы или из указанного PEM-файла. По умолчанию используется значение false. Нет

Пример:

{
    "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"
        }
    }
}

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе представлен список свойств, поддерживаемых набором данных Google Ads.

Чтобы скопировать данные из Google Ads, задайте для свойства типа набора данных значение GoogleAdWordsObject. Поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Свойство type (Тип) для набора данных должно иметь значение: GoogleAdWordsObject Да
tableName Имя таблицы. Укажите это свойство при использовании устаревшей версии драйвера. Нет (если в источнике активности указано свойство "query")

Пример

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

Свойства Copy activity

Полный список разделов и свойств, используемых для определения действий, обратитесь к статье Конвейеры. В этом разделе представлен список свойств, поддерживаемых источником Google Ads.

Чтобы скопировать данные из Google Ads, задайте тип источника в копировальном действии на GoogleAdWordsSource. В разделе source действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Для свойства type источника действия копирования необходимо задать значение GoogleAdWordsSource. Да
запрос Используйте запрос GAQL для чтения данных. Например: SELECT campaign.id FROM campaign. Нет (если для набора данных задано свойство tableName)

Пример:

"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>"
            }
        }
    }
]

Свойства операции поиска

Подробные сведения об этих свойствах см. в разделе Действие поиска.

Обновление версии драйвера Google Ads

Чтобы обновить версию драйвера Google Ads, необходимо обновить связанную службу и узнать, как перейти с SQL на язык запросов Google Ads (GAQL).

Обновление конфигурации связанной службы

На странице "Изменить связанную службу" выберите Рекомендуется в разделе Версия драйвера и настройте связанную службу, указав свойства связанной службы.

Миграция из SQL в GAQL

Преобразуйте инструкции запроса и имена полей при миграции из SQL в GAQL.

Инструкции запросов

Если вы используете SQL-запрос в источнике действия копирования или в действии подстановки, которое ссылается на устаревшую связанную службу Google Ads, необходимо обновить их до GAQL-запроса.

В отличие от SQL, запрос в GAQL состоит из шести типов предложений:

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

Перейдите к грамматике языка запросов Google Ads для введения GAQL.

Выполните следующую инструкцию SQL в качестве примера:

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

Чтобы преобразовать инструкцию SQL в соответствующую инструкцию GAQL, выполните приведенные ниже инструкции:

  1. Если * (звездочка) используется после SELECT предложения, необходимо указать все обязательные поля вместо звездочки, так как GAQL не поддерживает SELECT *. Перейдите к этой статье , чтобы просмотреть все доступные для выбора поля в определенном ресурсе.
  2. Если имя поля используется после SELECT условия, то необходимо преобразовать его в соответствующее имя поля в GAQL, поскольку у них разные соглашения об именовании. Например, имя campaign_id поля в инструкции SQL-запроса должно быть преобразовано campaign.id в GAQL. Дополнительные сведения о преобразовании имен полей см. в разделе "Имя поля".
  3. Имя ресурса можно оставить, если его написание согласуется с указанным здесь.
  4. WHERE предложение должно быть обновлено в соответствии с грамматикой GAQL, поскольку операторы, которые поддерживаются GAQL, отличаются от SQL, и имя поля также необходимо преобразовать, как указано во втором пункте.

Ниже приведены два очень полезных инструмента, предлагаемых Google, и они настоятельно рекомендуется при создании соответствующих инструкций запросов GAQL:

Имя поля

Имя поля, используемое в SQL, не соответствует GAQL. Кроме того, необходимо усвоить правила преобразования из имен полей в SQL в имена полей в GAQL. Правило преобразования можно свести следующим образом:

  • Если имя поля принадлежит ресурсу, символ подчеркивания (_) в SQL будет изменен на точку (.) в GAQL. И для слов в точке, выражение в стиле camelCase, используемое в SQL, будет изменено на отдельные слова с добавленными нижними подчеркиваниями между ними. Первая строка типа PascalCase в SQL будет изменена на соответствующее имя ресурса в GAQL.

  • Если имя поля принадлежит сегментам или метрикам, префикс segments. или metrics. следует добавить в GAQL, то следуйте тому же правилу, как описано в первой точке, чтобы преобразовать имя.

Ниже приведены конкретные примеры преобразования имени поля:

Категория Имена полей в SQL Имена полей в GAQL
Поля ресурсов Campaign_startDate campaign.start_date
Поля ресурсов Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
Сегменты DayOfWeek segments.day_of_week
Метрики VideoViews metrics.video_views

В таблице ниже показаны различия функций между Google Ads с помощью рекомендуемой и устаревшей версии драйвера.

Рекомендуемая версия драйвера Устаревшая версия драйвера
Указание версии API Google Ads поддерживается. Указание версии API Google Ads не поддерживается.
ServiceAuthentication поддерживает два свойства:
  •Отправить по электронной почте
  • закрытый ключ
ServiceAuthentication поддерживает четыре свойства:
  •Отправить по электронной почте
  • keyFilePath (путь к файлу ключа)
  • доверенныйПутьСертификации
  • useSystemTrustStore
Выбор таблицы в наборе данных не поддерживается. Поддержка выбора таблицы в наборе данных и запроса таблицы в действиях копирования.
Поддержка синтаксиса GAQL в качестве языка запросов. Поддержка синтаксиса SQL в качестве языка запросов.
Имена выходных столбцов совпадают с именами полей, определенными в Google Ads. Имена выходных столбцов не совпадают с именами полей, определенными в Google Ads.
Следующие сопоставления используются для преобразования типов данных Google Ads в промежуточные типы данных, используемые службой внутренне.

float -> число с плавающей запятой
int32 —> int
int64 -> long
Следующие сопоставления используются для преобразования типов данных Google Ads в промежуточные типы данных, используемые службой внутренне.

float — > строка
int32 —> строка
int64 —> строка

Обновление соединителя Google AdWords до соединителя Google Ads

Обновите связанную службу Google AdWords до последней версии связанной службы Google Ads, следуя нижеприведённым шагам:

  1. Выберите рекомендуемую версию драйвера, чтобы создать связанную службу Google Ads и настроить ее, указав свойства связанной службы.

  2. Обновите конвейеры, которые ссылаются на устаревшую связанную службу Google AdWords. Учитывая, что связанная служба Google Ads поддерживает только запрос для копирования данных, поэтому:

    1. Если ваш поток данных напрямую извлекает данные из отчета Google Ads, найдите соответствующее название ресурса Google Ads в таблице ниже и используйте этот инструмент для составления запроса.

      Отчет Google AdWords Ресурс Google Ads
      ОТЧЕТ_О_ПРОИЗВОДИТЕЛЬНОСТИ_АККАУНТА клиент
      AD_PERFORMANCE_REPORT рекламная_группа_объявлений
      Отчет_о_производительности_группы_объявлений группа объявлений
      ОТЧЕТ О ПРОИЗВОДИТЕЛЬНОСТИ ПО ВОЗРАСТНЫМ ГРУППАМ просмотр диапазона возрастов
      ОТЧЕТ_О_ПРОИЗВОДИТЕЛЬНОСТИ_АУДИТОРИИ campaign_audience_view,ad_group_audience_view
      ОТЧЕТ_О_ПРОИЗВОДИТЕЛЬНОСТИ_АВТОМАТИЧЕСКИХ_РАЗМЕЩЕНИЙ Просмотр_размещения_группы
      ОТЧЕТ_О_ПРОИЗВОДИТЕЛЬНОСТИ_ПО_ЦЕЛЯМ_СТАВОК стратегия торгов
      ОТЧЕТ_О_ВЫПОЛНЕНИИ_БЮДЖЕТА бюджет_кампании
      Отчет по Метрикам Звонков и Деталям call_view
      ОТЧЕТ_О_ЦЕЛЕВОМ_ГРАФИКЕ_РЕКЛАМНОЙ_КАМПАНИИ Просмотр_расписания_рекламы
      ОТЧЕТ_ПО_КРИТЕРИЯМ_КАМПАНИИ критерий_кампании
      ОТЧЕТ_О_ЭФФЕКТИВНОСТИ_КАМПАНИИ кампания
      Отчет о общем наборе кампании набор, общий для кампании
      ОТЧЕТ_О_ЦЕЛЕВОМ_РАСПОЛОЖЕНИИ_КАМПАНИИ просмотр_местоположения
      ОТЧЕТ_О_ЭФФЕКТИВНОСТИ_КЛИКОВ нажатие_просмотр
      ОТОБРАЖЕНИЕ_ОТЧЕТА_О_ЭФФЕКТИВНОСТИ_КЛЮЧЕВЫХ_СЛОВ отображение_ключевого_слова_вид
      ОТЧЕТ О ПРОИЗВОДИТЕЛЬНОСТИ ТЕМ вид_темы
      ОТЧЁТ_О_ПОЛОВОЙ_ПРОИЗВОДИТЕЛЬНОСТИ вид_гендера
      GEO_PERFORMANCE_REPORT географический_просмотр,просмотр_по_местоположению_пользователя
      Отчет_по_поисковому_запросу_без_ключевых_слов динамические_поисковые_объявления_отображение_поисковых_терминов
      ОТЧЕТ_О_ЭФФЕКТИВНОСТИ_КЛЮЧЕВЫХ_СЛОВ просмотр_ключевого_слова
      LABEL_REPORT метка
      ОТЧЕТ_ПО_ПОСАДОЧНОЙ_СТРАНИЦЕ представление_страницы_посадки,расширенное_представление_страницы_посадки
      Отчёт по платным и органическим запросам просмотр_платного_органического_поискового_запроса
      ОТЧЕТ О РЕЗУЛЬТАТАХ ПО РОДИТЕЛЬСКОМУ СТАТУСУ просмотр родительского статуса
      ЗАГЛУШКА_ОТЧЕТ_ЭЛЕМЕНТА_ЛЕНТЫ feed_item,feed_item_target
      PLACEHOLDER_REPORT feed_placeholder_view
      ОТЧЕТ_О_ЭФФЕКТИВНОСТИ_РАЗМЕЩЕНИЙ представление_управляемого_размещения
      ОТЧЁТ_О_РАЗДЕЛЕНИИ_ПРОДУКТА просмотр_группы_продуктов
      Отчёт об эффективности поисковых запросов просмотр термина поиска
      SHARED_SET_CRITERIA_REPORT (Отчет по критериям общего набора) общий_критерий
      ОТЧЕТ_О_ОБЩЕМ_НАБОРЕ shared_set
      ОТЧЕТ_О_ЭФФЕКТИВНОСТИ_ПОКУПОК обзор_производительности_покупок
      ОТЧЕТ_О_ПРОИЗВОДИТЕЛЬНОСТИ_СОДЕРЖАНИЯ_ТОП Больше не доступен в API Google Ads.
      URL_PERFORMANCE_REPORT просмотр_размещения_деталей
      ОТЧЕТ_О_ДИСТАНЦИИ_РЕКЛАМЫ_ПОЛЬЗОВАТЕЛЯ дистанционное отображение
      ОТЧЕТ_О_ПРОИЗВОДИТЕЛЬНОСТИ_ВИДЕО видео
  3. Помните, что при этом обновлении существуют определенные ограничения:

    1. Не все типы отчетов из AWQL поддерживаются в GAQL.
    2. Не все запросы AWQL переводятся в запросы GAQL безупречно.

Список хранилищ данных, которые поддерживаются в качестве источников и приемников для операции копирования, можно найти в разделе поддерживаемые хранилища данных.