Compartir a través de

使用 Azure 数据工厂 或 Synapse Analytics 从 Google Ads 复制数据

适用于: Azure 数据工厂 Azure Synapse Analytics

本文概述了如何在 Azure 数据工厂 或 Synapse Analytics 管道中使用 Copy Activity 从 Google Ads 复制数据。 基于提供复制活动一般概述的复制活动概述一文。

重要

请在 2024 年 2 月 18 日之前升级 Google Ads 驱动程序版本。 否则,由于旧驱动程序的弃用,连接将开始失败并出现错误

支持的功能

以下功能支持此 Google Ads 连接器:

支持的功能 IR
复制操作 (source/-) (1) (2)
查询活动 (1) (2)

(1) Azure集成运行时 (2) 自承载集成运行时

如需可以用作源/接收器的数据存储的列表,请参阅支持的数据存储表。

该服务提供内置的驱动程序用于启用连接,因此使用此连接器无需手动安装任何驱动程序。

入门

若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:

使用 UI 创建到 Google Ads 的链接服务

使用以下步骤在 Azure 门户 UI 中创建指向 Google Ads 的链接服务。

  1. 浏览到Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:

  2. 搜索 Google Ads 并选择 Google Ads 连接器。

    Google Ads 连接器的屏幕截图。

  3. 配置服务详细信息、测试连接并创建新的链接服务。

    Google Ads 的链接服务配置的屏幕截图。

连接器配置详细信息

以下部分提供了用于定义特定于 Google Ads 连接器的数据工厂实体属性的详细信息。

连接的服务属性

Google Ads 链接服务支持以下属性:

属性 描述 必需
类型 type 属性必须设置为:GoogleAdWords
googleAdsApiVersion 选择推荐的驱动程序版本时使用的 Google Ads API 版本。 有关 API 版本信息,可参阅此文章
clientCustomerID 需用于提取报表数据的 Ads 帐户的客户端客户 ID。
登录客户ID 用于获取特定客户报表数据的 Google Ads 经理帐户的客户 ID。
开发者令牌 (developerToken) 与用于授予对 Ads API 的访问权限的管理员帐户相关联的开发人员令牌。 可以选择将此字段标记为 SecureString 以安全存储,或将密码存储在 Azure 密钥保管库 中,并在执行数据复制时让复制活动从中提取 - 详细信息请参见 将凭据存储到 密钥保管库
认证类型 用于身份验证的 OAuth 2.0 身份验证机制。
允许的值为:ServiceAuthentication、UserAuthentication
ServiceAuthentication 只能在自托管 IR 上使用。
对于UserAuthentication
refreshToken 从 Google 获得的刷新令牌,用于授权访问 Ads 以进行用户身份验证。 可以选择将此字段标记为 SecureString 以安全存储,或将密码存储在 Azure 密钥保管库 中,并在执行数据复制时让复制活动从中提取 - 详细信息请参见 将凭据存储到 密钥保管库
clientId Google 应用程序的客户端 ID,用于获取刷新令牌。 可以选择将此字段标记为 SecureString 以安全存储,或将密码存储在 Azure 密钥保管库 中,并在执行数据复制时让复制活动从中提取 - 详细信息请参见 将凭据存储到 密钥保管库
clientSecret Google 应用程序的客户端机密,用于获取刷新令牌。 可以选择将此字段标记为 SecureString 以安全存储,或将密码存储在 Azure 密钥保管库 中,并在执行数据复制时让复制活动从中提取 - 详细信息请参见 将凭据存储到 密钥保管库
对于服务认证:
电子邮件 用于服务身份验证的服务账号电子邮件 ID,只能在自托管 IR 上使用。
私钥 用于 ServiceAuthentication 建议的驱动程序版本的服务私钥,该密钥只能在自托管的 IR 中使用。 可以选择将此字段标记为 SecureString 以安全存储,或将密码存储在 Azure 密钥保管库 中,并在执行数据复制时让复制活动从中提取 - 详细信息请参见 将凭据存储到 密钥保管库
对于使用旧版驱动程序的 ServiceAuthentication
电子邮件 用于 ServiceAuthentication 的服务帐户电子邮件 ID 只能在自托管 IR 上使用。
keyFilePath .p12.json 密钥文件的完整路径,用于验证服务帐户的电子邮件地址,并且只能在自托管的 IR 上使用。
受信证书路径 包含受信任 CA 证书(通过 TLS 进行连接时用来验证服务器)的 .pem 文件的完整路径。 只有在自承载 IR 上使用 TLS 时才能设置此属性。 默认值是随 IR 一起安装的 cacerts.pem 文件。
useSystemTrustStore 指定是使用系统信任存储中的 CA 证书还是使用指定 PEM 文件中的 CA 证书。 默认值是 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 复制数据,请将数据集的 type 属性设置为GoogleAdWordsObject。 支持以下属性:

