

La AWS SDK per .NET V3 è entrata in modalità manutenzione.

[Ti consigliamo di migrare alla V4.AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta il nostro annuncio sulla modalità di [manutenzione](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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

# Configurazione avanzata per il tuo AWS SDK per .NET progetto
<a name="net-dg-advanced-config"></a>

Gli argomenti di questa sezione contengono informazioni su attività e metodi di configurazione aggiuntivi che potrebbero interessarti.

**Topics**
+ [AWSSDK.Estensioni. NETCore.Setup e IConfiguration](net-dg-config-netcore.md)
+ [

# Configurazione di altri parametri dell'applicazione
](net-dg-config-other.md)
+ [

# Riferimento ai file di configurazione per AWS SDK per .NET
](net-dg-config-ref.md)

# Utilizzo di AWSSDK .Extensions. NETCore.Setup e l'interfaccia IConfiguration
<a name="net-dg-config-netcore"></a>

(Questo argomento era precedentemente intitolato «Configurazione di con.NET Core») AWS SDK per .NET 

Una delle principali modifiche apportate a.NET Core è la rimozione degli standard `ConfigurationManager` e dei `web.config` file utilizzati con le `app.config` applicazioni.NET Framework e ASP.NET.

La configurazione in .NET Core si basa su coppie chiave-valore stabilite dai provider di configurazione. I provider di configurazione leggono i dati di configurazione nelle coppie chiave-valore da una serie di origini di configurazione, inclusi gli argomenti della riga comando, file directory, variabili d'ambiente e file di impostazioni.

**Nota**  
Per ulteriori informazioni, consulta [Configuration in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration).

[Per semplificare l'utilizzo AWS SDK per .NET con .NET Core, puoi utilizzare le .Extensions. AWSSDK NETCorePacchetto .Setup](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/) NuGet . Come molte librerie.NET Core, aggiunge metodi di estensione all'`IConfiguration`interfaccia per semplificare la AWS configurazione.

Il codice sorgente di questo pacchetto è disponibile GitHub all'indirizzo[https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup](https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup).

## Usare AWSSDK .Extensions. NETCore.Setup
<a name="net-core-configuration-builder"></a>

Si supponga di creare un'applicazione ASP.NET Core Model-View-Controller (MVC), che può essere eseguita con il modello di **applicazione Web ASP.NET Core** in Visual Studio o eseguendo in.NET Core `dotnet new mvc ...` CLI. Quando si crea un'applicazione di questo tipo, il costruttore di `Startup.cs` gestisce la configurazione leggendo varie fonti di input da provider di configurazione come. `appsettings.json`

```
public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}
```

Per utilizzare l'`Configuration`oggetto per ottenere le *AWS*opzioni, aggiungete prima il `AWSSDK.Extensions.NETCore.Setup` NuGet pacchetto. Quindi, aggiungete le vostre opzioni al file di configurazione come descritto di seguito.

Nota che uno dei file aggiunti al tuo progetto è`appsettings.Development.json`. Ciò corrisponde a un `EnvironmentName` set di **Development**. Durante lo sviluppo, si inserisce la configurazione in questo file, che viene letto solo durante i test locali. **Quando si distribuisce un'istanza Amazon EC2 `EnvironmentName` impostata su Production, questo file viene ignorato e torna alle credenziali e AWS SDK per .NET alla regione IAM configurate per l'istanza Amazon EC2.**

Le seguenti impostazioni di configurazione mostrano esempi dei valori che puoi aggiungere al `appsettings.Development.json` file nel tuo progetto per fornire le impostazioni. AWS 

```
{
  "AWS": {
    "Profile": "local-test-profile",
    "Region": "us-west-2"
  },
  "SupportEmail": "TechSupport@example.com"
}
```

Per accedere a un'impostazione in un file *CSHTML*, utilizzate la direttiva. `Configuration`

```
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

<h1>Contact</h1>

<p>
    <strong>Support:</strong> <a href='mailto:@Configuration["SupportEmail"]'>@Configuration["SupportEmail"]</a><br />
</p>
```

Per accedere alle AWS opzioni impostate nel file dal codice, chiamate il metodo di `GetAWSOptions` estensione aggiunto a. `IConfiguration`

Per costruire un client di servizio da queste opzioni, chiama il codice `CreateServiceClient`. L'esempio seguente mostra come creare un client di servizio Amazon S3. (Assicurati di aggiungere il [AWSSDK NuGet pacchetto.S3](https://www.nuget.org/packages/AWSSDK.S3) al tuo progetto.)

```
var options = Configuration.GetAWSOptions();
IAmazonS3 client = options.CreateServiceClient<IAmazonS3>();
```

*È inoltre possibile creare più client di servizio con impostazioni incompatibili utilizzando più voci nel `appsettings.Development.json` file, come illustrato negli esempi seguenti, in cui la configurazione per `service1` include la `us-west-2` regione e la configurazione per include l'URL speciale dell'endpoint. `service2`*

```
{
  "service1": {
    "Profile": "default",
    "Region": "us-west-2"
  },
  "service2": {
    "Profile": "default",
    "ServiceURL": "URL"
  }
}
```

È possibile ottenere le opzioni per un servizio specifico utilizzando la voce nel file JSON. Ad esempio, per ottenere le impostazioni `service1` utilizzate quanto segue.

```
var options = Configuration.GetAWSOptions("service1");
```

### Valori consentiti nel file appsettings
<a name="net-core-appsettings-values"></a>

I seguenti valori di configurazione delle app possono essere impostate nel file `appsettings.Development.json`. I nomi dei campi devono utilizzare il maiuscolo mostrato. Per i dettagli su queste impostazioni, consultate la `[AWS.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html)` classe.
+ Region
+ Profilo
+ ProfilesLocation
+ SignatureVersion
+ RegionEndpoint
+ UseHttp
+ ServiceURL
+ AuthenticationRegion
+ AuthenticationServiceName
+ MaxErrorRetry
+ LogResponse
+ BufferSize
+ ProgressUpdateInterval
+ ResignRetries
+ AllowAutoRedirect
+ LogMetrics
+ DisableLogging
+ UseDualstackEndpoint

## Iniezione delle dipendenze di ASP.NET Core
<a name="net-core-dependency-injection"></a>

*Le AWSSDK .Extensions. NETCore NuGet Il pacchetto.Setup* si integra anche con un nuovo sistema di iniezione delle dipendenze in ASP.NET Core. Il `ConfigureServices` metodo nella `Startup` classe dell'applicazione è quello in cui vengono aggiunti i servizi MVC. Se l'applicazione utilizza Entity Framework, è qui che viene inizializzata.

```
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();
}
```

**Nota**  
Informazioni sull'iniezione delle dipendenze in .NET Core sono disponibili nel sito di [documentazione di .NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection).

Il `AWSSDK.Extensions.NETCore.Setup` NuGet pacchetto aggiunge nuovi metodi di estensione `IServiceCollection` che è possibile utilizzare per aggiungere AWS servizi all'iniezione di dipendenze. Il codice seguente mostra come aggiungere le AWS opzioni da cui vengono lette `IConfiguration` per aggiungere Amazon S3 e DynamoDB all'elenco dei servizi. (Assicurati di aggiungere i pacchetti [AWSSDK.S3 e [AWSSDKDBv2 NuGet .Dynamo](https://www.nuget.org/packages/AWSSDK.DynamoDBv2)](https://www.nuget.org/packages/AWSSDK.S3) al tuo progetto.)

```
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
    services.AddAWSService<IAmazonS3>();
    services.AddAWSService<IAmazonDynamoDB>();
}
```

Ora, se i controller MVC utilizzano `IAmazonS3` o `IAmazonDynamoDB` come parametri nei costruttori, il sistema di inserimento delle dipendenze trasferisce questi servizi.

```
public class HomeController : Controller
{
    IAmazonS3 S3Client { get; set; }

    public HomeController(IAmazonS3 s3Client)
    {
        this.S3Client = s3Client;
    }

    ...

}
```

# Configurazione di altri parametri dell'applicazione
<a name="net-dg-config-other"></a>

**Nota**  
Le informazioni in questo argomento sono specifiche per i progetti basati su.NET Framework. I `Web.config` file `App.config` and non sono presenti per impostazione predefinita nei progetti basati su.NET Core.

## Apri per visualizzare il contenuto di.NET Framework
<a name="w2aab9c31b9b5b1"></a>

È possibile configurare diversi parametri dell'applicazione:
+  `AWSLogging` 
+  `AWSLogMetrics` 
+  `AWSRegion` 
+  `AWSResponseLogging` 
+  `AWS.DynamoDBContext.TableNamePrefix` 
+  `AWS.S3.UseSignatureVersion4` 
+  `AWSEndpointDefinition` 
+  [AWS Endpoint generati dal servizio](#config-setting-service-generated-awsendpointdefinition) 

Questi parametri possono essere configurati nel file `App.config` o `Web.config` dell'applicazione. Sebbene sia possibile configurarli anche con l' AWS SDK per .NET API, si consiglia di utilizzare il file dell'applicazione. `.config` Entrambi gli approcci sono descritti in questo articolo.

Per ulteriori informazioni sull'uso dell'`<aws>`elemento, come descritto più avanti in questo argomento, consultate [Configuration Files Reference for AWS SDK per .NET](net-dg-config-ref.md).

### AWSLogging
<a name="config-setting-awslogging"></a>

Configura se e come l'SDK deve registrare gli eventi. Ad esempio, l'approccio consigliato prevede di utilizzare l'elemento `<logging>`, che è un elemento figlio di `<aws>`:

```
<aws>
  <logging logTo="Log4Net"/>
</aws>
```

In alternativa:

```
<add key="AWSLogging" value="log4net"/>
```

I valori possibili sono:

** `None` **  
Disattiva la registrazione degli eventi . Questa è l’impostazione predefinita.

** `log4net` **  
Accedi utilizzando log4net.

** `SystemDiagnostics` **  
Accedi utilizzando la classe `System.Diagnostics`.

Puoi impostare più valori per l'attributo `logTo`, separandoli con virgole. L'esempio seguente imposta la registrazione sia di `log4net` che di `System.Diagnostics` nel file`.config`:

```
<logging logTo="Log4Net, SystemDiagnostics"/>
```

In alternativa:

```
<add key="AWSLogging" value="log4net, SystemDiagnostics"/>
```

[In alternativa, utilizzando l' AWS SDK per .NET API, combinate i valori dell'[LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TLoggingOptions.html)enumerazione e impostate la proprietà .Logging: AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)

```
AWSConfigs.Logging = LoggingOptions.Log4Net | LoggingOptions.SystemDiagnostics;
```

Le modifiche a questa impostazione hanno effetto solo per le nuove istanze del client. AWS 

### AWSLogMetriche
<a name="config-setting-awslogmetrics"></a>

Specifica se l'SDK debba registrare i parametri delle prestazioni. Per impostare la configurazione della registrazione dei parametri nel file `.config`, imposta il valore dell'attributo `logMetrics` nell'elemento `<logging>`, che è un elemento figlio dell'elemento `<aws>`:

```
<aws>
  <logging logMetrics="true"/>
</aws>
```

In alternativa, imposta la chiave `AWSLogMetrics` nella sezione `<appSettings>`:

```
<add key="AWSLogMetrics" value="true">
```

[In alternativa, per impostare la registrazione delle metriche con l' AWS SDK per .NET API, imposta. AWSConfigs LogMetrics](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)proprietà:

```
AWSConfigs.LogMetrics = true;
```

Questa impostazione configura la proprietà `LogMetrics` predefinita per tutti i client e le configurazioni. Le modifiche a questa impostazione hanno effetto solo per le nuove istanze AWS del client.

### AWSRegion
<a name="config-setting-awsregion"></a>

Configura la AWS regione predefinita per i client che non hanno specificato esplicitamente una regione. Per impostare la regione nel file `.config`, l'approccio consigliato prevede di impostare il valore dell'attributo `region` nell'elemento `aws`:

```
<aws region="us-west-2"/>
```

In alternativa, imposta la chiave *AWSRegion* nella sezione `<appSettings>`:

```
<add key="AWSRegion" value="us-west-2"/>
```

[In alternativa, per impostare la regione con l' AWS SDK per .NET API, imposta il. AWSConfigs AWSRegion](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)proprietà:

```
AWSConfigs.AWSRegion = "us-west-2";
```

Per ulteriori informazioni sulla creazione di un AWS client per una regione specifica, vedere [Selezione AWS della regione](net-dg-region-selection.md). Le modifiche a questa impostazione hanno effetto solo per le nuove istanze AWS del client.

### AWSResponseRegistrazione
<a name="config-setting-awsresponselogging"></a>

Configura quando l'SDK deve registrare le risposte di servizio. I valori possibili sono:

** `Never` **  
Non registrare mai le risposte di servizio. Questa è l’impostazione predefinita.

** `Always` **  
Registra sempre le risposte di servizio.

** `OnError` **  
Registra le risposte di servizio solo quando si verifica un errore.

Per impostare la configurazione della registrazione dei servizi nel file `.config`, l'approccio consigliato prevede di impostare il valore dell'attributo `logResponses` nell'elemento `<logging>`, che è un elemento figlio dell'elemento `<aws>`:

```
<aws>
  <logging logResponses="OnError"/>
</aws>
```

In alternativa, imposta la chiave *AWSResponsedi registrazione* nella `<appSettings>` sezione:

```
<add key="AWSResponseLogging" value="OnError"/>
```

[In alternativa, per impostare la registrazione del servizio con l' AWS SDK per .NET API, imposta il. AWSConfigs ResponseLogging](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)proprietà su uno dei valori dell'[ResponseLoggingOption](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TResponseLoggingOption.html)enumerazione:

```
AWSConfigs.ResponseLogging = ResponseLoggingOption.OnError;
```

Le modifiche a questa impostazione vengono applicate immediatamente.

### `AWS.DynamoDBContext.TableNamePrefix`
<a name="config-setting-aws-dynamodbcontext-tablenameprefix"></a>

Configura l'elemento `TableNamePrefix` predefinito utilizzato da `DynamoDBContext` se non viene configurato manualmente.

Per impostare il prefisso del nome della tabella nel file `.config`, l'approccio consigliato prevede di impostare il valore dell'attributo `tableNamePrefix` nell'elemento `<dynamoDBContext>`, che è un elemento figlio dell'elemento `<dynamoDB>`, a sua volta elemento figlio dell'elemento `<aws>`:

```
<dynamoDBContext tableNamePrefix="Test-"/>
```

In alternativa, imposta la chiave `AWS.DynamoDBContext.TableNamePrefix` nella sezione `<appSettings>`:

```
<add key="AWS.DynamoDBContext.TableNamePrefix" value="Test-"/>
```

[In alternativa, per impostare il prefisso del nome della tabella con l' AWS SDK per .NET API, imposta la proprietà.Dynamo: AWSConfigs DBContext TableNamePrefix](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)

```
AWSConfigs.DynamoDBContextTableNamePrefix = "Test-";
```

Le modifiche a questa impostazione vengono applicate solo alle istanze di recente costruzione di `DynamoDBContextConfig` e `DynamoDBContext`.

### `AWS.S3.UseSignatureVersion4`
<a name="config-setting-aws-s3-usesignatureversion4"></a>

Configura se il client Amazon S3 deve utilizzare o meno la firma con la versione 4 della firma con le richieste.

Per impostare la firma della versione 4 della firma per Amazon S3 nel `.config` file, l'approccio consigliato consiste nell'impostare l'`useSignatureVersion4`attributo dell'`<s3>`elemento, che è un elemento figlio dell'`<aws>`elemento:

```
<aws>
  <s3 useSignatureVersion4="true"/>
</aws>
```

In alternativa, imposta la `AWS.S3.UseSignatureVersion4` chiave su `true` nella `<appSettings>` sezione:

```
<add key="AWS.S3.UseSignatureVersion4" value="true"/>
```

In alternativa, per impostare la firma della versione 4 della firma con l' AWS SDK per .NET API, imposta la proprietà [AWSConfigs.S3 UseSignatureVersion 4](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) su: `true`

```
AWSConfigs.S3UseSignatureVersion4 = true;
```

Per impostazione predefinita, questa impostazione è `false`, ma in alcuni casi o regioni la firma Signature Version 4 può essere utilizzata per impostazione predefinita. Quando l'impostazione è `true`, la firma Signature Version 4 verrà utilizzata per tutte le richieste. Le modifiche a questa impostazione hanno effetto solo per le nuove istanze client Amazon S3.

### AWSEndpointDefinizione
<a name="config-setting-awsendpointdefinition"></a>

Configura se l'SDK debba utilizzare un file di configurazione personalizzato che definisce le regioni e gli endpoint.

Per impostare il file di definizione degli endpoint nel file `.config`, consigliamo di impostare il valore dell'attributo `endpointDefinition` nell'elemento `<aws>`.

```
<aws endpointDefinition="c:\config\endpoints.json"/>
```

In alternativa, puoi impostare la chiave *AWSEndpointDefinition* nella `<appSettings>` sezione:

```
<add key="AWSEndpointDefinition" value="c:\config\endpoints.json"/>
```

[In alternativa, per impostare il file di definizione dell'endpoint con l' AWS SDK per .NET API, imposta ilAWSConfigs. EndpointDefinition](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)proprietà:

```
AWSConfigs.EndpointDefinition = @"c:\config\endpoints.json";
```

Se non viene fornito il nome del file, il file di configurazione personalizzato non verrà utilizzato. Le modifiche a questa impostazione hanno effetto solo per le nuove istanze AWS del client. Il file endpoint.json è disponibile da. [https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/sdk/src/Core/endpoints.json](https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/sdk/src/Core/endpoints.json)

### AWS Endpoint generati dal servizio
<a name="config-setting-service-generated-awsendpointdefinition"></a>

Alcuni AWS servizi generano i propri endpoint invece di utilizzare un endpoint regionale. I client per questi servizi utilizzano un URL specifico per il servizio e le tue risorse. Due esempi di questi servizi sono Amazon CloudSearch e AWS IoT. Gli esempi seguenti mostrano come ottenere gli endpoint per questi servizi.

#### Esempio di Amazon CloudSearch Endpoints
<a name="cs-endpoints-example"></a>

Il CloudSearch client Amazon viene utilizzato per accedere al servizio di CloudSearch configurazione Amazon. Utilizzi il servizio di CloudSearch configurazione Amazon per creare, configurare e gestire i domini di ricerca. Per creare un dominio di ricerca, crea un [CreateDomainRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCreateDomainRequest.html)oggetto e fornisci la `DomainName` proprietà. Crea un [AmazonCloudSearchClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCloudSearchClient.html)oggetto utilizzando l'oggetto di richiesta. Chiama il metodo [CreateDomain](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/MCloudSearchCreateDomainCreateDomainRequest.html). L'[CreateDomainResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCreateDomainResponse.html)oggetto restituito dalla chiamata contiene una `DomainStatus` proprietà che ha sia l'estremità che `DocService` l'`SearchService`estremità. Create un [AmazonCloudSearchDomainConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearchDomain/TCloudSearchDomainConfig.html)oggetto e utilizzatelo per inizializzare `DocService` e inizializzare `SearchService` le istanze della classe. [AmazonCloudSearchDomainClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearchDomain/TCloudSearchDomainClient.html)

```
// Create domain and retrieve DocService and SearchService endpoints
DomainStatus domainStatus;
using (var searchClient = new AmazonCloudSearchClient())
{
    var request = new CreateDomainRequest
    {
        DomainName = "testdomain"
    };
    domainStatus = searchClient.CreateDomain(request).DomainStatus;
    Console.WriteLine(domainStatus.DomainName + " created");
}

// Test the DocService endpoint
var docServiceConfig = new AmazonCloudSearchDomainConfig
{
    ServiceURL = "https://" + domainStatus.DocService.Endpoint
};
using (var domainDocService = new AmazonCloudSearchDomainClient(docServiceConfig))
{
    Console.WriteLine("Amazon CloudSearchDomain DocService client instantiated using the DocService endpoint");
    Console.WriteLine("DocService endpoint = " + domainStatus.DocService.Endpoint);

    using (var docStream = new FileStream(@"C:\doc_source\XMLFile4.xml", FileMode.Open))
    {
        var upload = new UploadDocumentsRequest
        {
            ContentType = ContentType.ApplicationXml,
            Documents = docStream
        };
        domainDocService.UploadDocuments(upload);
    }
}

// Test the SearchService endpoint
var searchServiceConfig = new AmazonCloudSearchDomainConfig
{
    ServiceURL = "https://" + domainStatus.SearchService.Endpoint
};
using (var domainSearchService = new AmazonCloudSearchDomainClient(searchServiceConfig))
{
    Console.WriteLine("Amazon CloudSearchDomain SearchService client instantiated using the SearchService endpoint");
    Console.WriteLine("SearchService endpoint = " + domainStatus.SearchService.Endpoint);

    var searchReq = new SearchRequest
    {
        Query = "Gambardella",
        Sort = "_score desc",
        QueryParser = QueryParser.Simple
    };
    var searchResp = domainSearchService.Search(searchReq);
}
```

#### AWS IoT Esempio di endpoint
<a name="iotlong-endpoints-example"></a>

Per ottenere l'endpoint per AWS IoT, create un [AmazonIoTClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TIoTClient.html)oggetto e chiamate il [DescribeEndPoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/MIoTDescribeEndpointDescribeEndpointRequest.html)metodo. L'[DescribeEndPointResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TDescribeEndpointResponse.html)oggetto restituito contiene il. `EndpointAddress` Create un [AmazonIotDataConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IotData/TIotDataConfig.html)oggetto, impostate la `ServiceURL` proprietà e utilizzate l'oggetto per creare un'istanza della [AmazonIotDataClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IotData/TIotDataClient.html)classe.

```
string iotEndpointAddress;
using (var iotClient = new AmazonIoTClient())
{
    var endPointResponse = iotClient.DescribeEndpoint();
    iotEndpointAddress = endPointResponse.EndpointAddress;
}

var ioTdocServiceConfig = new AmazonIotDataConfig
{
    ServiceURL = "https://" + iotEndpointAddress
};
using (var dataClient = new AmazonIotDataClient(ioTdocServiceConfig))
{
    Console.WriteLine("AWS IoTData client instantiated using the endpoint from the IotClient");
}
```

# Riferimento ai file di configurazione per AWS SDK per .NET
<a name="net-dg-config-ref"></a>

**Nota**  
Le informazioni in questo argomento sono specifiche per i progetti basati su.NET Framework. I `Web.config` file `App.config` and non sono presenti per impostazione predefinita nei progetti basati su.NET Core.

## Apri per visualizzare il contenuto di.NET Framework
<a name="w2aab9c31c11b5b1"></a>

Puoi utilizzare un progetto `App.config` o un `Web.config` file .NET per specificare AWS impostazioni, come AWS credenziali, opzioni di registrazione, endpoint di AWS servizio e AWS regioni, nonché alcune impostazioni per AWS servizi come Amazon DynamoDB, Amazon e Amazon S3. EC2 Le informazioni seguenti descrivono come formattare correttamente un file `App.config` o `Web.config` per specificare questi tipi di impostazioni.

**Nota**  
Sebbene sia possibile continuare a utilizzare l'`<appSettings>`elemento in un `Web.config` file `App.config` or per specificare AWS le impostazioni, si consiglia di utilizzare `<aws>` gli elementi `<configSections>` and come descritto più avanti in questo argomento. Per ulteriori informazioni sull'`<appSettings>`elemento, consultate gli esempi di `<appSettings>` elementi in [Configurazione AWS SDK per .NET dell'applicazione](net-dg-config.md).

**Nota**  
Sebbene sia possibile continuare a utilizzare le seguenti proprietà di [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)classe in un file di codice per specificare AWS le impostazioni, le seguenti proprietà sono obsolete e potrebbero non essere supportate nelle versioni future:  
 `DynamoDBContextTableNamePrefix` 
 `EC2UseSignatureVersion4` 
 `LoggingOptions` 
 `LogMetrics` 
 `ResponseLoggingOption` 
 `S3UseSignatureVersion4` 
In generale, invece di utilizzare le proprietà di `AWSConfigs` classe in un file di codice per specificare AWS le impostazioni, si consiglia di utilizzare gli `<aws>` elementi `<configSections>` and in un `Web.config` file `App.config` or per specificare AWS le impostazioni, come descritto più avanti in questo argomento. Per ulteriori informazioni sulle proprietà precedenti, consultate gli esempi di `AWSConfigs` codice in [Configurazione dell'applicazione AWS SDK per .NET](net-dg-config.md).

**Topics**
+ [

### Dichiarazione di una sezione delle impostazioni AWS
](#net-dg-config-ref-declaring)
+ [

### Elementi consentiti
](#net-dg-config-ref-elements)
+ [

### Riferimento per gli elementi elemento
](#net-dg-config-ref-elements-ref)

### Dichiarazione di una sezione delle impostazioni AWS
<a name="net-dg-config-ref-declaring"></a>

 AWS Le impostazioni vengono specificate in un `Web.config` file `App.config` or dall'interno dell'`<aws>`elemento. Prima di iniziare a utilizzare l'elemento `<aws>`, devi creare un elemento `<section>`, ossia un elemento figlio dell'elemento `<configSections>`, e impostare l'attributo `name` su `aws` e l'attributo `type` su `Amazon.AWSSection, AWSSDK.Core`, come nell'esempio seguente:

```
<?xml version="1.0"?>
<configuration>
  ...
  <configSections>
    <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/>
  </configSections>
  <aws>
    <!-- Add your desired AWS settings declarations here. -->
  </aws>
  ...
</configuration>
```

Visual Studio Editor non fornisce il completamento automatico del codice (IntelliSense) per l'`<aws>`elemento o i relativi elementi secondari.

Se serve assistenza per creare correttamente una versione formattata dell'elemento `<aws>`, chiama il metodo `Amazon.AWSConfigs.GenerateConfigTemplate`. Viene restituita una versione canonica dell'elemento `<aws>` sotto forma di stringa formattata che puoi adattare alle tue esigenze. Le sezioni seguenti descrivono gli attributi dell'elemento `<aws>` e i relativi elementi figlio.

### Elementi consentiti
<a name="net-dg-config-ref-elements"></a>

Di seguito è riportato un elenco delle relazioni logiche tra gli elementi consentiti in una sezione AWS delle impostazioni. Puoi generare la versione più recente di questo elenco chiamando il metodo `Amazon.AWSConfigs.GenerateConfigTemplate`, che fornisce una versione canonica dell'elemento `<aws>` sotto forma di stringa che puoi adattare alle tue esigenze.

```
<aws
  endpointDefinition="string value"
  region="string value"
  profileName="string value"
  profilesLocation="string value">
  <logging
    logTo="None, Log4Net, SystemDiagnostics"
    logResponses="Never | OnError | Always"
    logMetrics="true | false"
    logMetricsFormat="Standard | JSON"
    logMetricsCustomFormatter="NameSpace.Class, Assembly" />
  <dynamoDB
    conversionSchema="V1 | V2">
    <dynamoDBContext
      tableNamePrefix="string value">
      <tableAliases>
        <alias
          fromTable="string value"
          toTable="string value" />
      </tableAliases>
      <map
        type="NameSpace.Class, Assembly"
        targetTable="string value">
        <property
          name="string value"
          attribute="string value"
          ignore="true | false"
          version="true | false"
          converter="NameSpace.Class, Assembly" />
      </map>
    </dynamoDBContext>
  </dynamoDB>
  <s3
    useSignatureVersion4="true | false" />
  <ec2
    useSignatureVersion4="true | false" />
  <proxy
    host="string value"
    port="1234"
    username="string value"
    password="string value" />
</aws>
```

### Riferimento per gli elementi elemento
<a name="net-dg-config-ref-elements-ref"></a>

Di seguito è riportato un elenco degli elementi consentiti in una sezione AWS delle impostazioni. Per ogni elemento sono elencati gli attributi e gli elementi padre-figlio consentiti.

**Topics**
+ [

#### alias
](#net-dg-config-ref-elements-alias)
+ [

#### `aws`
](#net-dg-config-ref-elements-aws)
+ [

#### dynamoDB
](#net-dg-config-ref-elements-dynamodb)
+ [

#### dinamo DBContext
](#net-dg-config-ref-elements-ddbcontext)
+ [

#### ec2
](#net-dg-config-ref-elements-ec2)
+ [

#### logging
](#net-dg-config-ref-elements-logging)
+ [

#### map
](#net-dg-config-ref-elements-map)
+ [

#### property
](#net-dg-config-ref-elements-property)
+ [

#### proxy
](#net-dg-config-ref-elements-proxy)
+ [

#### s3
](#net-dg-config-ref-elements-s3)

#### alias
<a name="net-dg-config-ref-elements-alias"></a>

L'elemento `<alias>` rappresenta un singolo elemento in una raccolta di una o più mappature da from-table a to-table che specifica una tabella diversa rispetto a quella configurata per un tipo. Questo elemento viene mappato a un'istanza della classe `Amazon.Util.TableAlias` dalla proprietà `Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases` in AWS SDK per .NET. La ri-mappatura viene eseguita prima di applicare un prefisso al nome della tabella.

Questo elemento può includere gli attributi seguenti:

** `fromTable` **  
La parte from-table della mappatura da from-table a to-table. Questo attributo viene mappato alla proprietà `Amazon.Util.TableAlias.FromTable` in AWS SDK per .NET.

** `toTable` **  
La parte to-table della mappatura da from-table a to-table. Questo attributo viene mappato alla proprietà `Amazon.Util.TableAlias.ToTable` in AWS SDK per .NET.

Il padre dell'elemento `<alias>` è l'elemento `<tableAliases>`.

L'elemento `<alias>` non contiene elementi figlio.

Di seguito è illustrato un esempio dell'elemento `<alias>` in uso:

```
<alias
  fromTable="Studio"
  toTable="Studios" />
```

#### `aws`
<a name="net-dg-config-ref-elements-aws"></a>

L'`<aws>`elemento rappresenta l'elemento più in alto in una sezione AWS delle impostazioni. Questo elemento può includere gli attributi seguenti:

** `endpointDefinition` **  
Il percorso assoluto di un file di configurazione personalizzato che definisce le AWS regioni e gli endpoint da utilizzare. Questo attributo viene mappato alla proprietà `Amazon.AWSConfigs.EndpointDefinition` in AWS SDK per .NET.

** `profileName` **  
Il nome del profilo per AWS le credenziali archiviate che verranno utilizzate per effettuare chiamate di servizio. Questo attributo viene mappato alla proprietà `Amazon.AWSConfigs.AWSProfileName` in AWS SDK per .NET.

** `profilesLocation` **  
Il percorso assoluto della posizione del file delle credenziali condiviso con altri. AWS SDKs Per impostazione predefinita, il file delle credenziali viene archiviato nella directory `.aws` nella directory principale dell'utente corrente. Questo attributo viene mappato alla proprietà `Amazon.AWSConfigs.AWSProfilesLocation` in AWS SDK per .NET.

** `region` **  
L'ID di AWS regione predefinito per i client che non hanno specificato esplicitamente una regione. Questo attributo viene mappato alla proprietà `Amazon.AWSConfigs.AWSRegion` in AWS SDK per .NET.

L'elemento `<aws>` non ha elementi padre.

L'elemento `<aws>` può contenere i seguenti elementi figlio:
+  `<dynamoDB>` 
+  `<ec2>` 
+  `<logging>` 
+  `<proxy>` 
+  `<s3>` 

Di seguito è illustrato un esempio dell'elemento `<aws>` in uso:

```
<aws
  endpointDefinition="C:\Configs\endpoints.xml"
  region="us-west-2"
  profileName="development"
  profilesLocation="C:\Configs">
  <!-- ... -->
</aws>
```

#### dynamoDB
<a name="net-dg-config-ref-elements-dynamodb"></a>

L'elemento `<dynamoDB>` rappresenta una raccolta di impostazioni per Amazon DynamoDB. Questo elemento può includere l'attributo *conversionSchema*, che rappresenta la versione da utilizzare per la conversione di oggetti .NET e DynamoDB. I valori consentiti includono V1 e V2. Questo attributo viene mappato alla classe `Amazon.DynamoDBv2.DynamoDBEntryConversion` in AWS SDK per .NET. Per ulteriori informazioni, vedi [DynamoDB Series - Schemi di conversione](http://blogs.aws.amazon.com/net/post/Tx2TCOGWG7ARUH5/DynamoDB-Series-Conversion-Schemas).

Il padre dell'elemento `<dynamoDB>` è l'elemento `<aws>`.

L'elemento `<dynamoDB>` può contenere l'elemento figlio `<dynamoDBContext>`.

Di seguito è illustrato un esempio dell'elemento `<dynamoDB>` in uso:

```
<dynamoDB
  conversionSchema="V2">
  <!-- ... -->
</dynamoDB>
```

#### dinamo DBContext
<a name="net-dg-config-ref-elements-ddbcontext"></a>

L'elemento `<dynamoDBContext>` rappresenta una raccolta di impostazioni specifiche per il contesto di Amazon DynamoDB. Questo elemento può includere l'*tableNamePrefix*attributo, che rappresenta il prefisso del nome di tabella predefinito che il contesto DynamoDB utilizzerà se non è configurato manualmente. Questo attributo viene mappato alla proprietà `Amazon.Util.DynamoDBContextConfig.TableNamePrefix` dalla proprietà `Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix` in AWS SDK per .NET. Per ulteriori informazioni, vedi [Miglioramenti all'SDK DynamoDB](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK).

Il padre dell'elemento `<dynamoDBContext>` è l'elemento `<dynamoDB>`.

L'elemento `<dynamoDBContext>` può contenere i seguenti elementi figlio:
+  `<alias>` (una o più istanze)
+  `<map>` (una o più istanze)

Di seguito è illustrato un esempio dell'elemento `<dynamoDBContext>` in uso:

```
<dynamoDBContext
  tableNamePrefix="Test-">
  <!-- ... -->
</dynamoDBContext>
```

#### ec2
<a name="net-dg-config-ref-elements-ec2"></a>

L'`<ec2>`elemento rappresenta una raccolta di EC2 impostazioni Amazon. Questo elemento può includere l'attributo *useSignatureVersion4*, che specifica se la firma della versione 4 della firma verrà utilizzata per tutte le richieste (true) o se la firma della versione 4 della firma non verrà utilizzata per tutte le richieste (false, l'impostazione predefinita). Questo attributo viene mappato alla proprietà `Amazon.Util.EC2Config.UseSignatureVersion4` dalla proprietà `Amazon.AWSConfigs.EC2Config.UseSignatureVersion4` in AWS SDK per .NET.

Il padre dell'elemento `<ec2>` è l'elemento.

L'elemento `<ec2>` non contiene elementi figlio.

Di seguito è illustrato un esempio dell'elemento `<ec2>` in uso:

```
<ec2
  useSignatureVersion4="true" />
```

#### logging
<a name="net-dg-config-ref-elements-logging"></a>

L'elemento `<logging>` rappresenta una raccolta di impostazioni per la registrazione delle risposte e la registrazione dei parametri delle prestazioni. Questo elemento può includere gli attributi seguenti:

** `logMetrics` **  
Indica se i parametri delle prestazioni sono registrati per tutti i client e le configurazioni (true) o meno (false). Questo attributo viene mappato alla proprietà `Amazon.Util.LoggingConfig.LogMetrics` dalla proprietà `Amazon.AWSConfigs.LoggingConfig.LogMetrics` in AWS SDK per .NET.

** `logMetricsCustomFormatter` **  
Il tipo di dati e il nome dell'assembly di un formattatore personalizzato per i parametri di registrazione. Questo attributo viene mappato alla proprietà `Amazon.Util.LoggingConfig.LogMetricsCustomFormatter` dalla proprietà `Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter` in AWS SDK per .NET.

** `logMetricsFormat` **  
Il formato in cui vengono visualizzati i parametri di registrazione (mappato alla proprietà `Amazon.Util.LoggingConfig.LogMetricsFormat` dalla proprietà `Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat` in AWS SDK per .NET).  
I valori autorizzati includono:    
** `JSON` **  
Utilizza il formato JSON.  
** `Standard` **  
Utilizza formato predefinito.

** `logResponses` **  
Quando registrare le risposte del servizio (mappato alla proprietà `Amazon.Util.LoggingConfig.LogResponses` dalla proprietà `Amazon.AWSConfigs.LoggingConfig.LogResponses` in AWS SDK per .NET).  
I valori autorizzati includono:    
** `Always` **  
Registra sempre le risposte di servizio.  
** `Never` **  
Non registrare mai le risposte di servizio.  
** `OnError` **  
Registra le risposte del servizio solo quando ci sono errori.

** `logTo` **  
Dove effettuare il login (mappa la `LogTo` proprietà dalla `Amazon.AWSConfigs.LoggingConfig.LogTo` proprietà in AWS SDK per .NET).  
I valori consentiti includono uno o più:    
** `Log4Net` **  
Accedi a log4net.  
** `None` **  
Disabilita la registrazione.  
** `SystemDiagnostics` **  
Accedi a System.Diagnostics.

Il padre dell'elemento `<logging>` è l'elemento `<aws>`.

L'elemento `<logging>` non contiene elementi figlio.

Di seguito è illustrato un esempio dell'elemento `<logging>` in uso:

```
<logging
  logTo="SystemDiagnostics"
  logResponses="OnError"
  logMetrics="true"
  logMetricsFormat="JSON"
  logMetricsCustomFormatter="MyLib.Util.MyMetricsFormatter, MyLib" />
```

#### map
<a name="net-dg-config-ref-elements-map"></a>

L'`<map>`elemento rappresenta un singolo elemento in una raccolta di type-to-table mappature dai tipi.NET alle tabelle DynamoDB (esegue il mapping a un'istanza della `TypeMapping` classe dalla proprietà in). `Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings` AWS SDK per .NET Per ulteriori informazioni, vedi [Miglioramenti all'SDK DynamoDB](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK).

Questo elemento può includere gli attributi seguenti:

** `targetTable` **  
La tabella DynamoDB a cui si applica la mappatura. Questo attributo viene mappato alla proprietà `Amazon.Util.TypeMapping.TargetTable` in AWS SDK per .NET.

** `type` **  
Il tipo e il nome dell'assembly a cui si applica la mappatura. Questo attributo viene mappato alla proprietà `Amazon.Util.TypeMapping.Type` in AWS SDK per .NET.

Il padre dell'elemento `<map>` è l'elemento `<dynamoDBContext>`.

L'elemento `<map>` può includere una o più istanze dell'elemento figlio `<property>`.

Di seguito è illustrato un esempio dell'elemento `<map>` in uso:

```
<map
  type="SampleApp.Models.Movie, SampleDLL"
  targetTable="Movies">
  <!-- ... -->
</map>
```

#### property
<a name="net-dg-config-ref-elements-property"></a>

L'elemento `<property>` rappresenta una proprietà di DynamoDB. (Questo elemento è mappato a un'istanza di Amazon.Util. PropertyConfig [classe dal `AddProperty` metodo in AWS SDK per .NET) Per ulteriori informazioni, consulta [Miglioramenti all'SDK di DynamoDB e agli attributi di DynamoDB](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK).](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DeclarativeTagsList.html)

Questo elemento può includere gli attributi seguenti:

** `attribute` **  
Il nome di un attributo per la proprietà, ad esempio il nome di una chiave di intervallo. Questo attributo viene mappato alla proprietà `Amazon.Util.PropertyConfig.Attribute` in AWS SDK per .NET.

** `converter` **  
Il tipo di convertitore da utilizzare per questa proprietà. Questo attributo viene mappato alla proprietà `Amazon.Util.PropertyConfig.Converter` in AWS SDK per .NET.

** `ignore` **  
Indica se proprietà associata debba essere ignorata (true) o meno (false). Questo attributo viene mappato alla proprietà `Amazon.Util.PropertyConfig.Ignore` in AWS SDK per .NET.

** `name` **  
Il nome della proprietà. Questo attributo viene mappato alla proprietà `Amazon.Util.PropertyConfig.Name` in AWS SDK per .NET.

** `version` **  
Indica se la proprietà debba archiviare il numero di versione dell'elemento (true) o meno (false). Questo attributo viene mappato alla proprietà `Amazon.Util.PropertyConfig.Version` in AWS SDK per .NET.

Il padre dell'elemento `<property>` è l'elemento `<map>`.

L'elemento `<property>` non contiene elementi figlio.

Di seguito è illustrato un esempio dell'elemento `<property>` in uso:

```
<property
  name="Rating"
  converter="SampleApp.Models.RatingConverter, SampleDLL" />
```

#### proxy
<a name="net-dg-config-ref-elements-proxy"></a>

L'elemento `<proxy>` rappresenta le impostazioni per la configurazione di un proxy da utilizzare con AWS SDK per .NET . Questo elemento può includere gli attributi seguenti:

**host**  
L'indirizzo IP o il nome host del server proxy. Questo attributo viene mappato alla proprietà `Amazon.Util.ProxyConfig.Host` dalla proprietà `Amazon.AWSConfigs.ProxyConfig.Host` in AWS SDK per .NET.

**password**  
La password per eseguire l'autenticazione con il server proxy. Questo attributo viene mappato alla proprietà `Amazon.Util.ProxyConfig.Password` dalla proprietà `Amazon.AWSConfigs.ProxyConfig.Password` in AWS SDK per .NET.

**port**  
Il numero di porta del proxy. Questo attributo viene mappato alla proprietà `Amazon.Util.ProxyConfig.Port` dalla proprietà `Amazon.AWSConfigs.ProxyConfig.Port` in AWS SDK per .NET.

**username**  
Il nome utente per eseguire l'autenticazione con il server proxy. Questo attributo viene mappato alla proprietà `Amazon.Util.ProxyConfig.Username` dalla proprietà `Amazon.AWSConfigs.ProxyConfig.Username` in AWS SDK per .NET.

Il padre dell'elemento `<proxy>` è l'elemento `<aws>`.

L'elemento `<proxy>` non contiene elementi figlio.

Di seguito è illustrato un esempio dell'elemento `<proxy>` in uso:

```
<proxy
  host="192.0.2.0"
  port="1234"
  username="My-Username-Here"
  password="My-Password-Here" />
```

#### s3
<a name="net-dg-config-ref-elements-s3"></a>

L'elemento `<s3>` rappresenta una raccolta di impostazioni di Amazon S3. Questo elemento può includere l'attributo *useSignatureVersion4*, che specifica se la firma della versione 4 della firma verrà utilizzata per tutte le richieste (true) o se la firma della versione 4 della firma non verrà utilizzata per tutte le richieste (false, l'impostazione predefinita). Questo attributo viene mappato alla proprietà `Amazon.AWSConfigs.S3Config.UseSignatureVersion4` in AWS SDK per .NET.

Il padre dell'elemento `<s3>` è l'elemento `<aws>`.

L'elemento `<s3>` non contiene elementi figlio.

Di seguito è illustrato un esempio dell'elemento `<s3>` in uso:

```
<s3 useSignatureVersion4="true" />
```