اتّبِع هذا الدليل لفهم الحدود والحصص عند استخدام 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"