属性 描述 必需
类型 数据集的 type 属性必须设置为:GoogleAdWordsObject
tableName 表的名称。 使用旧版驱动程序时,请指定此属性。 否(如果在活动源中指定了"query")

示例

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

复制活动 属性

有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 Google Ads 数据源支持的属性列表。

要从 Google Ads 复制数据,请将复制活动中的源类型设置为GoogleAdWordsSource。 复制活动source部分支持以下属性:

属性 描述 必需
类型 复制活动的源的类型属性必须设置为: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>"
            }
        }
    }
]

查找活动属性

若要了解有关属性的详细信息,请查看 Lookup 活动

升级 Google Ads 驱动程序版本

要升级 Google Ads 驱动程序版本,需要更新链接服务,并了解如何从 SQL 迁移到 Google Ads 查询语言 (GAQL)。

更新链接服务配置

在“编辑链接服务”页中,选择“驱动程序版本”下的“推荐”,并参考链接服务属性来配置链接服务。

从 SQL 迁移到 GAQL

从 SQL 迁移到 GAQL 时,转换查询语句和字段名。

查询语句

如果在复制活动源或引用旧版 Google Ads 关联服务的查找活动中使用了 SQL 查询,您需要将其更新为 GAQL 查询。

与 SQL 相比,GAQL 中的查询由六种类型的子句组成:

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

要获取 GAQL 的简介,请转到Google Ads 查询语言语法

以以下 SQL 语句为例:

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

可以按照以下指南将 SQL 语句转换为相应的 GAQL 语句:

  1. 如果在*子句后使用SELECT(星号),需要指定所有必填字段以代替星号,因为 GAQL 不支持SELECT *。 转到此文章以查看特定资源中的所有可选字段。
  2. 如果在SELECT子句之后使用字段名称,需要将名称转换为 GAQL 中的相应字段名称,因为它们具有不同的命名约定。 例如,SQL 查询语句中的字段名称campaign_id应转换为 GAQL 中的campaign.id。 有关字段名称转换的更多详细信息,请参阅字段名称
  3. 资源名称可以保持不变,除非其大小写与此处指定的名称不一致。
  4. WHERE子句应根据GAQL 语法更新,因为 GAQL 支持的运算符与 SQL 不一致,字段名称也应按照第二点中所述进行转换。

下面是 Google 提供的两种非常有用的工具,在生成相应的 GAQL 查询语句时,强烈建议使用这些工具:

字段名称

SQL 中使用的字段名称与 GAQL 不一致。 还需要了解从 SQL 中的字段名称到 GAQL 中的字段名称的转换规则。 转换规则可以如下汇总:

  • 如果字段名称属于资源,SQL 中的下划线 (_) 将更改为 GAQL 中的点 (.)。 对于句点之间的单词,SQL 中使用的 camelCase 类型语句将更改为独立的单词,并在这些单词之间添加下划线。 SQL 中 PascalCase 类型的第一个字符串将更改为 GAQL 中的相应资源名称。

  • 如果字段名称属于段或指标,应在 GAQL 中添加前缀segments.metrics.,然后按照第一个点中所述的相同规则转换名称。

下面是字段名称转换的具体示例:

