الحدود القصوى والحصص

اتّبِع هذا الدليل لفهم الحدود والحصص عند استخدام 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 (HTTP 429) وكان metadata.quota_limit يشير إلى تجاوز الحدّ الأقصى لعدد الطلبات في الدقيقة (مثل IngestionMutateRequestsPerMinutePerProject)، أعِد المحاولة باستخدام استراتيجية التراجع الأسي مع التفاوت الزمني (على سبيل المثال، الانتظار لمدة ثانية واحدة وثانيتين و4 ثوانٍ بين المحاولات).

  • الإيقاف مؤقتًا عند استنفاد الحصة اليومية: إذا كان metadata.quota_limit يشير إلى حدّ يومي (مثل IngestionMutateRequestsPerDayPerProject)، لا تُعِد المحاولة على الفور. يمكنك إيقاف الطلبات مؤقتًا إلى أن تتم إعادة ضبط الحصة اليومية في منتصف الليل بتوقيت المحيط الهادئ.

حدود الطلبات

في ما يلي الحدود القصوى لطلبات معيّنة:

  • IngestAudienceMembersRequest وRemoveAudienceMembersRequest:

    • ‫10,000 مورد من النوع AudienceMember في القائمة audience_members

    • ‫10 معرّفات مستخدمين في UserData لـ AudienceMember

    • ‫10 مراجع حول Destination في قائمة "destinations"

  • RemoveAllAudienceMembersRequest:

    • ‫10 مراجع حول Destination في قائمة "destinations"
  • IngestEventsRequest:

    • ‫2,000 مورد من نوع Event في قائمة events

    • ‫10 معرّفات مستخدمين في UserData لـ Event

    • ‫10 مراجع حول Destination في قائمة "destinations"