Migrazione alla versione 3 di AWS SDK for .NET - AWS SDK for .NET

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

Questo argomento descrive le modifiche della versione 3 di AWS SDK for .NET e come migrare il codice a questa versione dell'SDK.

Informazioni sulle versioni di AWS SDK for .NET

L'AWS SDK for .NET, originariamente rilasciato nel novembre del 2009, è stato progettato per .NET Framework 2.0. Da allora, .NET è stato migliorato con le versioni .NET Framework 4.0 e .NET Framework 4.5 e ha aggiunto nuove piattaforme di destinazione: WinRT e Windows Phone.

La versione 2 di AWS SDK for .NET è stata aggiornata per sfruttare le nuove caratteristiche della piattaforma .NET e per puntare a WinRT e Windows Phone.

La versione 3 di AWS SDK for .NET è stata aggiornata per rendere gli assembly modulari.

Riprogettazione dell'architettura per l'SDK

L'intera versione 3 di AWS SDK for .NET è stata riprogettata per essere modulare. Ogni servizio è ora implementato nel relativo assembly, anziché in un unico assembly globale. Non dovrai più aggiungere l'intero AWS SDK for .NET alla tua applicazione. È ora possibile aggiungere assembly solo perAWSservizi utilizzati dalla tua applicazione.

Modifiche importanti

Le seguenti sezioni descrivono le modifiche alla versione 3 di AWS SDK for .NET.

AWSClientFactory rimossa

La classe Amazon.AWSClientFactory è stata rimossa. Ora, per creare un client di servizio, utilizza il costruttore del client di servizio. Ad esempio, per creare AmazonEC2Client:

var ec2Client = new Amazon.EC2.AmazonEC2Client();

Amazon.Runtime.AssumeRoleAWSCredentials rimossa

La classe Amazon.Runtime.AssumeRoleAWSCredentials è stata rimossa perché si trovava in uno spazio dei nomi principale ma aveva una dipendenza da AWS Security Token Service e perché da qualche tempo era obsoleta nell'SDK. Al su posto, utilizza la classe Amazon.SecurityToken.AssumeRoleAWSCredentials.

Metodo SetACL rimosso da S3Link

LaS3Linkla classe fa parte dellaAmazon.DynamoDBv2viene utilizzato per archiviare in Amazon S3 gli oggetti che sono riferimenti in un articolo DynamoDB. Questa è una funzionalità utile, ma non volevamo creare una dipendenza di compilazione sulAmazon.S3pacchetto per DynamoDB. Di conseguenza, abbiamo semplificato i metodi esposti Amazon.S3 dalla classe S3Link, sostituendo il metodo SetACL con il metodo MakeS3ObjectPublic. Per un maggiore controllo sulla lista di controllo accessi (ACL) sull'oggetto, utilizza direttamente il pacchetto Amazon.S3.

Rimozione delle classi risultanti obsolete

Per la maggior parte dei servizi di AWS SDK for .NET, le operazioni restituiscono un oggetto di risposta contenente i metadati per l'operazione, ad esempio l'ID della richiesta e un oggetto risultante. Avere una risposta separata e una classe risultante era ridondante e creava un'ulteriore digitazione per gli sviluppatori. Nella versione 2 di AWS SDK for .NET, abbiamo inserito tutte le informazioni della classe risultante nella classe di risposta. Abbiamo inoltre contrassegnato come obsolete le classi risultanti per scoraggiarne l'uso. Nella versione 3 di AWS SDK for .NET, abbiamo rimosso queste classi risultanti obsolete per ridurre le dimensioni dell'SDK.

AWSModifiche alla sezione di Config

È possibile effettuare la configurazione avanzata di AWS SDK for .NET mediante il file App.config o Web.config. A tale scopo viene utilizzata una sezione di configurazione <aws> come quella riportata di seguito, che fa riferimento al nome dell'assembly SDK.

<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK"/> </configSections> <aws region="us-west-2"> <logging logTo="Log4Net"/> </aws> </configuration>

Nella versione 3 diAWS SDK for .NET, l'assembly AWSSDK non esiste più. Abbiamo inserito il codice comune nell'assembly AWSSDK.Core. Di conseguenza, dovrai modificare i riferimenti all'assembly AWSSDK nel file App.config o Web.config all'assembly AWSSDK.Core, come riportato di seguito.

<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/> </configSections> <aws region="us-west-2"> <logging logTo="Log4Net"/> </aws> </configuration>

Puoi anche modificare le impostazioni di configurazione mediante la classe Amazon.AWSConfigs. Nella versione 3 dell'AWS SDK for .NET, abbiamo trasferito le impostazioni di configurazione per DynamoDB dallaAmazon.AWSConfigsclasse allaAmazon.AWSConfigsDynamoDBclasse.