Utilizzare gli ID temporanei
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[null,null,["Ultimo aggiornamento 2025-08-27 UTC."],[[["\u003cp\u003e\u003ccode\u003eBatchJobService\u003c/code\u003e allows the use of temporary IDs (negative numbers) for new resources within a single job, enabling you to reference them in subsequent operations within the same request.\u003c/p\u003e\n"],["\u003cp\u003eTemporary resource names must be unique within a single job or mutate request and are not remembered across different jobs or requests; use actual resource names for referencing resources created earlier.\u003c/p\u003e\n"],["\u003cp\u003eResources with temporary IDs must be defined before being referenced by other operations within the same request, ensuring the order of operations reflects dependencies.\u003c/p\u003e\n"]]],[],null,["# Using temporary IDs\n\nA powerful feature of [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) is that\nit supports the use of temporary IDs.\n\nYou can do this by specifying the new resource's `resource_name` to use a\nnegative ID. For example, suppose you create a campaign and specify its resource name\nas `customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1`. When you create the\nad group in a later operation, you can then reference it by that resource name\nand the `-1` you specified will be replaced by the actual ID of the created\ncampaign automatically.\n\nHere are some things to keep in mind when using temporary resource names:\n\n- A temporary resource name can only be used after it's been defined in a resource. In the following example, the ad group operation would have to appear after the campaign operation in the list of operations.\n- Temporary resource names are not remembered across jobs or mutate requests. To reference a resource created in a previous job or mutate request, use its actual resource name.\n- For a single job or mutate request, each temporary resource name must use a unique negative number, even if they are from different resource types. If a temporary ID is reused in a single job or mutate request, then an error is returned.\n\n### Example\n\nSuppose you want to add a campaign, an ad group, and an ad in a single API\nrequest. You would create a structure for your request analogous to the\nfollowing: \n\n mutate_operations: [\n {\n campaign_operation: {\n create: {\n resource_name: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1\",\n ...\n }\n }\n },\n {\n ad_group_operation: {\n create: {\n resource_name: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/adGroups/-2\",\n campaign: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1\"\n ...\n }\n }\n },\n {\n ad_group_ad_operation: {\n create: {\n ad_group: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/adGroups/-2\"\n ...\n }\n }\n },\n ]\n\nA new temporary ID is used for the ad group, since we can't reuse the `-1` that\nwe used for the campaign. We also reference this ad group when creating an ad\ngroup ad. The ad group itself references the resource name we established for\nthe campaign in an earlier operation in the request, while `resource_name` in\n`ad_group_ad_operation` is not necessary since no further operation is\nreferencing it."]]