Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Migración a la versión 3.5 de AWS SDK for .NET
La versión 3.5 de AWS SDK for .NET estandariza aún más la experiencia con .NET mediante la transición del soporte para todas las variaciones del SDK que no sean de Framework a .NET Standard 2.0
En este tema se describen los cambios en la versión 3.5 y el posible trabajo que debe realizar para migrar el entorno o el código desde la versión 3.
¿Qué ha cambiado en la versión 3.5?
A continuación se describe lo que ha cambiado o no en la versión 3.5 de AWS SDK for .NET.
.NET Framework y .NET Core
La compatibilidad para .NET Framework y .NET Core no ha cambiado.
Xamarin
Los proyectos de Xamarin (nuevos y existentes) deben dirigirse a .NET Standard 2.0. Consulte Compatibilidad de .NET Standard 2.0 en Xamarin.Forms
Unity
Las aplicaciones de Unity deben dirigirse a perfiles de .NET Standard 2.0 o .NET 4.x con Unity 2018.1 o una versión posterior. Para obtener más información, consulte Compatibilidad con perfiles de .NET
Dado que Unity es compatible con .NET Standard 2.0, el paquete AWSSDK.Core del SDK versión 3.5 ya no tiene código específico de Unity, incluidas algunas funcionalidades de nivel superior. Para proporcionar una mejor transición, todo el código de Unity heredado está disponible como referencia en el repositorio de GitHub aws/aws-sdk-unity-net
Consulte también Consideraciones especiales sobre la compatibilidad con Unity.
Plataforma universal de Windows
Dirija su aplicación UWP a la versión 16299 o posterior
Windows Phone y Silverlight
La versión 3.5 de AWS SDK for .NET no admite estas plataformas porque Microsoft ya no las está desarrollando activamente. Para obtener más información, consulte lo siguiente:
Bibliotecas de clases portátiles heredadas (PCL basadas en perfiles)
Considere redirigir su biblioteca a .NET Standard. Para obtener más información, consulte Comparación con bibliotecas de clases portátiles
Amazon Cognito Sync Manager y Amazon Mobile Analytics Manager
Las abstracciones generales que facilitan el uso de Amazon Cognito Sync y Amazon Mobile Analytics se han eliminado de la versión 3.5 de AWS SDK for .NET. AWS AppSync es el reemplazo de Amazon Cognito Sync que se prefiere. Amazon Pinpoint es el reemplazo de Amazon Mobile Analytics que se prefiere.
Si el código se ve afectado por la falta de código de biblioteca de nivel superior para AWS AppSync y Amazon Pinpoint, puede registrar su interés en uno (o ambos) de los siguientes problemas de GitHub: https://github.com/aws/dotnet/issues/20
Migración de código sincrónico
La versión 3.5 de AWS SDK for .NET es compatible con .NET Framework y .NET Standard (a través de versiones de .NET Core como .NET Core 3.1, .NET 5, etc.). Las variantes de SDK que cumplen con .NET Standard solo proporcionan métodos asincrónicos, por lo que si desea utilizar .NET Standard, debe cambiar el código sincrónico para que se ejecute de forma asincrónica.
Los siguientes fragmentos de código muestran cómo puede cambiar el código síncrono a código asíncrono. El código de estos fragmentos de código se utiliza para mostrar el número de buckets de Amazon S3.
El código original llama a 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 la versión 3.5 del SDK, llame a ListBucketsAsync en su lugar.
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}");