Migración a la versión 3 de la AWS SDK for .NET - AWS SDK for .NET

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

En este tema se describen los cambios en la versión 3 del AWS SDK for .NET y cómo migrar su código a esta versión del SDK.

Acerca de las versiones del AWS SDK for .NET

El AWS SDK for .NET, lanzado originalmente en noviembre de 2009, se diseñó para .NET Framework 2.0. Desde entonces, .NET se ha mejorado con .NET Framework 4.0 y .NET Framework 4.5, y se han añadido nuevas plataformas de destino: WinRT y Windows Phone.

AWS SDK for .NET versión 2 se actualizó para beneficiarse de las nuevas características de la plataforma .NET y centrarse en WinRT y Windows Phone.

AWS SDK for .NET versión 3 se actualizó para que los ensamblados sean modulares.

Rediseño de la arquitectura del SDK

Toda la versión 3 del AWS SDK for .NET se ha rediseñado para que sea modular. Ahora cada servicio se implementa en su propio ensamblado, en lugar de en un ensamblado global. Ya no es necesario que añada todo el AWS SDK for .NET en su aplicación. Ahora puede agregar ensamblados solo para los servicios de AWS que su aplicación utiliza.

Cambios bruscos

En las siguientes secciones se describen cambios de la versión 3 del AWS SDK for .NET.

AWSClientFactory eliminada

Se ha eliminado la clase Amazon.AWSClientFactory. Ahora, para crear un cliente de servicio debe utilizar el constructor del cliente de servicio. Por ejemplo, para crear un AmazonEC2Client:

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

Amazon.Runtime.AssumeRoleAWSCredentials eliminada

Se ha eliminado la clase Amazon.Runtime.AssumeRoleAWSCredentials porque estaba en un espacio de nombres central pero era dependiente de AWS Security Token Service y porque ya estaba obsoleta en el SDK desde hacía tiempo. En su lugar, utilice la clase Amazon.SecurityToken.AssumeRoleAWSCredentials.

Método SetACL eliminado de S3Link

La clase S3Link forma parte del paquete Amazon.DynamoDBv2, y se utiliza para almacenar objetos en Amazon S3 que son referencias en un elemento de DynamoDB. Se trata de una característica útil, pero no queríamos crear una dependencia de compilación en el paquete Amazon.S3 para DynamoDB. En consecuencia, hemos simplificado los métodos Amazon.S3 expuestos de la clase S3Link reemplazando el método SetACL por el método MakeS3ObjectPublic. Para obtener más control sobre la lista de control de acceso (ACL) en el objeto, utilice el paquete Amazon.S3 directamente.

Eliminación de clases de resultado obsoletas

Para la mayoría de servicios en el AWS SDK for .NET, las operaciones devuelven un objeto de respuesta que contiene metadatos para la operación, como el ID de la solicitud y un objeto de resultado. Disponer de una respuesta separada y de una clase de resultado era redundante y generaba más trabajo para los desarrolladores. En la versión 2 del AWS SDK for .NET, incluimos toda la información de la clase de resultado en la clase de respuesta. También marcamos las clases de resultado como obsoletas para evitar que se utilizaran. En la versión 3 del AWS SDK for .NET, eliminamos estas clases de resultado obsoletas para reducir el tamaño del SDK.

Cambios en la sección de AWS Config

Se puede realizar una configuración avanzada del AWS SDK for .NET mediante el archivo App.config o Web.config. Para ello puede utilizar una sección de configuración <aws>, como la que se muestra a continuación, que hace referencia al nombre del ensamblado del SDK.

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

En la versión 3 del AWS SDK for .NET, el ensamblado AWSSDK ya no existe. Hemos colocado el código común en el ensamblado AWSSDK.Core. En consecuencia, deberá modificar las referencias al ensamblado AWSSDK en su archivo App.config o Web.config por el ensamblado AWSSDK.Core, de la siguiente manera.

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

También puede manipular las opciones de configuración con la clase Amazon.AWSConfigs. En la versión 3 de AWS SDK for .NET, hemos trasladado las opciones de configuración de DynamoDB de la clase Amazon.AWSConfigs a la clase Amazon.AWSConfigsDynamoDB.