ConnectionRetryPolicy الفصل

توريث
azure.core.pipeline.policies._retry.RetryPolicy
ConnectionRetryPolicy

الدالمنشئ

ConnectionRetryPolicy(**kwargs)

الأساليب

configure_retries

تكوين إعدادات إعادة المحاولة.

get_backoff_time

إرجاع وقت التراجع الحالي.

get_retry_after

احصل على قيمة Retry-After بالثوان.

increment

زيادة عدادات إعادة المحاولة.

is_exhausted

التحقق من ترك أي عمليات إعادة محاولة.

is_retry

التحقق من أن التعليمة البرمجية للأسلوب/الحالة قابلة لإعادة المحاولة.

استنادا إلى قوائم السماح ومتغيرات التحكم مثل عدد إجمالي عمليات إعادة المحاولة للسماح بها، وما إذا كان يجب احترام عنوان Retry-After، وما إذا كان هذا العنوان موجودا، وما إذا كان رمز الحالة الذي تم إرجاعه موجودا في قائمة رموز الحالة التي ستتم إعادة المحاولة عليها عند وجود العنوان المذكور أعلاه.

السلوك هو:

  •   If status_code < 400: don't retry
    
  •   Else if Retry-After present: retry
    
  •   Else: retry based on the safe status code list ([408, 429, 500, 502, 503, 504])
    
no_retries

تعطيل عمليات إعادة المحاولة.

parse_retry_after

مساعد لتحليل Retry-After والحصول على القيمة في ثوان.

send

يرسل عنصر PipelineRequest إلى النهج التالي. يستخدم إعدادات إعادة المحاولة إذا لزم الأمر. يفرض أيضا مهلة مطلقة من جانب العميل تمتد عبر محاولات إعادة المحاولة المتعددة.

sleep

السكون بين محاولات إعادة المحاولة.

سيحترم هذا الأسلوب عنوان استجابة الخادم Retry-After وسينام مدة الوقت المطلوب. إذا لم يكن ذلك موجودا، فسيستخدم تراجعا أسيا. بشكل افتراضي، عامل التراجع هو 0 وسيعود هذا الأسلوب على الفور.

update_context

التحديثات محفوظات إعادة المحاولة في سياق البنية الأساسية لبرنامج ربط العمليات التجارية.

configure_retries

تكوين إعدادات إعادة المحاولة.

configure_retries(options: Dict[str, Any]) -> Dict[str, Any]

المعلمات

الاسم الوصف
options
مطلوب

وسيطات الكلمة الأساسية من السياق.

المرتجعات

النوع الوصف

إملاء يحتوي على إعدادات ومحفوظات لإعادة المحاولة.

get_backoff_time

إرجاع وقت التراجع الحالي.

get_backoff_time(settings: Dict[str, Any]) -> float

المعلمات

الاسم الوصف
settings
مطلوب

إعدادات إعادة المحاولة.

المرتجعات

النوع الوصف

قيمة التراجع الحالية.

get_retry_after

احصل على قيمة Retry-After بالثوان.

get_retry_after(response: PipelineResponse[Any, AllHttpResponseType]) -> float | None

المعلمات

الاسم الوصف
response
مطلوب

عنصر PipelineResponse

المرتجعات

النوع الوصف

قيمة Retry-After بالثوان.

increment

زيادة عدادات إعادة المحاولة.

increment(settings: Dict[str, Any], response: PipelineRequest[HTTPRequestType] | PipelineResponse[HTTPRequestType, AllHttpResponseType] | None = None, error: Exception | None = None) -> bool

المعلمات

الاسم الوصف
settings
مطلوب

إعدادات إعادة المحاولة.

response

كائن استجابة البنية الأساسية لبرنامج ربط العمليات التجارية.

القيمة الافتراضية: None
error

حدث خطأ أثناء الطلب، أو لا شيء إذا تم تلقي الاستجابة بنجاح.

القيمة الافتراضية: None

المرتجعات

النوع الوصف

ما إذا كانت أي محاولة إعادة محاولة متوفرة True إذا توفرت المزيد من محاولات إعادة المحاولة، خطأ بخلاف ذلك

is_exhausted

التحقق من ترك أي عمليات إعادة محاولة.

is_exhausted(settings: Dict[str, Any]) -> bool

