Temporäre IDs verwenden

Eine leistungsstarke Funktion von BatchJobService ist, dass sie die Verwendung temporärer IDs unterstützt.

Dazu geben Sie den resource_name der neuen Ressource an, um eine negative ID zu verwenden. Angenommen, Sie erstellen eine Kampagne und geben ihren Ressourcennamen als customers/<YOUR_CUSTOMER_ID>/campaigns/-1 an. Wenn Sie die Anzeigengruppe in einem späteren Vorgang erstellen, können Sie mit diesem Ressourcennamen darauf verweisen. Die von Ihnen angegebene -1 wird dann automatisch durch die tatsächliche ID der erstellten Kampagne ersetzt.

Bei der Verwendung temporärer Ressourcennamen ist Folgendes zu beachten:

  • Ein temporärer Ressourcenname kann erst verwendet werden, nachdem er in einer Ressource definiert wurde. Im folgenden Beispiel muss der Anzeigengruppenvorgang in der Liste der Vorgänge nach dem Kampagnenvorgang aufgeführt sein.
  • Temporäre Ressourcennamen werden nicht für Jobs oder Änderungsanfragen gespeichert. Wenn Sie auf eine Ressource verweisen möchten, die in einem vorherigen Job oder einer vorherigen Änderungsanfrage erstellt wurde, verwenden Sie den tatsächlichen Ressourcennamen.
  • Für einen einzelnen Job oder eine einzelne Änderungsanfrage muss für jeden temporären Ressourcennamen eine eindeutige negative Zahl verwendet werden, auch wenn sie von verschiedenen Ressourcentypen stammen. Wenn eine temporäre ID in einem einzelnen Job oder einer einzelnen Änderungsanfrage 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 erstellen eine Struktur für Ihre Anfrage, die der folgenden ähnelt:

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 die für die Kampagne verwendete -1 nicht wiederverwendet werden kann. Wir verweisen auch auf diese Anzeigengruppe, wenn wir eine Anzeigengruppenanzeige erstellen. Die Anzeigengruppe selbst verweist auf den Ressourcennamen, den wir für die Kampagne in einem früheren Vorgang in der Anfrage festgelegt haben. resource_name in ad_group_ad_operation ist nicht erforderlich, da kein weiterer Vorgang darauf verweist.