安排 Salesforce Marketing Cloud 转移作业

借助适用于 Salesforce Marketing Cloud 连接器的 BigQuery Data Transfer Service,您可以自动安排和管理从 Salesforce Marketing Cloud 到 BigQuery 的周期性加载作业。

准备工作

以下部分介绍了在创建 Salesforce Marketing Cloud 数据转移作业之前需要执行的步骤。

Salesforce Marketing Cloud 前提条件

创建 Salesforce Marketing Cloud 数据转移作业时,您必须具备以下信息:

参数名称 说明
subdomain API 子网域
instance API 服务器实例
clientId 应用集成客户端 ID
clientSecret 应用集成客户端密钥

以下步骤展示了如何获取创建 Salesforce Marketing Cloud 数据转移作业所需的信息:

  1. 安装服务器到服务器类型的 API 集成软件包。 记下软件包详情页面的组件部分中的客户端 ID、客户端密钥和子网域。
  2. 登录 Salesforce Marketing Cloud 应用后,在网址中查找 API 服务器实例。实例值包含 s,后跟数值。例如,在网址 https://mc.s4.exacttarget.com/ 中,实例值为 s4。如需了解详情,请参阅查找 Marketing Cloud 账号的堆栈位置

您还必须配置范围权限设置,以允许 Salesforce Marketing Cloud 数据转移:

  1. 登录 Salesforce Marketing Cloud 应用。

  2. 展开个人资料下拉菜单,然后点击 Setup(设置)。

    点击 Salesforce Marketing Cloud 设置中的“Setup”(设置)

  3. Platform Tools(平台工具)下的导航栏中,点击 Apps > Installed packages(应用 > 已安装的软件包)。

  4. 选择已安装的软件包以修改其设置。

  5. Components(组件)部分中,点击 Edit(修改)。

  6. 为以下范围选择 Read(读取)选项:

    • 电子邮件
    • 已保存的内容
    • 历程
    • 回调
    • 宣传活动
    • 订阅
  7. 点击保存

BigQuery 前提条件

所需 BigQuery 角色

如需获得创建转移作业所需的权限,请让您的管理员为您授予 BigQuery Admin (roles/bigquery.admin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色可提供创建转移作业所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

创建转移作业需要以下权限:

  • 针对用户的 bigquery.transfers.update 权限
  • 针对目标数据集的 bigquery.datasets.get 权限
  • 针对目标数据集的 bigquery.datasets.update 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

设置 Salesforce Marketing Cloud 数据转移作业

如需创建 Salesforce Marketing Cloud 数据转移作业,请执行以下操作:

控制台

  1. 前往 Google Cloud 控制台中的“数据转移”页面。

    转到“数据传输”

  2. 点击 创建转移作业

  3. 来源类型部分的来源中,选择 Salesforce Marketing Cloud

  4. 数据源详细信息部分中,执行以下操作:

    • 对于 API 子网域,输入 API 子网域。
    • 对于 API 实例,输入 API 实例值。
    • 对于客户端 ID,输入应用集成客户端 ID。
    • 对于客户端密钥,输入应用集成客户端密钥。
  5. 目标设置部分的数据集中,选择您创建用来存储数据的数据集。

  6. 转移配置名称部分的显示名称中,输入数据转移作业的名称。

  7. 时间表选项部分中,执行以下操作:

    • 重复频率列表中,选择一个选项来指定此数据转移作业的运行频率。如需指定自定义重复频率,请选择自定义。如果您选择按需,则当您手动触发转移作业时,此转移作业会运行。

    • 如果适用,请选择立即开始在设置的时间开始,并提供开始日期和运行时间。

  8. 服务账号菜单中,选择与您的 Google Cloud 项目关联的服务账号。所选服务账号必须具有所需的角色才能运行此数据转移作业。

    如果您使用联合身份登录,则需要有服务账号才能创建数据转移作业。如果您使用 Google 账号登录,则转移作业的服务账号是可选的。

    如需详细了解如何将服务账号用于数据转移,请参阅使用服务账号

  9. 可选:在通知选项部分中,执行以下操作:

    • 如需启用电子邮件通知,请点击电子邮件通知切换开关。启用此选项后,传输作业管理员会在传输作业运行失败时收到电子邮件通知。
    • 如需为此转移作业启用 Pub/Sub 转移作业运行通知,请点击 Pub/Sub 通知切换开关。您可以选择主题名称,也可以点击创建主题来创建某个主题。
  10. 点击保存

当此数据传输作业运行时,BigQuery Data Transfer Service 会根据 REST 接口自动填充以下表。

  • Campaigns
  • Categories
  • EventDefinitions
  • Journeys
  • JourneyActivities
  • SendDefinitions
  • Subscriptions

bq

输入 bq mk 命令并提供转移作业创建标志 --transfer_config

bq mk \
    --transfer_config \
    --project_id=PROJECT_ID \
    --data_source=DATA_SOURCE \
    --display_name=DISPLAY_NAME \
    --target_dataset=DATASET \
    --params='PARAMETERS'

替换以下内容:

  • PROJECT_ID(可选):您的 Google Cloud 项目 ID。如果未提供 --project_id 来指定具体项目,则系统会使用默认项目。
  • DATA_SOURCE:数据源(例如 saphana)。
  • DISPLAY_NAME:此标志表示转移配置的显示名称。数据转移作业名称可以是任何可让您在需要修改数据转移作业时识别该数据转移作业的名称。
  • DATASET:转移作业配置的目标数据集。
  • PARAMETERS:所创建转移作业配置的参数(采用 JSON 格式)。例如 --params='{"param":"param_value"}'。以下是 Salesforce Marketing Cloud 转移作业的参数:
    • connector.subdomain:API 子网域。
    • connector.instance:API 实例值。
    • connector.authentication.oauth.clientId:OAuth 客户端的应用 ID 名称。
    • connector.authentication.oauth.clientSecret:OAuth 客户端的应用密钥。

例如,以下命令会使用所有必需参数在默认项目中创建 Salesforce Marketing Cloud 数据转移作业:

  bq mk \
      --transfer_config \
      --target_dataset=mydataset \
      --data_source=salesforce_marketing \
      --display_name='My Transfer' \
      --params='{"connector.subdomain": "abcd",
      "connector.instance": "x",
      "connector.authentication.oauth.clientId": "1234567890",
      "connector.authentication.oauth.clientSecret":"ABC12345"}'

API

使用 projects.locations.transferConfigs.create 方法并提供 TransferConfig 资源实例。

排查转移作业设置问题

如果您在设置 Salesforce Marketing Cloud 数据转移作业时遇到问题,请尝试以下问题排查步骤:

错误消息

错误:invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.

解决方法:尝试执行以下步骤之一:

  • 启用Google Cloud 资源的所有可用 IP 地址
  • 停用 IP 地址许可名单。为此,您可以登录 Salesforce Marketing Cloud 应用,然后进入 Setup > Security Settings 页面。点击 Edit,然后将 Restrict Logins by IP Address (IP Allowlisting) 设置配置为 IP Allowlisting Disabled

停用 IP 许可名单

错误:INVALID_ARGUMENT. Table tableName does not exist in asset TableName

解决方法:确保您在 Salesforce Marketing Cloud 应用中配置了正确的范围权限。如需了解详情,请参阅 Salesforce Marketing Cloud 前提条件

价格

将 Salesforce Marketing Cloud 数据转移到 BigQuery 的功能处于预览版阶段时,您无需付费即可使用此功能。

后续步骤