次の方法で共有


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
必須

コンテキストから引数をキーワード (keyword)します。

戻り値

説明

再試行の設定と履歴を含むディクテーション。

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 です。

既定値: None

戻り値

説明

再試行回数が増える場合は True、それ以外の場合は False

is_exhausted

再試行が残っているかどうかを確認します。

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

パラメーター

名前 説明
settings
必須

再試行設定

戻り値

説明

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

パラメーター

名前 説明
settings
必須

再試行設定。

response
必須

PipelineResponse オブジェクト

戻り値

説明

メソッド/状態コードが再試行可能な場合は True。 False の場合は再試行できません。

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]