

La version 4 (V4) du AWS SDK pour .NET est sortie \$1

Pour plus d'informations sur les modifications majeures et la migration de vos applications, consultez la [rubrique relative à la migration](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)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration d'autres paramètres de l'application
<a name="net-dg-config-other"></a>

**Note**  
Les informations contenues dans cette rubrique sont spécifiques aux projets basés sur .NET Framework. Les `Web.config` fichiers `App.config` et ne sont pas présents par défaut dans les projets basés sur .NET Core.

## Ouvrir pour afficher le contenu du .NET Framework
<a name="w2aac11c29b9b5b1"></a>

Vous pouvez configurer un certain nombre de paramètres d'application :
+  `AWSLogging` 
+  `AWSLogMetrics` 
+  `AWSRegion` 
+  `AWSResponseLogging` 
+  `AWS.DynamoDBContext.TableNamePrefix` 
+  `AWS.S3.UseSignatureVersion4` 
+  `AWSEndpointDefinition` 
+  [AWS Points de terminaison générés par le service](#config-setting-service-generated-awsendpointdefinition) 

Ces paramètres peuvent être configurés dans le fichier `App.config` ou `Web.config` de l'application. Bien que vous puissiez également les configurer à l'aide de l' AWS SDK pour .NET API, nous vous recommandons d'utiliser le `.config` fichier de l'application. Les deux approches sont décrites ici.

Pour plus d'informations sur l'utilisation de l'`<aws>`élément, comme décrit plus loin dans cette rubrique, consultez la section [Référence des fichiers de configuration pour AWS SDK pour .NET](net-dg-config-ref.md).

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

Configure comment SDK doit consigner les événements, le cas échéant. Par exemple, l'approche recommandée consiste à utiliser l'élément `<logging>`, élément enfant de l'élément `<aws>` :

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

Autrement :

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

Les valeurs possibles sont :

** `None` **  
Désactivez la journalisation des événements . Il s’agit de l’option par défaut.

** `log4net` **  
Journaliser à l'aide de log4net.

** `SystemDiagnostics` **  
Journaliser à l'aide de la classe `System.Diagnostics`.

Vous pouvez définir plusieurs valeurs pour l'attribut `logTo`, séparées par des virgules. L'exemple suivant définit la journalisation `log4net` et `System.Diagnostics` dans le fichier `.config` :

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

Autrement :

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

Vous pouvez également, à l'aide de l' AWS SDK pour .NET API, combiner les valeurs de l'[LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TLoggingOptions.html)énumération et définir la propriété [AWSConfigs.Logging](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) :

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

Les modifications apportées à ce paramètre ne prennent effet que pour les nouvelles instances AWS clientes.

### AWSLogMétriques
<a name="config-setting-awslogmetrics"></a>

Spécifie si SDK doit ou non journaliser les métriques de performance. Pour définir la configuration de journalisation des métriques dans le fichier `.config`, définissez la valeur de l'attribut `logMetrics` dans l'élément `<logging>`, élément enfant de l'élément `<aws>` :

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

Sinon, définissez la clé `AWSLogMetrics` dans la section `<appSettings>` :

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

Sinon, pour définir la journalisation des métriques avec l' AWS SDK pour .NET API, définissez le [AWSConfigs. LogMetrics](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriété :

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

Ce paramètre configure la propriété `LogMetrics` par défaut pour tous les clients et toutes les configurations. Les modifications apportées à ce paramètre ne prennent effet que pour les nouvelles instances AWS clientes.

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

Configure la AWS région par défaut pour les clients qui n'ont pas explicitement spécifié de région. Pour définir la région dans le fichier `.config`, l'approche recommandée consiste à définir la valeur de l'attribut `region` dans l'élément `aws` :

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

Sinon, définissez la clé *AWSRegion* dans la section `<appSettings>` :

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

Sinon, pour définir la région à l'aide de l' AWS SDK pour .NET API, définissez le [AWSConfigs. AWSRegion](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriété :

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

Pour plus d'informations sur la création d'un AWS client pour une région spécifique, consultez la section [Sélection de AWS région](net-dg-region-selection.md). Les modifications apportées à ce paramètre ne prennent effet que pour les nouvelles instances AWS clientes.

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

Configure quand SDK doit journaliser les réponses du service. Les valeurs possibles sont :

** `Never` **  
Les réponses du service ne sont jamais journalisées. Il s’agit de l’option par défaut.

** `Always` **  
Les réponses du service sont toujours journalisées.

** `OnError` **  
Journaliser les réponses du service uniquement lorsqu'une erreur se produit.

Pour définir la configuration de journalisation de service dans le fichier `.config`, l'approche recommandée consiste à définir la valeur de l'attribut `logResponses` dans l'élément `<logging>`, élément enfant de l'élément `<aws>` :

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

Vous pouvez également définir la clé de *AWSResponsejournalisation* dans la `<appSettings>` section :

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

Sinon, pour configurer la journalisation des services avec l' AWS SDK pour .NET API, définissez le [AWSConfigs. ResponseLogging](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriété à l'une des valeurs de l'[ResponseLoggingOption](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TResponseLoggingOption.html)énumération :

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

Les modifications apportées à ce paramètre prennent effet immédiatement.

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

Configure la valeur par défaut de `TableNamePrefix` ; `DynamoDBContext` est utilisé si aucune configuration manuelle n'est effectuée.

Pour définir le préfixe du nom de table dans le fichier `.config`, l'approche recommandée consiste à définir la valeur de l'attribut `tableNamePrefix` dans l'élément `<dynamoDBContext>`, élément enfant de l'élément `<dynamoDB>`, lui-même élément enfant de l'élément `<aws>` :

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

Sinon, définissez la clé `AWS.DynamoDBContext.TableNamePrefix` dans la section `<appSettings>` :

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

Sinon, pour définir le préfixe du nom de table avec l' AWS SDK pour .NET API, définissez la propriété [AWSConfigs.Dynamo DBContext TableNamePrefix](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) :

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

Les modifications apportées à ce paramètre prennent effet uniquement pour les instances nouvellement construites de `DynamoDBContextConfig` et `DynamoDBContext`.

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

Configure si le client Amazon S3 doit ou non utiliser la signature version 4 pour signer avec les demandes.

Pour définir la signature de la version 4 pour Amazon S3 dans le `.config` fichier, l'approche recommandée consiste à définir l'`useSignatureVersion4`attribut de l'`<s3>`élément, qui est un élément enfant de l'`<aws>`élément :

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

Vous pouvez également définir la `AWS.S3.UseSignatureVersion4` clé sur `true` dans la `<appSettings>` section :

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

Sinon, pour définir la signature de la version 4 de la signature avec l' AWS SDK pour .NET API, définissez la propriété [AWSConfigs.S3 UseSignatureVersion 4](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) sur `true` :

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

Par défaut, ce paramètre est `false`, mais Signature version 4 peut être utilisé par défaut dans certains cas ou avec certaines régions. Lorsque le paramètre est `true`, Signature version 4 est utilisé pour toutes les demandes. Les modifications apportées à ce paramètre ne prennent effet que pour les nouvelles instances du client Amazon S3.

### AWSEndpointDéfinition
<a name="config-setting-awsendpointdefinition"></a>

Configure si SDK doit utiliser un fichier de configuration personnalisé qui définit les régions et les points de terminaison.

Pour définir le fichier de définition de point de terminaison dans le fichier `.config`, nous vous recommandons de définir la valeur de l'attribut `endpointDefinition` dans l'élément `<aws>`.

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

Vous pouvez également définir la clé de *AWSEndpointdéfinition* dans la `<appSettings>` section :

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

Sinon, pour définir le fichier de définition du point de terminaison avec l' AWS SDK pour .NET API, définissez le [AWSConfigs. EndpointDefinition](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriété :

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

Si vous n'indiquez pas de nom de fichier, aucun fichier de configuration personnalisé ne sera utilisé. Les modifications apportées à ce paramètre ne prennent effet que pour les nouvelles instances AWS clientes. Le `endpoints.json` fichier est disponible à l'adresse[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 Points de terminaison générés par le service
<a name="config-setting-service-generated-awsendpointdefinition"></a>

Certains AWS services génèrent leurs propres points de terminaison au lieu de consommer un point de terminaison régional. Les clients de ces services utilisent une URL de service spécifique à chaque service et à vos ressources. Amazon CloudSearch et AWS IoT. Les exemples suivants illustrent comment obtenir les points de terminaison pour ces services.

#### Exemple de CloudSearch point de terminaison Amazon
<a name="cs-endpoints-example"></a>

Le CloudSearch client Amazon est utilisé pour accéder au service CloudSearch de configuration Amazon. Vous utilisez le service CloudSearch de configuration Amazon pour créer, configurer et gérer des domaines de recherche. Pour créer un domaine de recherche, créez un [CreateDomainRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/TCreateDomainRequest.html)objet et indiquez la `DomainName` propriété. Créez un [AmazonCloudSearchClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/TCloudSearchClient.html)objet à l'aide de l'objet de demande. Appelez la méthode [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)objet renvoyé par l'appel contient une `DomainStatus` propriété qui possède à la fois les `SearchService` points de terminaison `DocService` et. Créez un [AmazonCloudSearchDomainConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearchDomain/TCloudSearchDomainConfig.html)objet et utilisez-le pour initialiser `DocService` les `SearchService` instances de la [AmazonCloudSearchDomainClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearchDomain/TCloudSearchDomainClient.html)classe.

```
// 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 Exemple de points de terminaison
<a name="iotlong-endpoints-example"></a>

Pour obtenir le point de terminaison pour AWS IoT, créez un [AmazonIoTClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TIoTClient.html)objet et appelez la [DescribeEndPoint](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/MIoTDescribeEndpointDescribeEndpointRequest.html)méthode. L'[DescribeEndPointResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TDescribeEndpointResponse.html)objet renvoyé contient le`EndpointAddress`. Créez un [AmazonIotDataConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IotData/TIotDataConfig.html)objet, définissez la `ServiceURL` propriété et utilisez-le pour instancier la [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");
}
```