Migrar para a versão 3 do AWS SDK for .NET - AWS SDK for .NET

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 for .NET

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

Sobre as versões do AWS SDK for .NET

O AWS SDK for .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.

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

A versão 3 do AWS SDK for .NET foi atualizada para tornar os conjuntos modulares.

Redefinição da arquitetura para o SDK

Toda a versão 3 do AWS SDK for .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 for .NET ao aplicativo. Adicione conjuntos somente para os serviços da AWS utilizados pelo aplicativo.

Alterações que podem causar interrupções

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

AWSClientFactory removida

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

Para a maioria dos serviços do AWS SDK for .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 for .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 for .NET, removemos essas classes de resultados obsoletas para ajudar a reduzir o tamanho do SDK.

Alterações na seção AWS Config

É possível realizar a configuração avançada do AWS SDK for .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 for .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 for .NET, movemos as definições de configuração do DynamoDB da classe Amazon.AWSConfigs para a classe Amazon.AWSConfigsDynamoDB.