

O AWS SDK para .NET V3 entrou no modo de manutenção.

Recomendamos que você migre para a [AWS SDK para .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Para obter detalhes e informações adicionais sobre como migrar, consulte nosso [anúncio do modo de manutenção](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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

# Referência dos arquivos de configuração para o AWS SDK para .NET
<a name="net-dg-config-ref"></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="w2aab9c31c11b5b1"></a>

Use um arquivo `App.config` ou `Web.config` de projeto .NET para especificar as configurações da AWS, como credenciais da AWS, opções de registro em log, endpoints de serviço da AWS e regiões da AWS, bem como algumas configurações dos serviços da AWS, como Amazon DynamoDB, Amazon EC2 e Amazon S3. As informações a seguir descrevem como formatar de forma apropriada um arquivo `App.config` ou `Web.config` para especificar esses tipos de configurações.

**nota**  
Embora seja possível continuar a usar o elemento `<appSettings>` em um arquivo `App.config` ou `Web.config` para especificar as configurações da AWS, recomendamos o uso dos elementos `<configSections>` e `<aws>` conforme descrito posteriormente neste tópico. Para obter mais informações sobre o elemento `<appSettings>`, consulte os exemplos do elemento `<appSettings>` em [Configuração do seu aplicativo AWS SDK para .NET](net-dg-config.md).

**nota**  
Embora seja possível continuar a usar as propriedades a seguir da classe [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) em um arquivo de código para especificar as configurações da AWS, estas propriedades são obsoletas e podem não comportar versões futuras:  
 `DynamoDBContextTableNamePrefix` 
 `EC2UseSignatureVersion4` 
 `LoggingOptions` 
 `LogMetrics` 
 `ResponseLoggingOption` 
 `S3UseSignatureVersion4` 
Geralmente, recomendamos que em vez de usar as propriedades da classe `AWSConfigs` em um arquivo de código para especificar as configurações da AWS, use os elementos `<configSections>` e `<aws>` em um arquivo `App.config` ou `Web.config` para especificar as configurações da AWS, conforme descrito posteriormente neste tópico. Para obter mais informações sobre as propriedades anteriores, consulte os exemplos de códigos da `AWSConfigs` em [Configuração do seu aplicativo AWS SDK para .NET](net-dg-config.md).

**Topics**
+ [Declarar uma seção de configurações da AWS](#net-dg-config-ref-declaring)
+ [Elementos permitidos](#net-dg-config-ref-elements)
+ [Referência dos elementos](#net-dg-config-ref-elements-ref)

### Declarar uma seção de configurações da AWS
<a name="net-dg-config-ref-declaring"></a>

Especifique as configurações da AWS em um arquivo `App.config` ou `Web.config` a partir do elemento `<aws>`. Antes de começar a usar o elemento `<aws>`, é necessário criar um elemento `<section>` (que é um elemento filho do elemento `<configSections>`) e definir o seu atributo `name` como `aws` e o atributo `type` como `Amazon.AWSSection, AWSSDK.Core`, conforme mostrado no seguinte exemplo:

```
<?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>
```

O editor do Visual Studio não oferece a conclusão de código automática (IntelliSense) para o elemento `<aws>` ou para os seus elementos filho.

Para auxiliá-lo na criação de uma versão corretamente formatada `<aws>`, chame o método `Amazon.AWSConfigs.GenerateConfigTemplate`. Isso gera como saída uma versão canônica do elemento `<aws>` como uma string formatada, que pode ser adaptada para as suas necessidades. As seções a seguir descrevem os atributos e os elementos filho do elemento `<aws>`.

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

A seguir encontra-se uma lista das relações lógicas entre os elementos permitidos em uma seção de configurações da AWS. Gere a versão mais recente dessa lista chamando o método `Amazon.AWSConfigs.GenerateConfigTemplate`, que gera como saída uma versão canônica do elemento `<aws>` como uma string que pode ser adaptada para as suas necessidades.

```
<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>
```

### Referência dos elementos
<a name="net-dg-config-ref-elements-ref"></a>

A seguir encontra-se uma lista dos elementos permitidos em uma seção de configurações da AWS. Para cada elemento, são listados os atributos permitidos e os elementos filho.

**Topics**
+ [alias](#net-dg-config-ref-elements-alias)
+ [`aws`](#net-dg-config-ref-elements-aws)
+ [dynamoDB](#net-dg-config-ref-elements-dynamodb)
+ [dynamoDBContext](#net-dg-config-ref-elements-ddbcontext)
+ [ec2](#net-dg-config-ref-elements-ec2)
+ [registro em log](#net-dg-config-ref-elements-logging)
+ [mapear](#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>

O elemento `<alias>` representa um único item em um conjunto de um ou mais mapeamentos from-table até to-table, que especifica uma tabela diferente daquela configurada para um tipo. Esse elemento é mapeado para uma instância da classe `Amazon.Util.TableAlias` da propriedade `Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases` no AWS SDK para .NET. O remapeamento é feito antes de aplicar um prefixo de nome da tabela.

Esse elemento pode incluir os seguintes atributos:

** `fromTable` **  
A parte from-table do mapeamento from-table até to-table. Esse atributo é mapeado para a propriedade `Amazon.Util.TableAlias.FromTable` no AWS SDK para .NET.

** `toTable` **  
A parte to-table do mapeamento from-table até to-table. Esse atributo é mapeado para a propriedade `Amazon.Util.TableAlias.ToTable` no AWS SDK para .NET.

O pai do elemento `<alias>` é o elemento `<tableAliases>`.

O elemento `<alias>` não contém elementos filho.

Veja a seguir um exemplo do elemento `<alias>` em uso:

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

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

O elemento `<aws>` representa o elemento mais superior em uma seção de configurações da AWS. Esse elemento pode incluir os seguintes atributos:

** `endpointDefinition` **  
O caminho absoluto para um arquivo de configuração personalizado que define as regiões e endpoints da AWS para o uso. Esse atributo é mapeado para a propriedade `Amazon.AWSConfigs.EndpointDefinition` no AWS SDK para .NET.

** `profileName` **  
O nome do perfil para as credenciais da AWS armazenadas que serão utilizadas para realizar chamadas de serviços. Esse atributo é mapeado para a propriedade `Amazon.AWSConfigs.AWSProfileName` no AWS SDK para .NET.

** `profilesLocation` **  
O caminho absoluto do local do arquivo de credenciais compartilhado com outros SDKs da AWS. Por padrão, o arquivo de credenciais está armazenado no diretório `.aws` no diretório base do usuário atual. Esse atributo é mapeado para a propriedade `Amazon.AWSConfigs.AWSProfilesLocation` no AWS SDK para .NET.

** `region` **  
O ID da região da AWS padrão para clientes que não especificaram explicitamente uma região. Esse atributo é mapeado para a propriedade `Amazon.AWSConfigs.AWSRegion` no AWS SDK para .NET.

O elemento `<aws>` não possui elemento pai.

O elemento `<aws>` pode incluir os seguintes elementos filho:
+  `<dynamoDB>` 
+  `<ec2>` 
+  `<logging>` 
+  `<proxy>` 
+  `<s3>` 

Veja a seguir um exemplo do elemento `<aws>` em 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>

O elemento `<dynamoDB>` representa um conjunto de configurações do Amazon DynamoDB. Este elemento pode incluir o atributo *conversionSchema*, que representa a versão a ser usada para conversão entre objetos .NET e DynamoDB. Os valores permitidos incluem V1 e V2. Esse atributo é mapeado para a classe `Amazon.DynamoDBv2.DynamoDBEntryConversion` no AWS SDK para .NET. Para obter mais informações, consulte [Série DynamoDB – esquemas de conversão](http://blogs.aws.amazon.com/net/post/Tx2TCOGWG7ARUH5/DynamoDB-Series-Conversion-Schemas).

O pai do elemento `<dynamoDB>` é o elemento `<aws>`.

O elemento `<dynamoDB>` pode incluir o elemento filho `<dynamoDBContext>`.

Veja a seguir um exemplo do elemento `<dynamoDB>` em uso:

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

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

O elemento `<dynamoDBContext>` representa um conjunto de configurações específicas de contexto do Amazon DynamoDB. Este elemento pode incluir o atributo *tableNamePrefix*, que representa o prefixo do nome da tabela padrão que o contexto do DynamoDB usará se não for configurado manualmente. Esse atributo é mapeado para a propriedade `Amazon.Util.DynamoDBContextConfig.TableNamePrefix` da propriedade `Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix` no AWS SDK para .NET. Para obter mais informações, consulte [Aprimoramentos do DynamoDB SDK](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK).

O pai do elemento `<dynamoDBContext>` é o elemento `<dynamoDB>`.

O elemento `<dynamoDBContext>` pode incluir os seguintes elementos filho:
+  `<alias>` (uma ou mais instâncias)
+  `<map>` (uma ou mais instâncias)

Veja a seguir um exemplo do elemento `<dynamoDBContext>` em uso:

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

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

O elemento `<ec2>` representa um conjunto de configurações do Amazon EC2. Este elemento pode incluir o atributo *useSignatureVersion4*, que especifica se a assinatura do Signature Version4 será usada para todas as solicitações (verdadeiro) ou se ela não será usada para todas as solicitações (falso, o padrão). Esse atributo é mapeado para a propriedade `Amazon.Util.EC2Config.UseSignatureVersion4` da propriedade `Amazon.AWSConfigs.EC2Config.UseSignatureVersion4` no AWS SDK para .NET.

O pai do elemento `<ec2>` é o elemento.

O elemento `<ec2>` não contém elementos filho.

Veja a seguir um exemplo do elemento `<ec2>` em uso:

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

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

O elemento `<logging>` representa um conjunto de configurações para o registro de respostas e de métricas de desempenho. Esse elemento pode incluir os seguintes atributos:

** `logMetrics` **  
Se as métricas de desempenho serão registradas para todos os clientes e configurações (verdadeiro); caso contrário, falso. Esse atributo é mapeado para a propriedade `Amazon.Util.LoggingConfig.LogMetrics` da propriedade `Amazon.AWSConfigs.LoggingConfig.LogMetrics` no AWS SDK para .NET.

** `logMetricsCustomFormatter` **  
O tipo de dados e o nome do conjunto de um formatador personalizado para as métricas de registro. Esse atributo é mapeado para a propriedade `Amazon.Util.LoggingConfig.LogMetricsCustomFormatter` da propriedade `Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter` no AWS SDK para .NET.

** `logMetricsFormat` **  
O formato em que as métricas de registro são apresentadas (é mapeado para a propriedade `Amazon.Util.LoggingConfig.LogMetricsFormat` da propriedade `Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat` no AWS SDK para .NET).  
Os valores permitidos incluem:    
** `JSON` **  
Use o formato JSON.  
** `Standard` **  
Use o formato padrão.

** `logResponses` **  
Quando registrar as respostas de serviços (é mapeado para a propriedade `Amazon.Util.LoggingConfig.LogResponses` da propriedade `Amazon.AWSConfigs.LoggingConfig.LogResponses` no AWS SDK para .NET).  
Os valores permitidos incluem:    
** `Always` **  
Sempre registrar as respostas de serviços.  
** `Never` **  
Nunca registrar as respostas de serviços.  
** `OnError` **  
Somente registrar as respostas de serviços quando existirem erros.

** `logTo` **  
Onde registrar (é mapeado para a propriedade `LogTo` a partir da propriedade `Amazon.AWSConfigs.LoggingConfig.LogTo` no AWS SDK para .NET).  
Os valores permitidos incluem um ou mais entre:    
** `Log4Net` **  
Registrar no log4net.  
** `None` **  
Desativar o registro.  
** `SystemDiagnostics` **  
Registrar no System.Diagnostics.

O pai do elemento `<logging>` é o elemento `<aws>`.

O elemento `<logging>` não contém elementos filho.

Veja a seguir um exemplo do elemento `<logging>` em uso:

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

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

O elemento `<map>` representa um único item em um conjunto de mapeamentos type-to-table de tipos .NET para tabelas do DynamoDB (é mapeado para uma instância da classe `TypeMapping` da propriedade `Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings` no AWS SDK para .NET). Para obter mais informações, consulte [Aprimoramentos do DynamoDB SDK](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK).

Esse elemento pode incluir os seguintes atributos:

** `targetTable` **  
A tabela do DynamoDB a qual o mapeamento se aplica. Esse atributo é mapeado para a propriedade `Amazon.Util.TypeMapping.TargetTable` no AWS SDK para .NET.

** `type` **  
O tipo e o nome do conjunto ao qual o mapeamento se aplica. Esse atributo é mapeado para a propriedade `Amazon.Util.TypeMapping.Type` no AWS SDK para .NET.

O pai do elemento `<map>` é o elemento `<dynamoDBContext>`.

O elemento `<map>` pode incluir uma ou mais instâncias do elemento filho `<property>`.

Veja a seguir um exemplo do elemento `<map>` em uso:

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

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

O elemento `<property>` representa uma propriedade do DynamoDB. (Este elemento é mapeado para uma instância da classe Amazon.Util.PropertyConfig do método `AddProperty` no AWS SDK para .NET) Para obter mais informações, consulte [Aprimoramentos do DynamoDB SDK](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK) e [Atributos do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DeclarativeTagsList.html).

Esse elemento pode incluir os seguintes atributos:

** `attribute` **  
O nome de um atributo da propriedade, como o nome de uma chave de intervalo. Esse atributo é mapeado para a propriedade `Amazon.Util.PropertyConfig.Attribute` no AWS SDK para .NET.

** `converter` **  
O tipo de conversor que deve ser usado para esta propriedade. Esse atributo é mapeado para a propriedade `Amazon.Util.PropertyConfig.Converter` no AWS SDK para .NET.

** `ignore` **  
Se a propriedade associada deve ser ignorada (verdadeiro); caso contrário, falso. Esse atributo é mapeado para a propriedade `Amazon.Util.PropertyConfig.Ignore` no AWS SDK para .NET.

** `name` **  
O nome da propriedade. Esse atributo é mapeado para a propriedade `Amazon.Util.PropertyConfig.Name` no AWS SDK para .NET.

** `version` **  
Se essa propriedade deve armazenar o número da versão do item (verdadeiro); caso contrário, falso. Esse atributo é mapeado para a propriedade `Amazon.Util.PropertyConfig.Version` no AWS SDK para .NET.

O pai do elemento `<property>` é o elemento `<map>`.

O elemento `<property>` não contém elementos filho.

Veja a seguir um exemplo do elemento `<property>` em uso:

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

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

O elemento `<proxy>` representa as configurações necessárias de um proxy para o seu uso pelo AWS SDK para .NET. Esse elemento pode incluir os seguintes atributos:

**host**  
O nome do host ou endereço IP do servidor de proxy. Esses atributos são mapeados para a propriedade `Amazon.Util.ProxyConfig.Host` da propriedade `Amazon.AWSConfigs.ProxyConfig.Host` no AWS SDK para .NET.

**password**  
A senha para a autenticação com o servidor de proxy. Esses atributos são mapeados para a propriedade `Amazon.Util.ProxyConfig.Password` da propriedade `Amazon.AWSConfigs.ProxyConfig.Password` no AWS SDK para .NET.

**porta**  
O número da porta do proxy. Esses atributos são mapeados para a propriedade `Amazon.Util.ProxyConfig.Port` da propriedade `Amazon.AWSConfigs.ProxyConfig.Port` no AWS SDK para .NET.

**username**  
O nome de usuário para a autenticação com o servidor de proxy. Esses atributos são mapeados para a propriedade `Amazon.Util.ProxyConfig.Username` da propriedade `Amazon.AWSConfigs.ProxyConfig.Username` no AWS SDK para .NET.

O pai do elemento `<proxy>` é o elemento `<aws>`.

O elemento `<proxy>` não contém elementos filho.

Veja a seguir um exemplo do elemento `<proxy>` em 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>

O elemento `<s3>` representa um conjunto de configurações do Amazon S3. Este elemento pode incluir o atributo *useSignatureVersion4*, que especifica se a assinatura do Signature Version4 será usada para todas as solicitações (verdadeiro) ou se ela não será usada para todas as solicitações (falso, o padrão). Esse atributo é mapeado para a propriedade `Amazon.AWSConfigs.S3Config.UseSignatureVersion4` no AWS SDK para .NET.

O pai do elemento `<s3>` é o elemento `<aws>`.

O elemento `<s3>` não contém elementos filho.

Veja a seguir um exemplo do elemento `<s3>` em uso:

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