با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
در حالی که اکثر سرویسها APIهای همزمانی را ارائه میکنند که از شما میخواهند درخواستی ارسال کنید و سپس منتظر پاسخ باشید، BatchJobService راهی برای انجام دستهای از عملیات روی چندین سرویس بدون انتظار همزمان برای تکمیل عملیات ارائه میدهد.
برخلاف عملیات جهش خاص سرویس، یک کار واحد در BatchJobService میتواند در برابر مجموعهای از کمپینها، گروههای تبلیغاتی، تبلیغات، معیارها، برچسبها و آیتمهای فید عمل کند. کارهای ارسال شده به صورت موازی اجرا می شوند و BatchJobService به طور خودکار عملیات هایی را که به دلیل خطاهای گذرا مانند خطاهای محدودیت نرخ با شکست مواجه می شوند، دوباره امتحان می کند. API Google Ads با پیروی از دستورالعملهای شمارش عملیات API ، همچنان هر عملیات را در حد عملیات روزانه شما حساب میکند.
BatchJobService همچنین به شما امکان می دهد از شناسه های موقت در درخواست های خود استفاده کنید تا بتوانید عملیات وابسته را در یک کار واحد ارسال کنید.
عملیات
BatchJobService از تمام عملیات های فهرست شده در MutateOperation پشتیبانی می کند، به جز چند استثنا مهم.
از آنجایی که Google Ads API همه عملیات را در یک کار با شکست جزئی فعال اجرا می کند، اگر یک کار لغو شود یا عملیات فردی با شکست مواجه شود، عملیاتی که با موفقیت انجام شده است، برگشت داده نمی شود.
عملیات زیر در MutateOperation باید اتمی باشد، و بنابراین، از شکست جزئی پشتیبانی نمیکند و در کارهای دستهای پشتیبانی نمیشود . از افزودن این عملیات به مشاغل خود اجتناب کنید، partial_failure در درخواستهای خود روی false قرار دهید و به جای آن از روش mutate در GoogleAdsService استفاده کنید.
تاریخ آخرین بهروزرسانی 2025-08-26 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-26 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003e\u003ccode\u003eBatchJobService\u003c/code\u003e enables asynchronous execution of multiple operations across various Google Ads services, reducing the need for synchronous waiting.\u003c/p\u003e\n"],["\u003cp\u003eIt supports a wide range of operations, allowing you to manage campaigns, ad groups, ads, criteria, labels, and feed items within a single job.\u003c/p\u003e\n"],["\u003cp\u003eFailed operations due to transient errors like rate limits are automatically retried, ensuring higher reliability.\u003c/p\u003e\n"],["\u003cp\u003eAlthough it minimizes API requests and retries failed operations, using \u003ccode\u003eBatchJobService\u003c/code\u003e does not inherently guarantee improved performance; experimentation is crucial to determine its suitability for specific use cases.\u003c/p\u003e\n"],["\u003cp\u003eCertain atomic operations like \u003ccode\u003eCampaignConversionGoalOperation\u003c/code\u003e, \u003ccode\u003eConversionGoalCampaignConfigOperation\u003c/code\u003e, \u003ccode\u003eCustomConversionGoalOperation\u003c/code\u003e, \u003ccode\u003eCustomerConversionGoalOperation\u003c/code\u003e, and \u003ccode\u003eCustomerOperation\u003c/code\u003e are not supported in batch jobs and should be executed using \u003ccode\u003eGoogleAdsService\u003c/code\u003e instead.\u003c/p\u003e\n"]]],[],null,["# Batch Processing\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nWhile most services provide synchronous APIs that require you to make a request\nand then wait for a response, [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService)\nprovides a way to perform batches of operations on multiple services without\nsynchronously waiting for the operations to complete.\n\nUnlike service-specific mutate operations, a single job in\n[`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) can operate against a mixed\ncollection of campaigns, ad groups, ads, criteria, labels, and feed items.\nSubmitted jobs run in parallel, and\n[`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) automatically retries\noperations that fail due to transient errors such as rate limit errors. The\nGoogle Ads API still counts each operation towards your\n[daily operation limit](/google-ads/api/docs/access-levels#access-levels), following the\n[API operations](/google-ads/api/docs/rate-sheet#api-operations) counting instructions.\n\n[`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) also lets you use\n[temporary IDs](/google-ads/api/docs/batch-processing/temporary-ids) within your requests so\nyou can submit dependent operations in a single job.\n| **Note:** Use of [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) can reduce the number of requests sent but its use must be evaluated to see if it's a good fit for your needs. The main reasons for using batch processing are to minimize the number of API requests and retry operations that fail due to transient errors. This doesn't guarantee improved performance resulting in higher throughput or quicker job completion. Experiment with different combinations of batch and non-batch processing to determine the optimal solution for your circumstances.\n\nOperations\n----------\n\n`BatchJobService` supports all of the operations listed in\n[`MutateOperation`](/google-ads/api/reference/rpc/v21/MutateOperation), with a few important\nexceptions.\n\nBecause the Google Ads API executes all operations in a job with\n[partial failure](/google-ads/api/docs/best-practices/partial-failures) enabled, if a job is\ncancelled or individual operations fail, operations that succeeded will *not*\nbe rolled back.\n\nThe following operations in `MutateOperation` must be\n[atomic](/google-ads/api/docs/mutating/bulk-mutate), and thus, don't support partial failure\nand are *not* supported within batch jobs. Avoid adding these operations to your\njobs, set `partial_failure` to `false` in your requests, and use the `mutate`\nmethod in [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) instead.\n\n#### Unsupported operations in BatchJobService\n\n- [`CampaignConversionGoalOperation`](/google-ads/api/reference/rpc/v21/CampaignConversionGoalOperation)\n- [`ConversionGoalCampaignConfigOperation`](/google-ads/api/reference/rpc/v21/ConversionGoalCampaignConfigOperation)\n- [`CustomConversionGoalOperation`](/google-ads/api/reference/rpc/v21/CustomConversionGoalOperation)\n- [`CustomerConversionGoalOperation`](/google-ads/api/reference/rpc/v21/CustomerConversionGoalOperation)\n- [`CustomerOperation`](/google-ads/api/reference/rpc/v21/CustomerOperation)"]]