AWS SDK for Ruby で再試行を設定する - AWS SDK for Ruby

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SDK for Ruby で再試行を設定する

AWS SDK for Ruby は、サービスリクエストに対するデフォルトの再試行動作とカスタマイズ可能な設定オプションを提供します。AWS のサービスを呼び出すと、予期しない例外が返されることがあります。スロットリングや一時的なエラーなど、特定のタイプのエラーは、呼び出しを再試行すれば成功する場合があります。

再試行動作は、共有 AWS config ファイルの環境変数または設定を使用してグローバルに設定できます。この方法の詳細については、「AWS SDK とツールのリファレンスガイド」の「再試行動作」を参照してください。再試行戦略の実装についての詳細と、それらの中からどれを選択すべきかについても説明しています。

代わりに、以下のセクションに示すように、これらのオプションをコードで設定することもできます。

コードでクライアントの再試行動作を指定する

AWS SDK for Ruby のデフォルトでは、クライアントオペレーションの再試行間隔は 15 秒、最大試行回数は 4 回に設定されています。したがって、オペレーションがタイムアウトするまでに最大 60 秒かかることがあります。

以下の例では、us-west-2 リージョンで Amazon S3 クライアントを作成し、クライアントオペレーションの再試行間隔を 5 秒、最大再試行回数を 2 回に設定しています。したがって、Amazon S3 クライアントオペレーションがタイムアウトするまでに最大 15 秒かかることがあります。

s3 = Aws::S3::Client.new( region: region, retry_limit: 2, retry_backoff: lambda { |c| sleep(5) } )

コードまたはサービスクライアント自体に設定された明示的な設定セットは、環境変数や共有 config ファイルに設定された設定より優先します。