

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

# Impostazione del Regione AWS per AWS SDK per Rust
<a name="region"></a>

Puoi accedere a Servizi AWS ciò che opera in un'area geografica specifica utilizzando Regioni AWS. Ciò può essere utile sia per la ridondanza sia per mantenere attivi i dati e le applicazioni vicino a dove voi e i vostri utenti vi accedete. Per ulteriori informazioni su come vengono utilizzate le regioni, consulta [Regione AWS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)la Guida di *riferimento agli strumenti AWS SDKs e agli strumenti.*

**Importante**  
La maggior parte delle risorse risiede in una regione specifica Regione AWS ed è necessario fornire la regione corretta per la risorsa quando si utilizza l'SDK.

È necessario impostare un valore predefinito Regione AWS per l'SDK for Rust da utilizzare per le richieste. AWS Questa impostazione predefinita viene utilizzata per tutte le chiamate ai metodi di servizio SDK che non sono specificate con una regione. 

Per esempi su come impostare l'area predefinita tramite il AWS `config` file condiviso o le variabili di ambiente, [Regione AWS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)consultate la *Guida di riferimento agli strumenti AWS SDKs e agli strumenti*.

## Regione AWS catena di fornitori
<a name="region-provider-chain"></a>

 Il seguente processo di ricerca viene utilizzato quando si carica la configurazione di un client di servizio dall'ambiente di esecuzione. Il primo valore che l'SDK trova impostato viene utilizzato nella configurazione del client. Per ulteriori informazioni sulla creazione di client di servizio, consulta[Configura un client dall'ambiente](config-code.md#configure-a-client-from-the-environment).

1. Qualsiasi regione esplicita impostata a livello di codice.

1. La variabile di ambiente `AWS_REGION` è selezionata. 
   + Se si utilizza il AWS Lambda servizio, questa variabile di ambiente viene impostata automaticamente dal contenitore. AWS Lambda 

1. La `region` proprietà nel AWS `config` file condiviso viene verificata. 
   + La variabile di `AWS_CONFIG_FILE` ambiente può essere utilizzata per modificare la posizione del `config` file condiviso. Per ulteriori informazioni sulla posizione in cui è conservato questo file, consulta [Posizione del file condiviso `config` e dei `credentials` file](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) nella *Guida di riferimento agli strumenti AWS SDKs e* agli strumenti.
   + La variabile di `AWS_PROFILE` ambiente può essere utilizzata per selezionare un profilo denominato anziché quello predefinito. Per ulteriori informazioni sulla configurazione di diversi profili, consulta [`config`Shared and `credentials` files nella AWS SDKs and](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) *Tools Reference Guide*.

1. L'SDK tenta di utilizzare il servizio di metadati delle istanze Amazon EC2 per determinare la regione dell'istanza Amazon EC2 attualmente in esecuzione.
   + Gli unici supporti. AWS SDK per Rust IMDSv2

Viene utilizzato automaticamente senza codice aggiuntivo durante la creazione di una configurazione di base da utilizzare con un client di servizio: `RegionProviderChain`

```
let config = aws_config::defaults(BehaviorVersion::latest())
    .load()
    .await;
```

## Impostazione del codice Regione AWS in
<a name="RegionProgram"></a>

### Impostazione esplicita della regione nel codice
<a name="RegionNew"></a>

`Region::new()`Utilizzala direttamente nella tua configurazione quando desideri impostare in modo esplicito la regione. 

La catena di provider Region non viene utilizzata: non controlla l'ambiente, il `config` file condiviso o il servizio di metadati delle istanze Amazon EC2. 

```
use aws_config::{defaults, BehaviorVersion};
use aws_sdk_s3::config::Region;

#[tokio::main]
async fn main() {
    let config = defaults(BehaviorVersion::latest())
        .region(Region::new("us-west-2"))
        .load()
        .await;

    println!("Using Region: {}", config.region().unwrap());
}
```

Assicurati di inserire una stringa valida per un Regione AWS; il valore fornito non è convalidato.

### Personalizzazione del `RegionProviderChain`
<a name="regionProviderChain"></a>

Utilizzatela [Regione AWS catena di fornitori](#region-provider-chain) quando desiderate iniettare una regione in modo condizionale, sovrascriverla o personalizzare la catena di risoluzione.

```
use aws_config::{defaults, BehaviorVersion};
use aws_config::meta::region::RegionProviderChain;
use aws_sdk_s3::config::Region;
use std::env;

#[tokio::main]
async fn main() {  
    let region_provider = RegionProviderChain::first_try(env::var("CUSTOM_REGION").ok().map(Region::new))
        .or_default_provider()
        .or_else(Region::new("us-east-2"));
    
    let config = aws_config::defaults(BehaviorVersion::latest())
        .region(region_provider)
        .load()
        .await;

    println!("Using Region: {}", config.region().unwrap());
}
```

 La configurazione precedente consentirà di:

1. Per prima cosa verifica se c'è una stringa impostata nella variabile di `CUSTOM_REGION` ambiente.

1. Se non è disponibile, torna alla catena di provider Region predefinita.

1. Se fallisce, usa «us-east-2" come fallback finale.