Utilizzare gli ID temporanei

Una caratteristica importante di BatchJobService è che supporta l'uso di ID temporanei.

Puoi farlo specificando il valore resource_name della nuova risorsa per utilizzare un ID negativo. Ad esempio, se crei una campagna e ne specifichi il nome risorsa come customers/<YOUR_CUSTOMER_ID>/campaigns/-1, quando crei gruppo di annunci in un'operazione successiva, potrai farvi riferimento con il nome della risorsa e il valore -1 specificato verrà sostituito dall'ID effettivo della campagna creata automaticamente.

Di seguito sono riportati alcuni aspetti da tenere presente quando utilizzi i nomi temporanei delle risorse:

  • Un nome risorsa temporaneo può essere utilizzato solo dopo essere stato definito in un risorsa. Nell'esempio riportato di seguito, l'operazione relativa al gruppo di annunci dovrebbe essere nell'elenco delle operazioni dopo l'operazione.
  • I nomi delle risorse temporanee non vengono memorizzati nei job né nelle richieste di modifica; per fare riferimento a una risorsa creata in un job precedente o modificare una richiesta, utilizza la sua del nome effettivo della risorsa.
  • Per un singolo job o una richiesta di modifica, ogni nome di risorsa temporanea deve utilizzare un numero negativo univoco, anche se provengono da tipi di risorse diversi. Se un ID temporaneo viene riutilizzato in un singolo job o in una richiesta di modifica, viene generato un errore viene restituito.

Esempio

Per fornire un esempio più concreto alla situazione sopra menzionata, supponi di Vuoi aggiungere una campagna, un gruppo di annunci e un annuncio in una singola richiesta API. Tu creerebbe 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"
        ...
      }
    }
  },
]

Tieni presente che viene utilizzato un nuovo ID temporaneo per il gruppo di annunci, in quanto non possiamo riutilizzarlo i -1 che abbiamo utilizzato per la campagna; facciamo riferimento anche a questo gruppo di annunci quando creando un annuncio del gruppo di annunci. Lo stesso gruppo di annunci fa riferimento al nome della risorsa per la campagna in un'operazione precedente nella richiesta, mentre resource_name in ad_group_ad_operation non è necessario perché non serve operativa vi fa riferimento.