BatchJobService
的一个强大功能是,
支持使用临时 ID。
为此,您可以指定新资源的 resource_name
以使用
排除 ID。例如,如果您创建了一个广告系列,并指定其资源名称
设为 customers/<YOUR_CUSTOMER_ID>/campaigns/-1
,则在创建
那么您可以通过资源名称来引用该广告组
您指定的 -1
将被替换为所创建广告系列的实际 ID
。
使用临时资源名称时,请注意以下事项:
- 临时资源名称只有在 资源。在下面的示例中,广告组操作 在操作列表中的广告系列操作之后。
- 系统无法跨作业或 mutate 请求记住临时资源名称; 要引用在上一个作业或 mutate 请求中创建的资源,请使用其 实际资源名称
- 对于单个作业或 mutate 请求,每个临时资源名称必须使用 唯一负数,即使它们来自不同的资源类型也是如此。如果 在单个作业或 mutate 请求中重复使用了临时 ID,则会引发错误 。
示例
为了针对上述情况提供更具体的示例,假设您 您希望在单个 API 请求中添加广告系列、广告组和广告。您 将为您的请求创建一个类似于以下内容的结构:
mutate_operations: [
{
campaign_operation: {
create: {
resource_name: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1",
...
}
}
},
{
ad_group_operation: {
create: {
resource_name: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2",
campaign: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1"
...
}
}
},
{
ad_group_ad_operation: {
create: {
ad_group: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2"
...
}
}
},
]
请注意,由于无法重复使用相同的 ID,该广告组将使用新的临时 ID。
我们为广告系列使用的 -1
,在广告展示时也会引用此广告组
制作广告组广告。广告组本身会引用
已在该请求的早期操作中为广告系列创建,而
不需要 ad_group_ad_operation
中的 resource_name
,因为没有进一步的
操作会引用它。