

A versão 4 (V4) do AWS SDK para .NET foi lançada\$1

Para obter informações sobre mudanças significativas e migrar seus aplicativos, consulte o [tópico de migração](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)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de outros parâmetros do aplicativo
<a name="net-dg-config-other"></a>

**nota**  
As informações neste tópico são específicas para projetos baseados no .NET Framework. Os arquivos `App.config` e `Web.config` não estão presentes por padrão em projetos baseados no .NET Core.

## Abra para ver o conteúdo do .NET Framework
<a name="w2aac11c29b9b5b1"></a>

Há diversos parâmetros do aplicativo que você pode configurar:
+  `AWSLogging` 
+  `AWSLogMetrics` 
+  `AWSRegion` 
+  `AWSResponseLogging` 
+  `AWS.DynamoDBContext.TableNamePrefix` 
+  `AWS.S3.UseSignatureVersion4` 
+  `AWSEndpointDefinition` 
+  [AWS Endpoints gerados por serviços](#config-setting-service-generated-awsendpointdefinition) 

Esses parâmetros podem ser configurados no arquivo `App.config` ou `Web.config` do aplicativo. Embora você também possa configurá-los com a AWS SDK para .NET API, recomendamos que você use o `.config` arquivo do aplicativo. Ambas as abordagens são descritas aqui.

Para obter mais informações sobre o uso do elemento `<aws>` conforme descrito posteriormente neste tópico, consulte [Referência de arquivos de configuração para o AWS SDK para .NET](net-dg-config-ref.md).

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

Configura a forma como o SDK registra os eventos, caso registre. Por exemplo, a abordagem recomendada é usar o elemento `<logging>`, que é um elemento filho do elemento `<aws>`:

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

Alternativa:

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

Os valores possíveis são:

** `None` **  
Desative o registro de eventos do . Esse é o padrão.

** `log4net` **  
Registre usando o log4net.

** `SystemDiagnostics` **  
Registre usando a classe `System.Diagnostics`.

Defina diversos valores para o atributo `logTo`, separado por vírgulas. O exemplo a seguir define ambos os registros `log4net` e `System.Diagnostics` no arquivo `.config`:

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

Alternativa:

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

[Como alternativa, usando a AWS SDK para .NET API, combine os valores da [LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TLoggingOptions.html)enumeração e defina a AWSConfigs propriedade .Logging:](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)

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

As alterações nessa configuração entrarão em vigor somente para novas instâncias AWS do cliente.

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

Especifica se o SDK deve ou não registrar as métricas de desempenho. Para definir a configuração do registro das métricas no arquivo `.config`, defina o valor do atributo `logMetrics` no elemento `<logging>`, que é um elemento filho do elemento `<aws>`:

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

Como alternativa, defina a chave `AWSLogMetrics` na seção`<appSettings>`:

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

Como alternativa, para definir o registro de métricas com a AWS SDK para .NET API, defina [AWSConfigso. LogMetrics](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriedade:

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

Essa definição configura propriedade padrão `LogMetrics` para todos os clientes/configurações. As alterações nessa configuração entrarão em vigor somente para novas instâncias AWS do cliente.

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

Configura a AWS região padrão para clientes que não especificaram explicitamente uma região. Para definir a região no arquivo `.config`, a abordagem recomendada é definir o valor do atributo `region` no elemento `aws`:

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

Como alternativa, defina a chave *AWSRegion* na seção`<appSettings>`:

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

Como alternativa, para definir a região com a AWS SDK para .NET API, defina [AWSConfigso. AWSRegion](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriedade:

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

Para obter mais informações sobre como criar um AWS cliente para uma região específica, consulte [Seleção de AWS região](net-dg-region-selection.md). As alterações nessa configuração entrarão em vigor somente para novas instâncias AWS do cliente.

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

Configura quando o SDK deve registrar respostas de serviços. Os valores possíveis são:

** `Never` **  
Nunca registrar as respostas de serviços. Esse é o padrão.

** `Always` **  
Sempre registrar as respostas de serviços.

** `OnError` **  
Somente registrar as respostas de serviços quando ocorrer um erro.

Para definir a configuração do registro de serviços no arquivo `.config`, a abordagem recomendada é definir o valor do atributo `logResponses` no elemento `<logging>`, que é um elemento filho do elemento `<aws>`:

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

Como alternativa, defina a chave de *AWSResponseregistro* na `<appSettings>` seção:

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

Como alternativa, para definir o registro de serviços com a AWS SDK para .NET API, defina [AWSConfigso. ResponseLogging](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriedade de um dos valores da [ResponseLoggingOption](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TResponseLoggingOption.html)enumeração:

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

As alterações desta configuração entram em vigor imediatamente.

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

Configura a `TableNamePrefix` padrão que o `DynamoDBContext` usará, se não for configurada manualmente.

Para definir o prefixo do nome da tabela no arquivo `.config`, a abordagem recomendada é definir o valor do atributo `tableNamePrefix` no elemento `<dynamoDBContext>`, que é um elemento filho do elemento `<dynamoDB>`, que por sua vez é um elemento filho do elemento `<aws>`:

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

Como alternativa, defina a chave `AWS.DynamoDBContext.TableNamePrefix` na seção`<appSettings>`:

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

Como alternativa, para definir o prefixo do nome da tabela com a AWS SDK para .NET API, defina a propriedade [AWSConfigsDBContextTableNamePrefix.Dynamo](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html):

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

As alterações desta configuração serão implementadas somente em instâncias recentemente criadas do `DynamoDBContextConfig` e `DynamoDBContext`.

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

Configura se o cliente do Amazon S3 deve ou não usar a assinatura do Signature versão 4 com as solicitações.

Para definir a assinatura da versão 4 para o Amazon S3 no arquivo `.config`, a abordagem recomendada é definir o valor do atributo `useSignatureVersion4` do elemento `<s3>`, que é um elemento filho do elemento `<aws>`:

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

Como alternativa, defina a chave `AWS.S3.UseSignatureVersion4` como `true` na seção `<appSettings>`:

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

Como alternativa, para definir a assinatura da versão 4 com a AWS SDK para .NET API, defina a propriedade [AWSConfigs.S3 UseSignatureVersion 4](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html) como: `true`

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

Por padrão, esta configuração é `false`, mas o Signature versão 4 pode ser usado como padrão em alguns casos ou em algumas regiões. Quando a configuração é `true`, o Signature versão 4 será usada em todas as solicitações. As alterações desta configuração entram em vigor somente para novas instâncias de cliente do Amazon S3.

### AWSEndpointDefinição
<a name="config-setting-awsendpointdefinition"></a>

Configura se o SDK deve ou não usar um arquivo de configuração personalizado que define as regiões e os endpoints.

Para definir o arquivo de definição do endpoint no arquivo `.config`, recomendamos definir o valor do atributo `endpointDefinition` no elemento `<aws>`.

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

Como alternativa, você pode definir a chave de *AWSEndpointdefinição* na `<appSettings>` seção:

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

[Como alternativa, para definir o arquivo de definição do endpoint com a AWS SDK para .NET API, defina o. AWSConfigs EndpointDefinition](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)propriedade:

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

Se nenhum nome de arquivo for fornecido, não será usado um arquivo de configuração personalizado. As alterações nessa configuração entrarão em vigor somente para novas instâncias AWS do cliente. O `endpoints.json` arquivo está disponível em[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 Endpoints gerados por serviços
<a name="config-setting-service-generated-awsendpointdefinition"></a>

Alguns AWS serviços geram seus próprios endpoints em vez de consumir um endpoint regional. Os clientes desses serviços consomem um URL de serviço específico ao serviço e aos recursos. Dois exemplos desses serviços são Amazon CloudSearch AWS IoT e. Os exemplos a seguir mostram como obter os endpoints para esses serviços.

#### Exemplo de CloudSearch endpoints da Amazon
<a name="cs-endpoints-example"></a>

O CloudSearch cliente da Amazon é usado para acessar o serviço de CloudSearch configuração da Amazon. Você usa o serviço CloudSearch de configuração da Amazon para criar, configurar e gerenciar domínios de pesquisa. Para criar um domínio de pesquisa, crie um [CreateDomainRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/TCreateDomainRequest.html)objeto e forneça a `DomainName` propriedade. Crie um [AmazonCloudSearchClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/TCloudSearchClient.html)objeto usando o objeto de solicitação. Chame o método [CreateDomain](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/MCloudSearchCreateDomainCreateDomainRequest.html). O [CreateDomainResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearch/TCreateDomainResponse.html)objeto retornado da chamada contém uma `DomainStatus` propriedade que tem os `SearchService` pontos finais `DocService` e os pontos finais. Crie um [AmazonCloudSearchDomainConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/CloudSearchDomain/TCloudSearchDomainConfig.html)objeto e use-o para inicializar `DocService` as `SearchService` instâncias da [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 Exemplo de endpoints
<a name="iotlong-endpoints-example"></a>

Para obter o endpoint para AWS IoT, crie um [AmazonIoTClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TIoTClient.html)objeto e chame o [DescribeEndPoint](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/MIoTDescribeEndpointDescribeEndpointRequest.html)método. O [DescribeEndPointResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TDescribeEndpointResponse.html)objeto retornado contém `EndpointAddress` o. Crie um [AmazonIotDataConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IotData/TIotDataConfig.html)objeto, defina a `ServiceURL` propriedade e use o objeto para instanciar a [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");
}
```