Temporäre IDs verwenden

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

Geben Sie dazu den resource_name der neuen Ressource so an, dass er negative ID. Wenn Sie beispielsweise eine Kampagne erstellen und ihren Ressourcennamen angeben, als customers/<YOUR_CUSTOMER_ID>/campaigns/-1 ist, ist beim Erstellen der Anzeigengruppe in einem späteren Vorgang können Sie mit diesem Ressourcennamen darauf verweisen Die von Ihnen angegebene -1 wird durch die tatsächliche ID der erstellten Kampagne ersetzt. automatisch.

Beachten Sie bei der Verwendung temporärer Ressourcennamen Folgendes:

  • Ein temporärer Ressourcenname kann erst verwendet werden, nachdem er in einem . Im Beispiel unten müsste der Vorgang für die Anzeigengruppe nach dem Kampagnenvorgang in der Liste der Vorgänge angezeigt.
  • Namen temporärer Ressourcen werden nicht in allen Jobs oder mutate-Anfragen gespeichert. Um auf eine Ressource zu verweisen, die in einem vorherigen Job oder einer vorherigen mutate-Anfrage erstellt wurde, verwenden Sie ihre tatsächlichen Ressourcennamen.
  • Für einen einzelnen Job oder eine einzelne mutate-Anfrage muss für jeden temporären Ressourcennamen ein eindeutige negative Zahl, auch wenn sie von verschiedenen Ressourcentypen stammen. Wenn eine temporäre ID in einer einzelnen Auftrags- oder mutate-Anfrage wiederverwendet wird, erscheint eine Fehlermeldung, zurückgegeben.

Beispiel

Um ein konkreteres Beispiel für die oben genannte Situation zu geben, nehmen wir an, Sie eine Kampagne, eine Anzeigengruppe und eine Anzeige in einer einzigen API-Anfrage hinzufügen möchten. Ich würde für Ihre Anfrage eine ähnliche Struktur wie folgt erstellt:

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, den -1, den wir für die Kampagne verwendet haben. Wir verweisen auch auf diese Anzeigengruppe, Erstellen einer Anzeige in einer Anzeigengruppe Die Anzeigengruppe selbst verweist auf den Ressourcennamen, die in einem früheren Vorgang für die Kampagne festgelegt wurden, resource_name in ad_group_ad_operation ist nicht erforderlich, da keine weiteren darauf verweist.