

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á.

# Usando versões de comportamento no AWS SDK para Rust
<a name="behavior-versions"></a>

AWS SDK para Rust os desenvolvedores 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`
<a name="set-the-behavior-version-in-cargo-toml"></a>

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
<a name="set-the-behavior-version-in-code"></a>

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()`.