محدودیت‌ها و سهمیه‌ها

این راهنما را دنبال کنید تا با محدودیت‌ها و سهمیه‌ها هنگام کار با Data Manager API آشنا شوید.

حدود پروژه

برای استفاده از Data Manager API به پروژه Google Cloud نیاز دارید. پروژه Google Cloud کارخواه OAuth و اطلاعات اعتباری را که برای اصالت‌سنجی درخواست‌های API استفاده می‌کنید ارائه می‌دهد.

Data Manager API محدودیت‌های نرخ را برای هر پروژه Google Cloud اعمال می‌کند که براساس سرویس و نوع عملیات (خواندن درمقابل تغییر دادن) تفکیک شده‌اند:

سرویس عملیات درخواست در روز درخواست در دقیقه
IngestionService جهش (نوشتن) ۱۰۰٬۰۰۰ ۳۰۰
IngestionService خواندن ۱۰۰٬۰۰۰ ۳۰۰
همه سرویس‌های دیگر ترکیب‌شده جهش (نوشتن) ‫۵۰٬۰۰۰ ۳۰۰
همه سرویس‌های دیگر ترکیب‌شده خواندن ‫۵۰٬۰۰۰ ۳۰۰

درخواست‌هایی که از حدود فراتر می‌روند با خطای RESOURCE_EXHAUSTED و وضعیت اچ‌تی‌تی‌پی 429 Too Many Requests رد می‌شوند.

می‌توانید با کاهش فعالانه تعداد درخواست‌ها و محدود کردن QPS از سمت کارخواه، کنترل برنامه‌تان را به‌دست بگیرید و محدودیت‌های نرخ را کاهش دهید. همچنین می‌توانید هشدارها و پایش سهمیه را در کنسول Google Cloud راه‌اندازی کنید تا قبل‌از اینکه برنامه‌تان به محدودیت‌هایش برسد، اعلان دریافت کنید.

نام سهمیه‌ها

هر حد مجاز با نام حد مجاز سهمیه و سنجه‌ای در Google Cloud مطابقت دارد. وقتی درخواستی از حد مجاز فراتر می‌رود، Data Manager API نام حد مجاز سهمیه را در محموله جزئیات استاندارد ErrorInfo تحت metadata.quota_limit برمی‌گرداند:

نام حد مجاز سهمیه سرویس عملیات پنجره حد
IngestionMutateRequestsPerDayPerProject IngestionService جهش روز ۱۰۰٬۰۰۰
IngestionMutateRequestsPerMinutePerProject IngestionService جهش دقیقه ۳۰۰
IngestionReadRequestsPerDayPerProject IngestionService خواندن روز ۱۰۰٬۰۰۰
IngestionReadRequestsPerMinutePerProject IngestionService خواندن دقیقه ۳۰۰
ManagementMutateRequestsPerDayPerProject همه سرویس‌های دیگر جهش روز ‫۵۰٬۰۰۰
ManagementMutateRequestsPerMinutePerProject همه سرویس‌های دیگر جهش دادن دقیقه ۳۰۰
ManagementReadRequestsPerDayPerProject همه سرویس‌های دیگر خواندن روز ‫۵۰٬۰۰۰
ManagementReadRequestsPerMinutePerProject همه سرویس‌های دیگر خواندن دقیقه ۳۰۰

metadata.quota_limit را در بار داده ErrorInfo بررسی کنید تا بین خطاهای حد روزانه و حد دقیقه‌ای تمایز قائل شوید و تعیین کنید که آیا به‌طور موقت مکث کنید و با عقب‌نشینی دوباره امتحان کنید، یا تا زمانی که سهمیه روزانه بازنشانی شود مکث کنید. برای جزئیات، خطاهای حد نرخ و سهمیه را ببینید.

مدیریت حدود نرخ و همزمانی

برای به‌حداکثر رساندن توان عملیاتی بدون فراتر رفتن از سهمیه‌های پروژه، این رهنمودها را دنبال کنید:

  • سوابق دسته‌ای در هر درخواست: تا جایی که ممکن است سوابق بیشتری را در هر درخواست تا حدود درخواست (تا ۱۰٬۰۰۰ منبع AudienceMember یا ۲٬۰۰۰ منبع Event در هر درخواست) بگنجانید.

  • ارسال حداکثر ۱۰ درخواست هم‌زمان: برای کاهش کل زمان انتقال بدون فراتر رفتن از حد مجاز ۳۰۰ درخواست در دقیقه، حداکثر ۱۰ درخواست هم‌زمان به IngestionService ارسال کنید.

  • امتحان مجدد محدودیت‌های نرخ دقیقه‌ای با عقب‌نشینی: اگر درخواستی با RESOURCE_EXHAUSTED (HTTP 429) ناموفق باشد و metadata.quota_limit نشان‌دهنده محدودیت دقیقه‌ای باشد (مانند IngestionMutateRequestsPerMinutePerProject)، بااستفاده از عقب‌نشینی نمایی با لرزش دوباره امتحان کنید (برای مثال، انتظار ۱ ثانیه، ۲ ثانیه، و ۴ ثانیه بین امتحان‌های مجدد).

  • مکث درصورت اتمام سهمیه روزانه: اگر metadata.quota_limit نشان‌دهنده حد روزانه (مثل IngestionMutateRequestsPerDayPerProject) است، بلافاصله دوباره امتحان نکنید. درخواست‌ها را تا زمانی که سهمیه روزانه در نیمه‌شب به‌وقت اقیانوس آرام بازنشانی شود موقتاً متوقف کنید.

حدود درخواست

حدود درخواست‌های خاص در اینجا آمده است:

  • ‫IngestAudienceMembersRequest و RemoveAudienceMembersRequest:

    • ‫۱۰٬۰۰۰ منبع AudienceMember در فهرست audience_members

    • ۱۰ شناسه کاربر در UserData برای AudienceMember

    • ‫۱۰ منبع Destination در فهرست destinations

  • RemoveAllAudienceMembersRequest:

    • ‫۱۰ منبع Destination در فهرست destinations
  • IngestEventsRequest:

    • ‫۲٬۰۰۰ منبع Event در فهرست events

    • ۱۰ شناسه کاربر در UserData برای Event

    • ‫۱۰ منبع Destination در فهرست destinations