Usar versões de comportamento no AWS SDK para Rust
Os desenvolvedores do AWS SDK para Rust esperam e confiam no comportamento robusto e previsível que a linguagem e suas principais bibliotecas oferecem. Para ajudar os desenvolvedores que usam o SDK para Rust a obter o comportamento esperado, as configurações do cliente devem incluir uma BehaviorVersion. A BehaviorVersion especifica a versão do SDK cujos padrões são esperados. Isso permite que o SDK evolua com o tempo, alterando as práticas recomendadas para atender aos novos padrões e oferecer suporte a novos recursos sem impacto adverso inesperado no comportamento da aplicação.
Atenção
Se você tentar configurar o SDK ou criar um cliente sem especificar explicitamente uma BehaviorVersion, o construtor entrará no estado panic.
Por exemplo, imagine que uma nova versão do SDK seja lançada com uma nova política de nova tentativa padrão. Se a aplicação usa uma BehaviorVersion que corresponde a uma versão anterior do SDK, essa configuração anterior será usada em vez da nova configuração padrão.
Sempre que uma nova versão comportamental do SDK para Rust é lançada, a BehaviorVersion anterior é marcada com o atributo deprecated do SDK para Rust e a nova versão é adicionada. Isso faz com que os avisos ocorram em tempo de compilação, mas permite que a compilação continue normalmente. O BehaviorVersion::latest() também é atualizado para indicar o comportamento padrão da nova versão.
nota
Se seu código não depende de características de comportamento extremamente específicas, você deve usar BehaviorVersion::latest() no código ou usar o sinalizador de recurso behavior-version-latest no arquivo Cargo.toml. Se você estiver escrevendo um código sensível à latência ou que ajusta os comportamentos do SDK do Rust, considere fixa BehaviorVersion em uma versão principal específica.
Definir a versão do comportamento em Cargo.toml
Você pode especificar a versão do comportamento do SDK e dos módulos individuais, como aws-sdk-s3 ou aws-sdk-iam, incluindo um sinalizador de recurso apropriado no arquivo Cargo.toml. No momento, somente a versão latest do SDK é compatível com Cargo.toml:
[dependencies] aws-config = { version = "1", features = ["behavior-version-latest"] } aws-sdk-s3 = { version = "1", features = ["behavior-version-latest"] }
Definir a versão do comportamento no código
Seu código pode alterar a versão do comportamento conforme necessário, especificando-a ao configurar o SDK ou um cliente:
let config = aws_config::load_defaults(BehaviorVersion::v2023_11_09()).await;
Este exemplo cria uma configuração que usa o ambiente para configurar o SDK, mas define a BehaviorVersion como v2023_11_09().