As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar novas tentativas no AWS SDK para Ruby
O AWS SDK para Ruby fornece um comportamento de novas tentativas padrão para solicitações de serviço e opções de configuração personalizáveis. Chamadas para Serviços da AWS ocasionalmente retornam exceções inesperadas. Determinados tipos de erro, como erros transitórios ou de controle de utilização, poderão ser bem-sucedidos se a chamada for repetida.
O comportamento de novas tentativas pode ser configurado globalmente usando variáveis de ambiente ou configurações no arquivo compartilhado config da AWS. Para acessar mais informações sobre esta abordagem, consulte Comportamento de novas tentativas no Guia de referência de ferramentas e SDKs da AWS. Ele também inclui informações detalhadas sobre implementações de estratégias de novas tentativas e como escolher uma em vez da outra.
Como alternativa, essas opções também podem ser configuradas no código, conforme mostrado nas seções a seguir.
Especificação do comportamento de repetição do cliente no código
Por padrão, o AWS SDK para Ruby executa até três novas tentativas, com 15 segundos entre elas, com um total de até quatro tentativas. Portanto, uma operação pode demorar até 60 segundos para expirar.
O exemplo a seguir cria um cliente do Amazon S3 na região us-west-2 e especifica um período de espera de cinco segundos entre duas tentativas em cada operação de cliente. Portanto, as operações de cliente do Amazon S3 podem demorar até 15 segundos para expirar.
s3 = Aws::S3::Client.new( region: region, retry_limit: 2, retry_backoff: lambda { |c| sleep(5) } )
Qualquer configuração explícita definida no código ou no próprio cliente de serviço tem precedência sobre aquelas definidas nas variáveis de ambiente ou no arquivo config compartilhado.