المعلمات

الاسم الوصف
settings
مطلوب

إعدادات إعادة المحاولة

المرتجعات

النوع الوصف

خطأ إذا كان لديك المزيد من عمليات إعادة المحاولة. صحيح إذا تم استنفاد إعادة المحاولة.

is_retry

التحقق من أن التعليمة البرمجية للأسلوب/الحالة قابلة لإعادة المحاولة.

استنادا إلى قوائم السماح ومتغيرات التحكم مثل عدد إجمالي عمليات إعادة المحاولة للسماح بها، وما إذا كان يجب احترام عنوان Retry-After، وما إذا كان هذا العنوان موجودا، وما إذا كان رمز الحالة الذي تم إرجاعه موجودا في قائمة رموز الحالة التي ستتم إعادة المحاولة عليها عند وجود العنوان المذكور أعلاه.

السلوك هو:

  •   If status_code < 400: don't retry
    
  •   Else if Retry-After present: retry
    
  •   Else: retry based on the safe status code list ([408, 429, 500, 502, 503, 504])
    
is_retry(settings: Dict[str, Any], response: PipelineResponse[HTTPRequestType, AllHttpResponseType]) -> bool

المعلمات

الاسم الوصف
settings
مطلوب

إعدادات إعادة المحاولة.

response
مطلوب

عنصر PipelineResponse

المرتجعات

النوع الوصف

صحيح إذا كانت التعليمة البرمجية للأسلوب/الحالة قابلة لإعادة المحاولة. خطأ إذا لم يكن قابلا لإعادة المحاولة.

no_retries

تعطيل عمليات إعادة المحاولة.

no_retries() -> ClsRetryPolicy

المرتجعات

النوع الوصف

نهج إعادة المحاولة مع تعطيل عمليات إعادة المحاولة.

parse_retry_after

مساعد لتحليل Retry-After والحصول على القيمة في ثوان.

parse_retry_after(retry_after: str) -> float

المعلمات

الاسم الوصف
retry_after
مطلوب
str

رأس Retry-After

المرتجعات

النوع الوصف

قيمة Retry-After بالثوان.

send

يرسل عنصر PipelineRequest إلى النهج التالي. يستخدم إعدادات إعادة المحاولة إذا لزم الأمر. يفرض أيضا مهلة مطلقة من جانب العميل تمتد عبر محاولات إعادة المحاولة المتعددة.

send(request)

المعلمات

الاسم الوصف
request
مطلوب

كائن PipelineRequest

المرتجعات

النوع الوصف

إرجاع PipelineResponse أو ظهور الخطأ إذا تم تجاوز الحد الأقصى لإعادة المحاولة.

استثناءات

النوع الوصف

تم تجاوز الحد الأقصى لإعادة المحاولة.

تم تجاوز المهلة المحددة.

فشلت المصادقة.

sleep

السكون بين محاولات إعادة المحاولة.

سيحترم هذا الأسلوب عنوان استجابة الخادم Retry-After وسينام مدة الوقت المطلوب. إذا لم يكن ذلك موجودا، فسيستخدم تراجعا أسيا. بشكل افتراضي، عامل التراجع هو 0 وسيعود هذا الأسلوب على الفور.

sleep(settings: Dict[str, Any], transport: HttpTransport[HTTPRequestType, HTTPResponseType], response: PipelineResponse[HTTPRequestType, HTTPResponseType] | None = None) -> None

المعلمات

الاسم الوصف
settings
مطلوب

إعدادات إعادة المحاولة.

transport
مطلوب

نوع نقل HTTP.

response

عنصر PipelineResponse.

القيمة الافتراضية: None

update_context

التحديثات محفوظات إعادة المحاولة في سياق البنية الأساسية لبرنامج ربط العمليات التجارية.

update_context(context: PipelineContext, retry_settings: Dict[str, Any]) -> None

المعلمات

الاسم الوصف
context
مطلوب

سياق البنية الأساسية لبرنامج ربط العمليات التجارية.

retry_settings
مطلوب

إعدادات إعادة المحاولة.

السمات

BACKOFF_MAX

الحد الأقصى لوقت التراجع.

BACKOFF_MAX = 120

next

مؤشر إلى النهج التالي أو النقل (ملتف كنهج). سيتم تعيين عند إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية.

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]