

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo delle versioni comportamentali in AWS SDK per Rust
<a name="behavior-versions"></a>

AWS SDK per Rust gli sviluppatori si aspettano e fanno affidamento sul comportamento robusto e prevedibile offerto dal linguaggio e dalle sue principali librerie. Per aiutare gli sviluppatori che utilizzano l'SDK per Rust a ottenere il comportamento previsto, le configurazioni dei client devono includere un. `BehaviorVersion` `BehaviorVersion`specifica la versione dell'SDK di cui sono previste le impostazioni predefinite. Ciò consente all'SDK di evolversi nel tempo, modificando le migliori pratiche per soddisfare nuovi standard e supportare nuove funzionalità senza impatti negativi imprevisti sul comportamento dell'applicazione.

**avvertimento**  
Se provi a configurare l'SDK o a creare un client senza specificare esplicitamente a, lo farà il costruttore`BehaviorVersion`. panic

Ad esempio, immaginate che venga rilasciata una nuova versione dell'SDK con una nuova politica di riprova predefinita. Se l'applicazione utilizza una versione `BehaviorVersion` corrispondente a una versione precedente dell'SDK, viene utilizzata tale configurazione precedente anziché la nuova configurazione predefinita.

Ogni volta che viene rilasciata una nuova versione comportamentale dell'SDK per Rust, la precedente `BehaviorVersion` viene contrassegnata con l'`deprecated`attributo SDK for Rust e viene aggiunta la nuova versione. Ciò fa sì che vengano visualizzati degli avvisi in fase di compilazione, ma per il resto consente alla compilazione di continuare come al solito. `BehaviorVersion::latest()`viene inoltre aggiornato per indicare il comportamento predefinito della nuova versione.

**Nota**  
Se il codice non si basa su caratteristiche di comportamento estremamente specifiche, è necessario utilizzarlo `BehaviorVersion::latest()` nel codice o utilizzare il flag di funzionalità `behavior-version-latest` nel `Cargo.toml` file. Se stai scrivendo codice sensibile alla latenza o che ottimizza i comportamenti di Rust SDK, prendi in considerazione la possibilità di aggiungerlo a una versione principale specifica`BehaviorVersion`.

## Imposta la versione comportamentale in `Cargo.toml`
<a name="set-the-behavior-version-in-cargo-toml"></a>

Puoi specificare la versione di comportamento per l'SDK e i singoli moduli, ad esempio `aws-sdk-s3` o`aws-sdk-iam`, includendo un flag di funzionalità appropriato nel `Cargo.toml` file. Al momento, solo la `latest` versione dell'SDK è supportata in: `Cargo.toml`

```
[dependencies]
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-s3 = { version = "1", features = ["behavior-version-latest"] }
```

## Imposta la versione del comportamento nel codice
<a name="set-the-behavior-version-in-code"></a>

Il codice può modificare la versione del comportamento in base alle esigenze specificandola durante la configurazione dell'SDK o di un client:

```
let config = aws_config::load_defaults(BehaviorVersion::v2023_11_09()).await;
```

Questo esempio crea una configurazione che utilizza l'ambiente per configurare l'SDK ma imposta su. `BehaviorVersion` `v2023_11_09()`