استفاده از شناسه های موقت
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
یکی از ویژگی های قدرتمند BatchJobService
این است که از استفاده از شناسه های موقت پشتیبانی می کند.
می توانید این کار را با تعیین resource_name
منبع جدید برای استفاده از شناسه منفی انجام دهید. برای مثال، فرض کنید یک کمپین ایجاد میکنید و نام منبع آن را بهعنوان customers/<YOUR_CUSTOMER_ID>/campaigns/-1
مشخص میکنید. هنگامی که گروه تبلیغاتی را در عملیات بعدی ایجاد می کنید، سپس می توانید آن را با نام منبع ارجاع دهید و -1
که مشخص کرده اید به طور خودکار با شناسه واقعی کمپین ایجاد شده جایگزین می شود.
در اینجا مواردی وجود دارد که هنگام استفاده از نام منابع موقت باید به خاطر داشته باشید:
- نام منبع موقت فقط پس از تعریف در یک منبع قابل استفاده است. در مثال زیر، عملیات گروه تبلیغات باید بعد از عملیات کمپین در لیست عملیات ظاهر شود.
- نام منابع موقت در بین مشاغل یا درخواست های تغییر یافته به خاطر نمی ماند. برای ارجاع به یک منبع ایجاد شده در یک کار قبلی یا درخواست جهش، از نام منبع واقعی آن استفاده کنید.
- برای یک کار یا درخواست جهش، هر نام منبع موقت باید از یک عدد منفی منحصر به فرد استفاده کند، حتی اگر از انواع منابع مختلف باشد. اگر یک شناسه موقت در یک کار واحد یا درخواست جهش مجدد استفاده شود، یک خطا برگردانده می شود.
مثال
فرض کنید می خواهید یک کمپین، یک گروه تبلیغاتی و یک تبلیغ را در یک درخواست API اضافه کنید. شما می توانید یک ساختار مشابه با موارد زیر برای درخواست خود ایجاد کنید:
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"
...
}
}
},
]
یک شناسه موقت جدید برای گروه تبلیغات استفاده میشود، زیرا نمیتوانیم از -1
که برای کمپین استفاده کردهایم دوباره استفاده کنیم. ما همچنین هنگام ایجاد یک تبلیغ گروه تبلیغاتی به این گروه تبلیغاتی اشاره می کنیم. خود گروه آگهی به نام منبعی که ما برای کمپین در عملیات قبلی ایجاد کردیم در درخواست ارجاع می دهد، در حالی که resource_name
در ad_group_ad_operation
ضروری نیست زیرا هیچ عملیات دیگری به آن ارجاع نمی دهد.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003e\u003ccode\u003eBatchJobService\u003c/code\u003e allows the use of temporary IDs (negative numbers) for new resources within a single job, enabling you to reference them in subsequent operations within the same request.\u003c/p\u003e\n"],["\u003cp\u003eTemporary resource names must be unique within a single job or mutate request and are not remembered across different jobs or requests; use actual resource names for referencing resources created earlier.\u003c/p\u003e\n"],["\u003cp\u003eResources with temporary IDs must be defined before being referenced by other operations within the same request, ensuring the order of operations reflects dependencies.\u003c/p\u003e\n"]]],[],null,["# Using temporary IDs\n\nA powerful feature of [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) is that\nit supports the use of temporary IDs.\n\nYou can do this by specifying the new resource's `resource_name` to use a\nnegative ID. For example, suppose you create a campaign and specify its resource name\nas `customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1`. When you create the\nad group in a later operation, you can then reference it by that resource name\nand the `-1` you specified will be replaced by the actual ID of the created\ncampaign automatically.\n\nHere are some things to keep in mind when using temporary resource names:\n\n- A temporary resource name can only be used after it's been defined in a resource. In the following example, the ad group operation would have to appear after the campaign operation in the list of operations.\n- Temporary resource names are not remembered across jobs or mutate requests. To reference a resource created in a previous job or mutate request, use its actual resource name.\n- For a single job or mutate request, each temporary resource name must use a unique negative number, even if they are from different resource types. If a temporary ID is reused in a single job or mutate request, then an error is returned.\n\n### Example\n\nSuppose you want to add a campaign, an ad group, and an ad in a single API\nrequest. You would create a structure for your request analogous to the\nfollowing: \n\n mutate_operations: [\n {\n campaign_operation: {\n create: {\n resource_name: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1\",\n ...\n }\n }\n },\n {\n ad_group_operation: {\n create: {\n resource_name: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/adGroups/-2\",\n campaign: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1\"\n ...\n }\n }\n },\n {\n ad_group_ad_operation: {\n create: {\n ad_group: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/adGroups/-2\"\n ...\n }\n }\n },\n ]\n\nA new temporary ID is used for the ad group, since we can't reuse the `-1` that\nwe used for the campaign. We also reference this ad group when creating an ad\ngroup ad. The ad group itself references the resource name we established for\nthe campaign in an earlier operation in the request, while `resource_name` in\n`ad_group_ad_operation` is not necessary since no further operation is\nreferencing it."]]