Temporäre IDs verwenden

Eine leistungsstarke Funktion von BatchJobService ist die Unterstützung von temporären IDs.

Dazu geben Sie für resource_name der neuen Ressource eine negative ID an. Wenn Sie beispielsweise eine Kampagne erstellen und als Ressourcennamen customers/<YOUR_CUSTOMER_ID>/campaigns/-1 angeben, können Sie bei der Erstellung der Anzeigengruppe in einem späteren Vorgang auf diesen Ressourcennamen verweisen. Die von Ihnen angegebene -1 wird dann automatisch durch die tatsächliche ID der erstellten Kampagne ersetzt.

Beachten Sie bei der Verwendung von temporären Ressourcennamen Folgendes:

  • Ein temporärer Ressourcenname kann erst verwendet werden, nachdem er in einer Ressource definiert wurde. Im folgenden Beispiel muss der Vorgang für die Anzeigengruppe in der Liste der Vorgänge nach dem Vorgang für die Kampagne aufgeführt sein.
  • Temporäre Ressourcennamen werden nicht für Jobs oder Mutationsanfragen gespeichert. Wenn Sie auf eine Ressource verweisen möchten, die in einem vorherigen Job oder einer vorherigen Mutationsanfrage erstellt wurde, verwenden Sie den tatsächlichen Ressourcennamen.
  • Für einen einzelnen Job oder eine einzelne Mutanfrage muss für jeden temporären Ressourcennamen eine eindeutige negative Zahl verwendet werden, auch wenn es sich um verschiedene Ressourcentypen handelt. Wenn eine temporäre ID in einer einzelnen Job- oder Mutanfrage wiederverwendet wird, wird ein Fehler zurückgegeben.

Beispiel

Angenommen, Sie möchten in einer einzigen API-Anfrage eine Kampagne, eine Anzeigengruppe und eine Anzeige hinzufügen. Sie würden eine Struktur für Ihre Anfrage analog zu der folgenden erstellen:

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"
        ...
      }
    }
  },
]

Für die Anzeigengruppe wird eine neue temporäre ID verwendet, da wir die -1, die wir für die Kampagne verwendet haben, nicht wiederverwenden können. Außerdem wird auf diese Anzeigengruppe verwiesen, wenn wir eine Anzeigengruppenanzeige erstellen. Die Anzeigengruppe selbst verweist auf den Ressourcennamen, den wir in einem früheren Vorgang in der Anfrage für die Kampagne festgelegt haben. resource_name in ad_group_ad_operation ist nicht erforderlich, da kein weiterer Vorgang darauf verweist.