La versione 4 (V4) di SDK per .NET è disponibile in anteprima! Per visualizzare le informazioni su questa nuova versione in anteprima, consulta la Guida per gli sviluppatori AWS SDK per .NET (anteprima della versione 4).
Tieni presente che la versione 4 dell'SDK è in anteprima, pertanto il suo contenuto è soggetto a modifiche.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Migrazione alla versione 3.5 di AWS SDK per .NET
La versione 3.5 standardizza AWS SDK per .NET ulteriormente l'esperienza di.NET trasferendo il supporto per tutte le varianti non Framework dell'SDK a.NET Standard 2.0.
In questo argomento vengono descritte le modifiche apportate alla versione 3.5 e le possibili operazioni da eseguire per la migrazione dell'ambiente o del codice dalla versione 3.
Cosa è cambiato nella versione 3.5
Di seguito viene descritto cosa è cambiato o non è cambiato nella AWS SDK per .NET versione 3.5.
.NET Framework e .NET Core
Il supporto per .NET Framework e .NET Core non è cambiato.
Xamarin
I progetti Xamarin (nuovi ed esistenti) devono essere indirizzati a .NET Standard 2.0. Vedere il supporto .NET Standard 2.0 in Xamarin.Forms
Unità
Le app Unity devono essere indirizzate ai profili .NET Standard 2.0 o .NET 4.x utilizzando Unity 2018.1 o versioni successive. Per ulteriori informazioni, vedere il supporto del profilo .NET
Poiché Unity supporta .NET Standard 2.0, il pacchetto AWSSDK.Core della versione SDK 3.5 non contiene più codice specifico per Unity, incluse alcune funzionalità di livello superiore. Per fornire una transizione migliore, tutto il codice Unity legacy è disponibile come riferimento nel repository aws/. aws-sdk-unity-net
Consultare anche Considerazioni speciali per il supporto di Unity.
Universal Windows Platform (UWP)
Destina la tua applicazione UWP alla versione 16299 o successiva
Windows Phone e Silverlight
La versione 3.5 di AWS SDK per .NET non supporta queste piattaforme perché Microsoft non le sviluppa più attivamente. Per ulteriori informazioni, consulta gli argomenti seguenti:
Librerie di classi portatili legacy (basate sul profilo PCLs)
Considera il retargeting della tua libreria in .NET Standard. Per ulteriori informazioni, vedere Confronto con le librerie di classi portatili
Amazon Cognito Sync Manager e Amazon Mobile Analytics Manager
Le astrazioni di alto livello che facilitano l'uso di Amazon Cognito Sync e Amazon Mobile Analytics vengono rimosse dalla versione 3.5 di. AWS SDK per .NET AWS AppSync è il sostituto preferito di Amazon Cognito Sync. Amazon Pinpoint è il sostituto preferito di Amazon Mobile Analytics.
Se il tuo codice è influenzato dalla mancanza di un codice di libreria di livello superiore per Amazon Pinpoint, puoi registrare il tuo interesse per uno o entrambi i GitHub seguenti problemi https://github.com/aws/:
Migrazione del codice sincrono
La versione 3.5 di AWS SDK per .NET supporta sia .NET Framework che .NET Standard (tramite versioni .NET Core come .NET core 3.1, .NET 5 e così via). Le varianti dell'SDK conformi a.NET Standard forniscono solo metodi asincroni, quindi se desideri sfruttare .NET Standard, devi modificare il codice sincrono in modo che venga eseguito in modo asincrono.
I frammenti di codice riportati di seguito mostrano come è possibile modificare il codice sincrono in codice asincrono. Il codice contenuto in questi frammenti viene utilizzato per visualizzare il numero di bucket Amazon S3.
Le chiamate in codice originali. 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}");
Per utilizzare la versione 3.5 dell'SDK, chiama ListBucketsAsyncinvece.
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}");