Migrar para a versão 3.5 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.5 do AWS SDK for .NET

A versão 3.5 do AWS SDK for .NET padroniza ainda mais a experiência do .NET fazendo a transição do suporte para todas as variações que não sejam do Framework do SDK para o .NET Standard 2.0. Dependendo do ambiente e da base de código, para aproveitar os recursos da versão 3.5, talvez seja necessário executar certos trabalhos de migração.

Este tópico descreve as alterações na versão 3.5 e o possível trabalho que talvez seja necessário para migrar seu ambiente ou código da versão 3.

O que mudou na versão 3.5

Veja a seguir o que mudou ou não no AWS SDK for .NET versão 3.5.

.NET Framework e .NET Core

O suporte ao .NET Framework e ao .NET Core não foi alterado.

Xamarin

Os projetos Xamarin (novos e existentes) devem ter como destino o .NET Standard 2.0. Consulte Suporte do .NET Standard 2.0 no Xamarin.Forms e Suporte à implementação do .NET.

Unity

Os aplicativos Unity devem ter como destino os perfis do .NET Standard 2.0 ou do .NET 4.x usando o Unity 2018.1 ou posterior. Para obter mais informações, consulte Suporte a perfis do .NET. Além disso, se estiver usando IL2CPP para criar, você deverá desativar a remoção de código adicionando um arquivo link.xml conforme descrito em Fazer referência ao AWS SDK for .NET Standard 2.0 do Unity, Xamarin ou UWP. Depois que transferir seu código para uma das bases de código recomendadas, seu aplicativo Unity poderá acessar todos os serviços oferecidos pelo SDK.

Como o Unity oferece suporte ao .NET Standard 2.0, o pacote AWSSDK.Core do SDK versão 3.5 não tem mais código específico do Unity, incluindo algumas funcionalidades de nível superior. Para proporcionar uma transição melhor, todo o código legado do Unity está disponível para referência no repositório aws/aws-sdk-unity-net do GitHub. Se encontrar uma funcionalidade ausente que afete seu uso da AWS com o Unity, você poderá registrar uma solicitação de atributo em https://github.com/aws/dotnet/issues.

Também consulte Considerações especiais sobre o suporte ao Unity.

Plataforma Universal do Windows (UWP)

Dirija seu aplicativo UWP para a versão 16299 ou posterior (Fall Creators Update, versão 1709, lançada em outubro de 2017).

Windows Phone e Silverlight

A versão 3.5 do AWS SDK for .NET não oferece suporte a essas plataformas porque a Microsoft não está mais desenvolvendo-as ativamente. Para obter mais informações, consulte as informações a seguir.

Bibliotecas de classes portáteis legadas (PCLs baseadas em perfis)

Considere redirecionar sua biblioteca para o .NET Standard. Para obter mais informações, consulte Comparação com bibliotecas de classes portáteis da Microsoft.

Gerente do Amazon Cognito Sync e Gerente do Amazon Mobile Analytics

As abstrações de alto nível que facilitam o uso do Amazon Cognito Sync e do Amazon Mobile Analytics foram removidas da versão 3.5 do AWS SDK for .NET. AWS AppSync é o substituto preferencial para o Amazon Cognito Sync. O Amazon Pinpoint é o substituto preferencial do Amazon Mobile Analytics.

Se o seu código for afetado pela falta de código de biblioteca de nível superior para o AWS AppSync e o Amazon Pinpoint, você poderá registrar seu interesse em um ou ambos os seguintes chamados do GitHub: https://github.com/aws/dotnet/issues/20 e https://github.com/aws/dotnet/issues/19. Também é possível obter as bibliotecas para o Gerenciador do Amazon Cognito Sync e o Gerenciador do Amazon Mobile Analytics nos seguintes repositórios do GitHub: aws/amazon-cognito-sync-manager-net e aws/aws-mobile-analytics-manager-net.

Migrar código síncrono

A versão 3.5 do AWS SDK for .NET oferece suporte tanto para o .NET Framework quanto para o .NET Standard (por meio de versões do .NET Core, como o .NET core 3.1, .NET 5 e assim por diante). As variações do SDK que estão em conformidade com o .NET Standard fornecem somente métodos assíncronos, portanto, se você quiser aproveitar o .NET Standard, deverá alterar o código síncrono para que ele seja executado de forma assíncrona.

Os trechos de código a seguir mostram como alterar o código síncrono para código assíncrono. O código nesses trechos é usado para exibir o número de buckets do Amazon S3.

O código original chama ListBuckets.

private static ListBucketsResponse MyListBuckets() { var s3Client = new AmazonS3Client(); var response = s3Client.ListBuckets(); return response; } // From the calling function ListBucketsResponse response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}");

Para usar a versão 3.5 do SDK, chame ListBucketsAsync.

private static async Task<ListBucketsResponse> MyListBuckets() { var s3Client = new AmazonS3Client(); var response = await s3Client.ListBucketsAsync(); return response; } // From an **asynchronous** calling function ListBucketsResponse response = await MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); // OR From a **synchronous** calling function Task<ListBucketsResponse> response = MyListBuckets(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}");