类别 SQL 中的字段名称 GAQL 中的字段名称
资源字段 Campaign_startDate campaign.start_date
资源字段 Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
Segments DayOfWeek segments.day_of_week
指标 VideoViews metrics.video_views

下表显示了使用推荐驱动程序版本和旧版驱动程序版本的 Google Ads 之间的功能差异。

建议的驱动程序版本 旧版驱动程序版本
支持指定 Google Ads API 版本。 不支持指定 Google Ads API 版本。
ServiceAuthentication 支持两个属性:
  •电子邮件
  • 私钥
ServiceAuthentication 支持四个属性:
  •电子邮件
  • keyFilePath
  • trustedCertPath(可信证书路径)
  • 使用系统信任库 (useSystemTrustStore)
不支持在数据集中选择表。 支持在数据集中选择表并在复制活动中查询表。
支持 GAQL 语法作为查询语言。 支持 SQL 语法作为查询语言。
输出列名称与 Google Ads 中定义的字段名称相同。 输出列名称与 Google Ads 中定义的字段名称不匹配。
以下映射用于从 Google Ads 数据类型到服务内部使用的中间数据类型。

float -> float
int32 -> int
int64 -> long
以下映射用于将 Google Ads 数据类型转换为服务内部使用的临时数据类型。

float -> 字符串
int32 -> string
int64 -> string

将 Google AdWords 连接器升级到 Google Ads 连接器

按照以下步骤将 Google AdWords 链接服务升级到最新的 Google Ads 链接服务:

  1. 选择 推荐 作为驱动程序版本,以新建 Google Ads 链接服务,并通过参考链接服务属性来配置该服务。

  2. 更新引用旧版 Google AdWords 链接服务的管道。 考虑到 Google Ads 链接服务仅支持通过查询来复制数据,因此:

    1. 如果管道直接从 Google AdWords 报表中检索数据,请在下表中找到 Google Ads 的相应资源名称,并使用此工具生成查询。

      Google AdWords 报表 Google Ads 资源
      账户表现报告 (ACCOUNT_PERFORMANCE_REPORT) 客户
      广告表现报告 广告组广告
      广告组绩效报告 ad_group
      年龄范围绩效报告 年龄范围视图
      受众表现报告 campaign_audience_view,ad_group_audience_view
      自动展示位置绩效报告 分组布局视图
      竞标目标执行情况报告 竞价策略
      预算绩效报告 活动预算
      呼叫指标呼叫详细报告 call_view
      活动广告时间表目标报告 广告日程视图
      活动标准报告 活动标准
      CAMPAIGN_PERFORMANCE_REPORT(广告活动绩效报告) 活动
      活动共享设置报告 活动共享集合
      活动位置目标报告 位置视图
      点击表现报告 点击查看
      展示关键词表现报告 显示关键词视图
      显示主题性能报告 主题视图
      性别表现报告 性别视图
      地理性能报告 geographic_view,user_location_view
      无关键词查询报告 动态搜索广告搜索词视图
      关键词性能报告 关键词视图
      标签报告 标签
      登陆页面报告 landing_page_view,expanded_landing_page_view
      PAID_ORGANIC_QUERY_REPORT 付费自然搜索词视图
      家长状态性能报告 父母状态视图
      PLACEHOLDER_FEED_ITEM_REPORT(占位符:提要项目报告) feed_item,feed_item_target
      PLACEHOLDER_REPORT feed_placeholder_view
      广告位绩效报告 managed_placement_view (托管位置视图)
      产品分区报告 产品组视图
      搜索查询性能报告 搜索词视图
      共享设置标准报告 共享标准
      共享集报告 shared_set
      购物性能报告 购物性能视图
      顶部内容性能报告 Google Ads API 中不再可用。
      URL_PERFORMANCE_REPORT 详细放置视图
      用户广告距离报告 视距
      视频性能报告 视频
  3. 请注意,此升级存在一些限制:

    1. GAQL 并不支持 AWQL 中的所有报表类型。
    2. 并非所有 AWQL 查询都已完全转换为 GAQL 查询。

为了获取复制活动支持的数据源和汇集列表,请参阅支持的数据存储