共用方式為


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]

參數

名稱 Description
options
必要

內容中的關鍵字引數。

傳回

類型 Description

包含重試設定和歷程記錄的聽寫。

get_backoff_time

傳回目前的輪詢時間。

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

參數

名稱 Description
settings
必要

重試設定。

傳回

類型 Description

目前的輪詢值。

get_retry_after

以秒為單位取得 Retry-After 值。

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

參數

名稱 Description
response
必要

PipelineResponse 物件

傳回

類型 Description

以秒為單位 Retry-After 值。

increment

遞增重試計數器。

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

參數

名稱 Description
settings
必要

重試設定。

response

管線回應物件。

預設值: None
error

要求期間發生錯誤,如果成功收到回應,則為 None。

預設值: None

傳回

類型 Description

如果有更多可用的重試嘗試,是否可用任何重試嘗試,則為 True,否則為 False

is_exhausted

檢查是否有任何重試剩餘。

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

參數

名稱 Description
settings
必要

重試設定

傳回

類型 Description

False 表示有更多重試次數。 如果重試已用盡,則為 True。

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

參數

名稱 Description
settings
必要

重試設定。

response
必要

PipelineResponse 物件

傳回

類型 Description

如果可重試方法/狀態碼,則為 True。 如果無法重試,則為 False。

no_retries

停用重試。

no_retries() -> ClsRetryPolicy

傳回

類型 Description

已停用重試的重試原則。

parse_retry_after

協助程式剖析 Retry-After,並以秒為單位取得值。

parse_retry_after(retry_after: str) -> float

參數

名稱 Description
retry_after
必要
str

Retry-After 標頭

傳回

類型 Description

以秒為單位 Retry-After 值。

send

將 PipelineRequest 物件傳送至下一個原則。 如有必要,請使用重試設定。 此外,也會強制執行跨越多個重試嘗試的絕對用戶端逾時。

send(request)

參數

名稱 Description
request
必要

PipelineRequest 物件

傳回

類型 Description

會傳回 PipelineResponse,如果超過重試次數上限,則引發錯誤。

例外狀況

類型 Description

超過重試次數上限。

超過指定的逾時。

驗證失敗。

sleep

重試嘗試之間的睡眠。

這個方法會遵守伺服器的 Retry-After 回應標頭,並睡眠所要求的時間持續時間。 如果不存在,則會使用指數輪詢。 根據預設,輪詢因數為 0,此方法會立即傳回。

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

參數

名稱 Description
settings
必要

重試設定。

transport
必要

HTTP 傳輸類型。

response

PipelineResponse 物件。

預設值: None

update_context

更新管線內容中的重試歷程記錄。

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

參數

名稱 Description
context
必要

管線內容。

retry_settings
必要

重試設定。

屬性

BACKOFF_MAX

輪詢時間上限。

BACKOFF_MAX = 120

next

下一個原則的指標,或包裝為原則) 的傳輸 (。 將會在管線建立時設定。

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]