

La AWS SDK para .NET V3 ha entrado en modo de mantenimiento.

Le recomendamos que migre a la [AWS SDK para .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Para obtener información y detalles adicionales sobre cómo migrar, consulta nuestro [anuncio sobre el modo de mantenimiento](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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 para .NET
<a name="migration-v3"></a>

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

## Acerca de las versiones del AWS SDK para .NET
<a name="net-dg-migrate-v3-intro"></a>

El AWS SDK para .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 para .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 para .NET versión 3 se actualizó para que los ensamblados sean modulares.

## Rediseño de la arquitectura del SDK
<a name="net-dg-migrate-v3-arch"></a>

Toda la versión 3 del AWS SDK para .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 para .NET en su aplicación. Ahora puede agregar ensamblados solo para los servicios de AWS que su aplicación utiliza.

## Cambios bruscos
<a name="net-dg-migrate-v3-breaking"></a>

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

### AWSClientFactory eliminada
<a name="awsclientfactory-removed"></a>

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
<a name="assumeroleawscredentials-removed"></a>

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
<a name="setacl-removed"></a>

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
<a name="result-classes-removed"></a>

Para la mayoría de servicios en el AWS SDK para .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 para .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 para .NET, eliminamos estas clases de resultado obsoletas para reducir el tamaño del SDK.

### Cambios en la sección de AWS Config
<a name="configs-changes"></a>

Se puede realizar una configuración avanzada del AWS SDK para .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 para .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 para .NET, hemos trasladado las opciones de configuración de DynamoDB de la clase `Amazon.AWSConfigs` a la clase `Amazon.AWSConfigsDynamoDB`.