

È stata rilasciata la versione 4 (V4) di\$1 AWS SDK per .NET 

Per informazioni su come apportare modifiche e migrare le applicazioni, consulta l'argomento sulla [migrazione](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html).

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

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 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="w2aac11c29b9b5b1"></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/v4/apidocs/items/Amazon/TLoggingOptions.html)enumerazione e impostate la proprietà .Logging: AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/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/v4/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/v4/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/v4/apidocs/items/Amazon/TAWSConfigs.html)proprietà su uno dei valori dell'[ResponseLoggingOption](https://docs.aws.amazon.com/sdkfornet/v4/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/v4/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/v4/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/v4/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 `endpoints.json` file è disponibile da[https://github.com/aws/aws-sdk-net/blob/main/sdk/src/Core/endpoints.json](https://github.com/aws/aws-sdk-net/blob/main/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/v4/apidocs/items/CloudSearch/TCreateDomainRequest.html)oggetto e fornisci la `DomainName` proprietà. Crea un [AmazonCloudSearchClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/TCloudSearchClient.html)oggetto utilizzando l'oggetto di richiesta. Chiama il metodo [CreateDomain](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/MCloudSearchCreateDomainCreateDomainRequest.html). L'[CreateDomainResponse](https://docs.aws.amazon.com/sdkfornet/v4/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/v4/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/v4/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/v4/apidocs/items/IoT/TIoTClient.html)oggetto e chiamate il [DescribeEndPoint](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/MIoTDescribeEndpointDescribeEndpointRequest.html)metodo. L'[DescribeEndPointResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TDescribeEndpointResponse.html)oggetto restituito contiene il. `EndpointAddress` Create un [AmazonIotDataConfig](https://docs.aws.amazon.com/sdkfornet/v4/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/v4/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");
}
```