Una potente funzionalità di BatchJobService
è che
supporta l'utilizzo di ID temporanei.
Puoi farlo specificando il nuovo resource_name
della risorsa da utilizzare
un ID negativo. Ad esempio, supponiamo di creare una campagna e di specificare il relativo nome risorsa
come customers/<YOUR_CUSTOMER_ID>/campaigns/-1
. Quando crei il
gruppo di annunci in un'operazione successiva, puoi farvi riferimento in base al nome della risorsa
e il -1
che hai specificato verrà sostituito automaticamente dall'ID effettivo della campagna creata.
Ecco alcuni aspetti da tenere presente quando utilizzi i nomi delle risorse temporanei:
- Un nome di risorsa temporaneo può essere utilizzato solo dopo essere stato definito in una risorsa. Nell'esempio seguente, l'operazione del gruppo di annunci deve essere visualizzata dopo l'operazione della campagna nell'elenco delle operazioni.
- I nomi delle risorse temporanee non vengono memorizzati tra job o richieste di mutazione. Per fare riferimento a una risorsa creata in un job o in una richiesta di mutazione precedente, utilizza il relativo nome risorsa effettivo.
- Per una singola richiesta di mutate o di lavoro, ogni nome di risorsa temporanea deve utilizzare un numero negativo univoco, anche se appartengono a tipi di risorse diversi. Se un ID temporaneo viene riutilizzato in un singolo job o in una richiesta di modifica, viene restituito un errore.
Esempio
Supponiamo che tu voglia aggiungere una campagna, un gruppo di annunci e un annuncio in un'unica richiesta API. Creeresti una struttura per la tua richiesta analoga alla seguente:
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"
...
}
}
},
]
Per il gruppo di annunci viene utilizzato un nuovo ID temporaneo, poiché non possiamo riutilizzare -1
che abbiamo utilizzato per la campagna. Facciamo riferimento a questo gruppo di annunci anche quando creiamo un annuncio
del gruppo di annunci. Il gruppo di annunci fa riferimento al nome della risorsa che abbiamo stabilito per la campagna in un'operazione precedente della richiesta, mentre resource_name
in ad_group_ad_operation
non è necessario perché non fa riferimento a nessun'altra operazione.