Migration vers la version 3.5 du kitAWS SDK for .NET - AWS SDK for .NET

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migration vers la version 3.5 du kitAWS SDK for .NET

La version 3.5 du kit AWS SDK for .NET normalise davantage l'expérience .NET en faisant passer la prise en charge de toutes les variations non-Framework du SDK vers .NET Standard 2.0. Selon votre environnement et votre base de code, pour tirer parti des fonctionnalités de la version 3.5, vous devrez peut-être effectuer certaines tâches de migration.

Cette rubrique décrit les changements qu’apporte la version 3.5 et le travail que vous pourriez devoir effectuer pour migrer votre environnement ou votre code à partir de la version 3.

Ce qui a changé pour la version 3.5

Nous décrivons ci-dessous ce qui a ou n'a pas changé dans la version 3.5 de AWS SDK for .NET.

.NET Framework et .NET Core

La prise en charge de .NET Framework et .NET Core n'a pas changé.

Xamarin

Les projets Xamarin (nouveaux et existants) doivent cibler .NET Standard 2.0. Consulter Prise en charge de .NET Standard 2.0 dans Xamarin.Forms et Prise en charge de l'implémentation .NET.

Unity

Les applications Unity doivent cibler les profils .NET Standard 2.0 ou .NET 4.x à l'aide d'Unity 2018.1 ou ultérieure. Pour plus d'informations, consultez Prise en charge des profils .NET. De plus, si vous utilisezIL 2 CPPpour construire, vous devez désactiver l'extraction de code en ajoutant un kitlink.xml, comme décrit dansRéférencerAWS SDK for .NETStandard 2.0 à partir de Unity, Xamarin ou UWP. Après le portage de votre code vers l'une des bases de code recommandées, votre application Unity peut accéder à tous les services offerts par le kit SDK.

Étant donné que Unity prend en charge .NET Standard 2.0, leAWSSDK.Cœurdu kit SDK version 3.5 n'a plus de code spécifique à l'unité, y compris certaines fonctionnalités de niveau pour la version 3.5 du kit SDK Pour assurer une meilleure transition, tous leshéritageLe code Unity est disponible pour référence dans la kitscie/aws-sdk-unity-net GitHub repository. Si vous trouvez des fonctionnalités manquantes qui affectent votre utilisation deAWSavec Unity, vous pouvez déposer une demande de fonctionnalité à l'adressehttps://github.com/aws/dotnet/issues.

Voir aussi Considérations spéciales relatives au support Unity.

Universal Windows Platform (UWP)

Ciblez votre application UWP vers la version 16299 ou ultérieure (mise à jour Fall Creators, version 1709, publiée en octobre 2017).

Windows Phone et Silverlight

La version 3.5 du kit AWS SDK for .NET ne prend pas en charge ces plates-formes, car Microsoft ne les développe plus de façon active. Pour plus d'informations, consultez les ressources suivantes :

Bibliothèques de classes portables héritées (PCL basées sur le profil)

Envisagez de recibler votre bibliothèque vers .NET Standard. Pour plus d'informations, consultez Comparaison avec les bibliothèques de classes portables de Microsoft.

Amazon Cognito Sync Manager et Amazon Mobile Analytics Manager

Les abstractions de haut niveau qui facilitent l'utilisation de l'utilisation d'Amazon Cognito Sync et d'Amazon Mobile Analytics sont supprimées de la version 3.5 du kitAWS SDK for .NET.AWS AppSyncest la substitution pour Amazon Cognito Sync. Amazon Pinpoint est le remplaçant préféré d'Amazon Mobile Analytics.

Si votre code est affecté par l'absence de code de bibliothèque de haut niveau pourAWS AppSyncet Amazon Pinpoint, vous pouvez signaler votre intérêt pour l'un des éléments suivants ou les deux GitHub Problèmes :https://github.com/aws/dotnet/issues/20ethttps://github.com/aws/dotnet/issues/19. Vous pouvez également obtenir les bibliothèques pour Amazon Cognito Sync Manager et Amazon Mobile Analytics Manager à l'adresse suivante GitHub référentiels :scie/amazon-cognito-sync-manager-Netetscie/aws-mobile-analytics-manager-Net.

Migration du code synchrone

Version 3.5 du kitAWS SDK for .NETprend en charge .NET Framework et .NET Standard (via les versions de .NET Core comme .NET core 3.1, .NET 5, etc.). Les variantes du SDK conformes à .NET Standard ne fournissent que des méthodes asynchrones. Par conséquent, si vous souhaitez tirer parti de .NET Standard, vous devez modifier le code synchrone afin qu'il s'exécute de manière asynchrone.

Les extraits de code suivants montrent comment vous pouvez transformer le code synchrone en code asynchrone. Le code de ces extraits est utilisé pour afficher le nombre de compartiments Amazon S3.

Les appels de code d'origineListBuckets.

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}");

Pour utiliser la version 3.5 du kit SDK, appelezListBucketsAsyncet non.

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}");