اتّبِع هذا الدليل لفهم الحدود والحصص عند استخدام Data Manager API.
حدود المشاريع
يجب أن يكون لديك مشروع على Google Cloud لاستخدام Data Manager API. يوفّر مشروع Google Cloud عميل OAuth وبيانات الاعتماد التي تستخدمها لمصادقة طلبات البيانات من واجهة برمجة التطبيقات.
تفرض واجهة Data Manager API حدودًا على معدّل الاستخدام في كل مشروع على Google Cloud، ويتم فصلها حسب نوع الخدمة والعملية (القراءة مقابل التعديل):
| الخدمة | العملية | الطلبات في اليوم | الطلبات في الدقيقة |
|---|---|---|---|
IngestionService |
التغيير (الكتابة) | 100,000 | 300 |
IngestionService |
قراءة | 100,000 | 300 |
| جميع الخدمات الأخرى مجتمعة | التغيير (الكتابة) | 50,000 | 300 |
| جميع الخدمات الأخرى مجتمعة | قراءة | 50,000 | 300 |
يتم رفض الطلبات التي تتجاوز الحدود القصوى مع عرض رسالة الخطأ RESOURCE_EXHAUSTED وحالة HTTP 429 Too Many Requests.
يمكنك التحكّم في تطبيقك وتخفيف حدود المعدّل من خلال تقليل عدد الطلبات والحدّ من عدد الطلبات في الثانية من جهة العميل. يمكنك أيضًا إعداد تنبيهات الحصص ومراقبتها في Google Cloud Console لتلقّي إشعارات قبل أن يصل تطبيقك إلى الحدود القصوى.
أسماء الحصص
يتوافق كل حدّ مع اسم حدّ الحصة والمقياس في Google Cloud. عندما يتجاوز طلب حدًا معيّنًا، تُعرِض Data Manager API اسم الحدّ الأقصى للحصة في حمولة التفاصيل العادية ErrorInfo ضمن metadata.quota_limit:
| اسم الحدّ الأقصى للحصة | الخدمة | العملية | نافذة | الحدّ |
|---|---|---|---|---|
IngestionMutateRequestsPerDayPerProject |
IngestionService |
تغيير | اليوم | 100,000 |
IngestionMutateRequestsPerMinutePerProject |
IngestionService |
تغيير | دقيقة | 300 |
IngestionReadRequestsPerDayPerProject |
IngestionService |
قراءة | اليوم | 100,000 |
IngestionReadRequestsPerMinutePerProject |
IngestionService |
قراءة | دقيقة | 300 |
ManagementMutateRequestsPerDayPerProject |
جميع الخدمات الأخرى | تغيير | اليوم | 50,000 |
ManagementMutateRequestsPerMinutePerProject |
جميع الخدمات الأخرى | تغيير | دقيقة | 300 |
ManagementReadRequestsPerDayPerProject |
جميع الخدمات الأخرى | قراءة | اليوم | 50,000 |
ManagementReadRequestsPerMinutePerProject |
جميع الخدمات الأخرى | قراءة | دقيقة | 300 |
افحص metadata.quota_limit في حمولة ErrorInfo للتمييز بين أخطاء الحدّ الأقصى اليومي والحدّ الأقصى في الدقيقة، وتحديد ما إذا كان يجب الإيقاف مؤقتًا وإعادة المحاولة مع التراجع، أو الإيقاف مؤقتًا إلى أن تتم إعادة ضبط الحدّ الأقصى اليومي.
لمعرفة التفاصيل، يُرجى الاطّلاع على أخطاء الحصة ومعدّل الاستخدام.
التعامل مع حدود المعدّل والتزامن
لزيادة معدل النقل إلى أقصى حد بدون تجاوز حصص المشروع، اتّبِع الإرشادات التالية:
تجميع السجلّات لكل طلب: يمكنك تضمين أكبر عدد ممكن من السجلّات في كل طلب بما يصل إلى الحدود القصوى للطلبات (ما يصل إلى 10,000 مورد
AudienceMemberأو 2,000 موردEventلكل طلب).إرسال ما يصل إلى 10 طلبات متزامنة: لتقليل إجمالي وقت نقل البيانات بدون تجاوز الحدّ الأقصى البالغ 300 طلب في الدقيقة، أرسِل ما يصل إلى 10 طلبات متزامنة إلى
IngestionService.إعادة محاولة تنفيذ الطلبات التي تجاوزت الحدّ الأقصى لعدد الطلبات في الدقيقة باستخدام مهلة: إذا تعذّر تنفيذ طلب بسبب الخطأ
RESOURCE_EXHAUSTED(HTTP429) وكانmetadata.quota_limitيشير إلى تجاوز الحدّ الأقصى لعدد الطلبات في الدقيقة (مثلIngestionMutateRequestsPerMinutePerProject)، أعِد المحاولة باستخدام مهلة أسية مع تفاوت زمني (على سبيل المثال، الانتظار لمدة ثانية واحدة وثانيتين و4 ثوانٍ بين المحاولات).الإيقاف مؤقتًا عند استنفاد الحصة اليومية: إذا كان
metadata.quota_limitيشير إلى حدّ يومي (مثلIngestionMutateRequestsPerDayPerProject)، لا تُعِد المحاولة على الفور. يُرجى إيقاف الطلبات مؤقتًا إلى حين إعادة ضبط الحصة اليومية في منتصف الليل بتوقيت المحيط الهادئ.
حدود الطلبات
في ما يلي الحدود القصوى لطلبات معيّنة:
IngestAudienceMembersRequestوRemoveAudienceMembersRequest:10,000 مورد من النوع
AudienceMemberفي قائمةaudience_members10 معرّفات مستخدمين في
UserDataلـAudienceMember10 مراجع حول
Destinationفي قائمة "destinations"
RemoveAllAudienceMembersRequest:- 10 مراجع حول
Destinationفي قائمة "destinations"
- 10 مراجع حول
-
2,000 مورد من نوع
Eventفي قائمةevents10 معرّفات مستخدمين في
UserDataلـEvent10 مراجع حول
Destinationفي قائمة "destinations"