BatchJobService
est une fonctionnalité puissante, car elle permet d'utiliser des ID temporaires.
Pour ce faire, spécifiez le resource_name
de la nouvelle ressource pour utiliser un ID négatif. Par exemple, si vous créez une campagne et spécifiez son nom de ressource comme customers/<YOUR_CUSTOMER_ID>/campaigns/-1
, lorsque vous créez le groupe d'annonces dans une opération ultérieure, vous pouvez le référencer par ce nom de ressource. Le -1
que vous avez spécifié sera automatiquement remplacé par l'ID réel de la campagne créée.
Voici quelques points à retenir lorsque vous utilisez des noms de ressources temporaires:
- Un nom de ressource temporaire ne peut être utilisé qu'après avoir été défini dans une ressource. Dans l'exemple ci-dessous, l'opération de groupe d'annonces doit apparaître après l'opération de campagne dans la liste des opérations.
- Les noms de ressources temporaires ne sont pas mémorisés entre les tâches ou les requêtes de modification. Pour référencer une ressource créée dans une tâche ou une requête de modification précédente, utilisez son nom de ressource réel.
- Pour une seule tâche ou une seule requête de modification, chaque nom de ressource temporaire doit utiliser un nombre négatif unique, même s'il s'agit de différents types de ressources. Si un ID temporaire est réutilisé dans une seule tâche ou une seule requête de modification, une erreur est renvoyée.
Exemple
Pour donner un exemple plus concret de la situation mentionnée ci-dessus, supposons que vous souhaitiez ajouter une campagne, un groupe d'annonces et une annonce dans une seule requête API. Vous devez créer une structure pour votre requête semblable à celle-ci:
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"
...
}
}
},
]
Notez qu'un nouvel ID temporaire est utilisé pour le groupe d'annonces, car nous ne pouvons pas réutiliser l'-1
que nous avons utilisé pour la campagne. Nous faisons également référence à ce groupe d'annonces lorsque nous créons une annonce de groupe d'annonces. Le groupe d'annonces lui-même fait référence au nom de la ressource que nous avons défini pour la campagne dans une opération précédente de la requête, tandis que resource_name
dans ad_group_ad_operation
n'est pas nécessaire, car aucune autre opération ne le référence.