

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

# Migrar para a versão 3 do AWS SDK para .NET
<a name="migration-v3"></a>

Este tópico descreve as alterações na versão 3 do AWS SDK para .NET e como migrar o seu código para esta versão do SDK.

## Sobre as versões do AWS SDK para .NET
<a name="net-dg-migrate-v3-intro"></a>

O AWS SDK para .NET, lançado originalmente em novembro de 2009, foi projetado para o .NET Framework 2.0. Desde o lançamento, o .NET foi aperfeiçoado com o .NET Framework 4.0 e o .NET Framework 4.5, e adicionou novas plataformas de destino: WinRT e Windows Phone.

AWS SDK para .NETA versão 2 do foi atualizada para aproveitar os novos recursos da plataforma .NET e para atingir o WinRT e o Windows Phone.

AWS SDK para .NETA versão 3 do foi atualizada para tornar os conjuntos modulares.

## Redefinição da arquitetura para o SDK
<a name="net-dg-migrate-v3-arch"></a>

Toda a versão 3 do AWS SDK para .NET está redefinida para ser modular. Agora, cada serviço está implementado em seu próprio conjunto, em vez de um único conjunto global. Não é mais necessário adicionar todo o AWS SDK para .NET ao aplicativo. Adicione conjuntos somente para os serviços da AWS utilizados pelo aplicativo.

## Alterações que podem causar interrupções
<a name="net-dg-migrate-v3-breaking"></a>

As seções a seguir descrevem as alterações na versão 3 do AWS SDK para .NET.

### AWSClientFactory removida
<a name="awsclientfactory-removed"></a>

A classe `Amazon.AWSClientFactory` foi removida. Agora, para criar um cliente de serviço, use o construtor do cliente de serviço. Por exemplo, para criar um `AmazonEC2Client`:

```
var ec2Client = new Amazon.EC2.AmazonEC2Client();
```

### Amazon.Runtime.AssumeRoleAWSCredentials removida
<a name="assumeroleawscredentials-removed"></a>

A classe `Amazon.Runtime.AssumeRoleAWSCredentials` foi removida pois estava em um namespace central, mas tinha uma dependência no AWS Security Token Service, e porque era obsoleta no SDK por algum tempo. No lugar, use a classe `Amazon.SecurityToken.AssumeRoleAWSCredentials`.

### Método SetACL removido da S3Link
<a name="setacl-removed"></a>

A classe `S3Link` faz parte do pacote `Amazon.DynamoDBv2` e é usada para armazenar objetos no Amazon S3 que são referências em um item do DynamoDB. Este é um atributo útil, mas não queríamos criar uma dependência de compilação no pacote `Amazon.S3` para o DynamoDB. Consequentemente, simplificamos os métodos `Amazon.S3` expostos da classe `S3Link`, substituindo o método `SetACL` pelo método `MakeS3ObjectPublic`. Para obter mais controle sobre a lista de controle de acesso (ACL) no objeto, use o pacote `Amazon.S3` diretamente.

### Remoção de classes de resultados obsoletas
<a name="result-classes-removed"></a>

Para a maioria dos serviços do AWS SDK para .NET, as operações retornam um objeto de resposta que contém metadados para a operação, como o ID da solicitação e um objeto de resultado. Ter classes de resultados e respostas separadas era redundante e gerava linhas extras para os desenvolvedores. Na versão 2 do AWS SDK para .NET, colocamos todas as informações da classe de resultados na classe de respostas. Também marcamos as classes de resultados como obsoletas para desencorajar o seu uso. Na versão 3 do AWS SDK para .NET, removemos essas classes de resultados obsoletas para ajudar a reduzir o tamanho do SDK.

### Alterações na seção AWS Config
<a name="configs-changes"></a>

É possível realizar a configuração avançada do AWS SDK para .NET por meio dos arquivos `App.config` ou `Web.config`. Faça isso por meio de uma seção de configuração da `<aws>` como a seguinte, que faz referência ao nome do conjunto do SDK.

```
<configuration>
  <configSections>
    <section name="aws" type="Amazon.AWSSection, AWSSDK"/>
  </configSections>
  <aws region="us-west-2">
    <logging logTo="Log4Net"/>
  </aws>
</configuration>
```

Na versão 3 do AWS SDK para .NET, o conjunto `AWSSDK` não existe mais. Colocamos o código comum no conjunto `AWSSDK.Core`. Como resultado, será necessário alterar as referências ao conjunto `AWSSDK` nos arquivos `App.config` ou `Web.config` para o conjunto `AWSSDK.Core`, como mostrado a seguir.

```
<configuration>
  <configSections>
    <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/>
  </configSections>
  <aws region="us-west-2">
    <logging logTo="Log4Net"/>
  </aws>
</configuration>
```

Também é possível manipular as definições de configuração com a classe `Amazon.AWSConfigs`. Na versão 3 do AWS SDK para .NET, movemos as definições de configuração do DynamoDB da classe `Amazon.AWSConfigs` para a classe `Amazon.AWSConfigsDynamoDB`.