Choć większość usług udostępnia synchroniczne interfejsy API, wymaga to wysłania żądania i oczekiwania na odpowiedź. Jednak BatchJobService
umożliwia wykonywanie wsadów operacji na wielu usługach bez synchronicznego oczekiwania na ich zakończenie.
W przeciwieństwie do operacji mutacji dotyczących poszczególnych usług jedno zadanie w BatchJobService
może działać w obrębie mieszanej kolekcji kampanii, grup reklam, reklam, kryteriów, etykiet i elementów pliku danych.
Przesłane zadania są uruchamiane równolegle, a BatchJobService
automatycznie ponawia próby operacji, które zakończyły się niepowodzeniem z powodu błędów przejściowych, takich jak błędy limitu liczby żądań. Interfejs Google Ads API nadal wlicza każdą operację do dziennego limitu operacji zgodnie z instrukcjami zliczania operacji interfejsu API.
Dodatkowo BatchJobService
umożliwia używanie w żądaniach tymczasowych identyfikatorów, aby można było przesyłać operacje zależne w ramach jednego zadania.
Operacje
BatchJobService
obsługuje wszystkie operacje wymienione w zadaniu MutateOperation
z kilkoma ważnymi wyjątkami.
Interfejs Google Ads API wykonuje wszystkie operacje w zadaniu z włączonym częściowym niepowodzeniem. Jeśli zadanie zostanie anulowane lub poszczególne operacje zakończą się niepowodzeniem, udane operacje nie zostaną wycofane.
Poniższe operacje w zadaniu MutateOperation
muszą być niepowtarzalne, dlatego nie obsługują częściowych błędów i nie są obsługiwane w zadaniach wsadowych. Unikaj dodawania ich do zadań, ustaw w żądaniach wartość partial_failure
jako false
i użyj metody mutate
w GoogleAdsService
.
Nieobsługiwane operacje w BatchJobService
CampaignConversionGoalOperation
ConversionGoalCampaignConfigOperation
CustomConversionGoalOperation
CustomerConversionGoalOperation
CustomerOperation