Filter für Eintragsgruppen in Batchjobs verwenden

Wenn Sie mit Filtern für Eintragsgruppen im Kontext von AdGroupCriterion.listing_group oder an AssetGroupListingGroupFilter arbeiten, sollten Sie bei der Entwicklung Ihrer Integration die folgenden Punkte berücksichtigen.

Batchaufteilung

Wenn ein Batchjob Vorgänge enthält, die Anzeigengruppenkriterien oder Filter für Listengruppen von Asset-Gruppen enthalten, werden die Vorgänge im Batchjob beim Empfang durch den Google Ads API-Server in mehrere Unter-Batches aufgeteilt. Im Gegensatz zu Standardvorgängen in einem Batchjob wird jeder Unter-Batch, der Vorgänge für Listengruppenfilter enthält, atomar behandelt.

Die Art und Weise, wie Batchjobs mit Eintragsgruppenfiltern in Unter-Batches aufgeteilt werden, hängt von den folgenden Faktoren ab:

  1. Typ des Eintragsgruppenfilters
  2. Die AdGroup oder AssetGroup, auf die der Eintragsgruppenfilter ausgerichtet ist
  3. Reihenfolge von Vorgängen

Beachten Sie, wie Vorgänge gruppiert werden:

  • Alle aufeinanderfolgenden AssetGroupListingGroupFilterOperation Vorgänge (create, update und remove), die auf dieselbe AssetGroup ausgerichtet sind, werden in einem atomaren Unter-Batch zusammengefasst (kein Verhalten bei teilweisem Fehler).
  • Alle aufeinanderfolgenden AdGroupCriterionOperation Vorgänge (create, update, und remove) für LISTING_GROUP Kriterien (AdGroupCriterion.listing_group) , die auf dieselbe AdGroup ausgerichtet sind, werden in einem atomaren Unter-Batch zusammengefasst (kein Verhalten bei teilweisem Fehler).
  • Alle anderen aufeinanderfolgenden Vorgänge werden in nicht atomaren Unter-Batches zusammengefasst (Verhalten bei teilweisem Fehler).

Das folgende Diagramm veranschaulicht dieses Konzept. Jedes der grauen Kästchen steht für einen Batchjob, der über die Google Ads API gesendet wurde. In den grauen Kästchen sind die einzelnen Vorgänge nach Farbe gruppiert, um die Unter-Batches darzustellen, die der Google Ads API-Server erstellt. Die Reihenfolge der Vorgänge in den einzelnen grauen Kästchen entspricht der Reihenfolge, in der die Vorgänge dem Batchjob hinzugefügt wurden.

Diagramm, das in Unterbatches gruppierte Batchvorgänge zeigt

Beschränkungen

Bei der Arbeit mit Filtern für Eintragsgruppen im Kontext von Batchjobs gelten die folgenden Einschränkungen:

  • Ein einzelner atomarer Unter-Batch mit aufeinanderfolgenden AdGroupCriterionOperation-Vorgängen (create, update und remove) für LISTING_GROUP -Kriterien (AdGroupCriterion.listing_group) , die auf dieselbe AdGroup ausgerichtet sind,darf nicht mehr als 20.000 Vorgänge umfassen. Es wird jedoch empfohlen, 10.000 Vorgänge nicht zu überschreiten. Da jeder AddBatchJobOperationsRequest auf 10.000 Vorgänge begrenzt ist, muss ein AdGroup-Unter-Batch mit 10.001 bis 20.000 Vorgängen auf mindestens zwei aufeinanderfolgende AddBatchJobOperations-Anfragen verteilt werden.
  • Ein einzelner atomarer Unter-Batch mit aufeinanderfolgenden AssetGroupListingGroupFilterOperation Vorgängen (create, update, und remove), die auf dieselbe AssetGroup ausgerichtet sind, darf nicht mehr als 10.000 Vorgänge umfassen.
  • Wenn eine dieser Beschränkungen für die Anzahl der Vorgänge überschritten wird (oder die interne serialisierte Byte-Größenbeschränkung des Servers für einen einzelnen Unter-Batch überschritten wird), wird der Batchjob an diesem Unter-Batch abgebrochen. Alle vorherigen Unter-Batches, die bereits abgeschlossen wurden, bleiben bestehen, während alle Vorgänge im fehlerhaften Unter-Batch und alle nachfolgenden Unter-Batches mit InternalError.INTERNAL_ERROR fehlschlagen.

Fehlerbehebung

Vorgänge für Eintragsgruppenfilter in einem Batchjob werden als eine Transaktion verarbeitet. Dies kann dazu führen, dass viele Vorgänge aufgrund einer kleinen Anzahl fehlerhafter Vorgänge fehlschlagen. Aufgrund der Art und Weise, wie BatchJob Vorgänge verarbeitet werden, kann die Ursache der Fehler an einem Index vor oder nach den nachgelagerten Fehlern auftreten.

Beispiel: Bei der Verarbeitung einer Antwort von ListBatchJobResults:

Diese Fehler weisen darauf hin, dass der Vorgang an diesem Index zurückgesetzt wurde, weil ein anderer Vorgang im selben atomaren Unter-Batch fehlgeschlagen ist. Um die Ursache des Problems zu ermitteln, durchlaufen Sie die status Nachrichten in jedem BatchJobResult – vor und nach dem operation_index des Transaktionsfehlers – für Vorgänge mit derselben AdGroup oder AssetGroup ID.