将 Mailchimp 数据加载到 BigQuery 中

您可以使用适用于 Mailchimp 的 BigQuery Data Transfer Service 连接器将数据从 Mailchimp 加载到 BigQuery。借助 BigQuery Data Transfer Service,您可以安排周期性转移作业,以将 Mailchimp 中的最新数据添加到 BigQuery。Mailchimp 连接器支持多账号,包括标准版和精简版 Mailchimp 账号。

限制

  • Mailchimp Marketing API 最多只支持每位用户建立 10 个并发连接。超出此限制会导致 429: TooManyRequests: You have exceeded the limit of 10 simultaneous connections 错误
    • 为避免达到此速率限制,我们建议每个 Mailchimp 账号仅运行一次数据迁移。
    • 如需了解详情,请参阅错误词汇表
  • 在 Mailchimp 中,Integer 数据类型在所有对象中的最大支持值为 2,147,483,647。
    • 不过,某些 Mailchimp 字段支持更高的值,例如 EcommerceOrderLinesEcommerceCartLines 中的 Quantity 字段。

数组字段限制

Mailchimp 连接器不支持以下 Mailchimp 对象中的 ARRAY 字段:

Mailchimp 对象 不受支持的 ARRAY 字段
Campaigns VariateSettings_SubjectLines
VariateSettings_SendTimes
VariateSettings_FromNames
VariateSettings_ReplyToAddresses
VariateSettings_Contents
VariateSettings_Combinations
EcommerceCarts Lines
EcommerceProducts Variants
ListMembers TagsAggregate
ListMergeFields Options_Choices
Lists Modules
AuthorizedApps Users
AutomationEmails Settings_AutoFbPost
CampaignOpenEmailDetails Opens
EcommerceProductImages VariantIds
ListSignupForms ContentsStyles
ReportEmailActivity Activity
Reports Timewarp

准备工作

以下部分介绍了在创建 Mailchimp 数据转移作业之前需要满足的前提条件。

Mailchimp 前提条件

如需启用从 Mailchimp 到 BigQuery 的数据转移,您必须拥有 Mailchimp API 密钥以进行授权和访问。如需了解如何获取 API 密钥,请参阅生成 API 密钥

BigQuery 前提条件

所需 BigQuery 角色

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

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

所需权限

创建 BigQuery Data Transfer Service 数据转移作业需要以下权限:

  • BigQuery Data Transfer Service 权限:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery 权限:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

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

如需了解详情,请参阅授予 bigquery.admin 访问权限

如果您要设置 Pub/Sub 的转移作业运行通知,请确保您拥有 pubsub.topics.setIamPolicy IAM 权限。如果您只是要设置电子邮件通知,则无需 Pub/Sub 权限。如需了解详情,请参阅 BigQuery Data Transfer Service 运行通知

设置 Mailchimp 数据转移作业

通过使用以下选项之一设置转移配置,将 Mailchimp 数据添加到 BigQuery 中:

控制台

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

    转到“数据传输”

  2. 点击 创建转移作业

  3. 来源类型部分的来源中,选择 Mailchimp - 预览版

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

    • 对于 API 密钥,请输入您的 Mailchimp API 密钥。如需了解详情,请参阅 Mailchimp 前提条件
    • 可选:对于开始日期,请指定新记录的开始日期,以便将其纳入数据转移范围。只有在此日期当天或之后创建的记录才会包含在数据转移中。
      • YYYY-MM-DD 格式输入日期。最小值为 2001-01-01
    • Mailchimp objects to transfer(要转移的 Mailchimp 对象)部分,点击浏览以选择要转移到 BigQuery 目标数据集的任何对象。此外,您还可以在此字段中手动输入要包含在数据转移作业中的任何对象。
  5. 目标设置部分的数据集中,选择您创建用来存储数据的数据集。

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

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

    • 重复频率列表中,选择一个选项来指定此数据转移作业的运行频率。如需指定自定义重复频率,请选择自定义。如果您选择按需,则当您手动触发转移作业时,此转移作业会运行。
    • 如果适用,请选择立即开始从设置的时间开始,并提供开始日期和运行时间。
  8. 可选:在通知选项部分中,执行以下操作:

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

bq

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

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

替换以下内容:

  • PROJECT_ID(可选):您的 Google Cloud 项目 ID。 如果未提供 --project_id 来指定具体项目,则系统会使用默认项目。
  • DATA_SOURCE:数据源,mailchimp
  • NAME:数据转移作业配置的显示名称。转移作业名称可以是任何可让您在需要修改转移作业时识别该转移作业的名称。
  • DATASET:转移作业配置的目标数据集。
  • PARAMETERS:所创建转移作业配置的参数(采用 JSON 格式)。例如 --params='{"param":"param_value"}'。以下是 Mailchimp 数据转移作业的参数:

    • assets:要转移到 BigQuery 的 Mailchimp 对象的路径。
    • connector.authentication.apiKey:Mailchimp API 密钥。
    • connector.startDate:(可选)数据传输中要包含的新记录的开始日期,格式为 YYYY-MM-DD。只有在此日期当天或之后创建的记录才会包含在数据转移中。

以下命令会在默认项目中创建 Mailchimp 数据转移作业。

    bq mk
        --transfer_config
        --target_dataset=mydataset
        --data_source=mailchimp
        --display_name='My Transfer'
        --params='{"assets": "Lists",
            "connector.authentication.apiKey":"1234567",
            "connector.startDate":"2025-01-01"}'
保存转移配置后,Mailchimp 连接器会根据您的安排选项自动触发转移运行。在每次转移运行时,Mailchimp 连接器都会将 Mailchimp 中的所有可用数据转移到 BigQuery。

如需在常规安排之外手动运行数据转移,您可以启动回填运行

数据类型映射

下表将 Mailchimp 数据类型映射到相应的 BigQuery 数据类型:

Mailchimp 数据类型 BigQuery 数据类型 说明
String STRING
Integer INT64
Number BIGNUMERIC Mailchimp Number 数据对象会映射到 BIGNUMERIC 数据类型(用于财务相关字段,例如 PriceOrderTotal)或 FLOAT64 数据类型(用于其他字段,例如 Stats_OpenRateLocation_Latitude)。
Number FLOAT64
Boolean BOOLEAN
采用日期时间格式的 String TIMESTAMP STRING采用日期时间格式的数据类型以 ISO 8601 格式表示。例如 2019-08-24T14:15:22Z

价格

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

排查转移作业设置问题

如果您在设置数据转移作业时遇到问题,请参阅 Mailchimp 数据转移问题

后续步骤

  • 如需大致了解 BigQuery Data Transfer Service,请参阅什么是 BigQuery Data Transfer Service
  • 如需了解如何使用转移作业,包括获取有关转移作业配置的信息、列出转移作业配置以及查看转移作业的运行历史记录,请参阅管理转移作业