Ressourcen mutieren

Die Google Ads API bietet je nach Anwendungsfall mehrere Möglichkeiten zum Ändern von Ressourcen:

  • Ressourcendienst ändert: Jede änderbare Ressource hat einen dedizierten Dienst, der Vorgänge für diesen bestimmten Ressourcentyp ausführt. Für die Ressource Campaign wird beispielsweise der Endpunkt CampaignService.MutateCampaigns zum Erstellen, Aktualisieren oder Entfernen von Kampagnen verwendet.
  • Bulk-Mutations:Der Endpunkt GoogleAdsService.Mutate umfasst eine Reihe von Mutationsvorgängen für mehrere Ressourcentypen (und in Version 23 und höher unterstützte Aktionsvorgänge wie das Buchen oder Anfordern von Angeboten für Kampagnen) in einer einzigen synchronen Anfrage.
  • Asynchrone Batchjobs:Bei umfangreichen Änderungen oder zeitaufwendigen Arbeitslasten führt BatchJobService Vorgänge asynchron aus, ohne dass es zu Zeitüberschreitungen bei synchronen Anfragen kommt. Im Gegensatz zu GoogleAdsService.Mutate wird BatchJobService immer mit Semantik für Teilausfälle ausgeführt und unterstützt weder den validate_only-Modus noch Aktionsvorgänge (book_campaigns_operation, quote_campaigns_operation). Da Teilausfälle immer aktiv sind, lehnt BatchJobService Ressourcenoperationen ab, deren zugrunde liegende Dienste keine Teilausfälle unterstützen (z. B. CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation und CustomerConversionGoalOperation), und gibt MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE zurück.

Vorteile von Bulk-Mutations

Die Verwendung von GoogleAdsService.Mutate bietet die folgenden Vorteile (siehe Best Practices für Mutate für Implementierungsanleitungen):

  • Gruppierte Aktionen für verschiedene Ressourcendienste:Bei einzelnen Aufrufen von Ressourcendiensten werden nur Vorgänge für einen einzelnen Ressourcentyp akzeptiert. Mit GoogleAdsService.Mutate können Sie jedoch mehrere Ressourcentypen in einem Aufruf ändern.
  • Temporäre Ressourcennamen:Sie können neu erstellten übergeordneten Entitäten negative Ganzzahl-IDs (z. B. customers/CUSTOMER_ID/campaigns/-1) zuweisen und in untergeordneten Vorgängen innerhalb derselben Anfrage auf diese temporären IDs verweisen.

Mit diesen Funktionen können Sie GoogleAdsService.Mutate verwenden, um eine gesamte Kampagnenhierarchie atomar zu erstellen, sodass alle Vorgänge gemeinsam erfolgreich sind oder fehlschlagen. Alternativ können Sie partial_failure auf true festlegen, um gültige Vorgänge unabhängig voneinander zu übertragen.