

La AWS SDK pour .NET V3 est passée en mode maintenance.

Nous vous recommandons de migrer vers la version [AWS SDK pour .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter notre [annonce relative au mode de maintenance](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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.

# Migrez votre projet pour AWS SDK pour .NET
<a name="net-dg-migrating"></a>

Cette section fournit des informations sur les tâches de migration susceptibles de s'appliquer à vous, ainsi que des instructions sur la manière d'effectuer ces tâches.

**Topics**
+ [Migration vers la version 3](migration-v3.md)
+ [Migration vers la version 3.5](net-dg-v35.md)
+ [Migration vers la version 3.7](net-dg-v37.md)
+ [Migration à partir de .NET Standard 1.3](migration-from-net-standard-1-3.md)

# Migration vers la version 3 du AWS SDK pour .NET
<a name="migration-v3"></a>

Cette rubrique décrit les modifications apportées à la version 3 du SDK AWS SDK pour .NET et explique comment migrer votre code vers cette version du SDK.

## À propos des AWS SDK pour .NET versions
<a name="net-dg-migrate-v3-intro"></a>

Le AWS SDK pour .NET, initialement publié en novembre 2009, a été conçu pour .NET Framework 2.0. Depuis cette version, .NET s'est amélioré avec .NET Framework 4.0 et .NET Framework 4.5, ciblant de nouvelles plateformes : WinRT et Windows Phone.

AWS SDK pour .NET la version 2 a été mise à jour pour tirer parti des nouvelles fonctionnalités de la plateforme .NET et pour cibler WinRT et Windows Phone.

AWS SDK pour .NET la version 3 a été mise à jour pour rendre les assemblages modulaires.

## Refonte de l'architecture du kit SDK
<a name="net-dg-migrate-v3-arch"></a>

L'ensemble de la version 3 du AWS SDK pour .NET est repensé pour être modulaire. Chaque service est désormais implémenté dans son propre assembly, et non dans un seul et même assembly global. Il n'est plus nécessaire d'ajouter l'intégralité AWS SDK pour .NET à votre candidature. Vous pouvez désormais ajouter des assemblages uniquement pour les AWS services utilisés par votre application.

## Évolutions
<a name="net-dg-migrate-v3-breaking"></a>

Les sections suivantes décrivent les modifications apportées à la version 3 du AWS SDK pour .NET.

### AWSClientSupprimé en usine
<a name="awsclientfactory-removed"></a>

La classe `Amazon.AWSClientFactory` a été supprimée. Désormais, pour créer le client d'un service, utilisez le constructeur correspondant. Par exemple, pour créer un `AmazonEC2Client` :

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

### Amazon Runtime. AssumeRoleAWSCredentials Supprimé
<a name="assumeroleawscredentials-removed"></a>

La `Amazon.Runtime.AssumeRoleAWSCredentials` classe a été supprimée car elle se trouvait dans un espace de noms principal mais dépendait du AWS Security Token Service, et parce qu'elle est obsolète dans le SDK depuis un certain temps. Utilisez plutôt la classe `Amazon.SecurityToken.AssumeRoleAWSCredentials`.

### Suppression de la méthode SetACL de S3Link
<a name="setacl-removed"></a>

La `S3Link` classe fait partie du `Amazon.DynamoDBv2` package et est utilisée pour stocker des objets dans Amazon S3 qui sont des références dans un élément DynamoDB. Cette fonctionnalité est utile, mais nous ne voulions pas créer de dépendance de compilation sur le `Amazon.S3` package pour DynamoDB. C'est pourquoi nous avons simplifié les méthodes `Amazon.S3` exposées de la classe `S3Link`, remplaçant la méthode `SetACL` par la méthode `MakeS3ObjectPublic`. Pour exercer un plus grand contrôle sur la liste de contrôle d'accès (ACL) de l'objet, utilisez directement le package `Amazon.S3`.

### Suppression de classes de résultat obsolètes
<a name="result-classes-removed"></a>

Pour la plupart des services du AWS SDK pour .NET, les opérations renvoient un objet de réponse contenant les métadonnées de l'opération, telles que l'ID de demande et un objet de résultat. La présence à la fois d'une classe de réponse et d'une classe de résultat était redondante et exigeait plus de saisies des développeurs. Dans la version 2 du AWS SDK pour .NET, nous avons placé toutes les informations de la classe de résultat dans la classe de réponse. De même, nous avons marqué les classes de résultat comme étant obsolètes pour dissuader leur utilisation. Dans la version 3 du AWS SDK pour .NET, nous avons supprimé ces classes de résultats obsolètes afin de réduire la taille du SDK.

### AWS Modifications apportées à la section Config
<a name="configs-changes"></a>

Il est possible d'effectuer une configuration avancée du fichier AWS SDK pour .NET via le `Web.config` fichier `App.config` or. Cette opération s'effectue via une section de configuration `<aws>` telle que celle illustrée ci-dessous, qui fait référence au nom d'assembly du SDK.

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

Dans la version 3 du AWS SDK pour .NET, l'`AWSSDK`assemblage n'existe plus. Nous avons intégré le code commun dans l'assembly `AWSSDK.Core`. De ce fait, vous devrez remplacer les références à l'assembly `AWSSDK` dans votre fichier `App.config` ou `Web.config` par des références à l'assembly `AWSSDK.Core`, comme suit.

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

Vous pouvez également manipuler les paramètres de configuration à l'aide de la classe `Amazon.AWSConfigs`. Dans la version 3 du AWS SDK pour .NET, nous avons déplacé les paramètres de configuration de DynamoDB de `Amazon.AWSConfigs` la classe vers la classe. `Amazon.AWSConfigsDynamoDB`

# Migration vers la version 3.5 du AWS SDK pour .NET
<a name="net-dg-v35"></a>

[La version 3.5 normalise AWS SDK pour .NET davantage l'expérience .NET en transférant la prise en charge de toutes les variantes du SDK hors Framework vers .NET Standard 2.0.](https://docs.microsoft.com/en-us/dotnet/standard/net-standard) 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
<a name="net-dg-v35-changes"></a>

Ce qui suit décrit ce qui a changé ou n'a pas changé dans la AWS SDK pour .NET version 3.5.

### .NET Framework et .NET Core
<a name="net-dg-v35-changes-dotnet"></a>

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

### Xamarin
<a name="net-dg-v35-changes-xamarin"></a>

Les projets Xamarin (nouveaux et existants) doivent cibler .NET Standard 2.0. Consulter [Prise en charge de .NET Standard 2.0 dans Xamarin.Forms](https://docs.microsoft.com/en-us/xamarin/xamarin-forms/internals/net-standard) et [Prise en charge de l'implémentation .NET](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support).

### Unity
<a name="net-dg-v35-changes-unity"></a>

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](https://docs.unity3d.com/2020.1/Documentation/Manual/dotnetProfileSupport.html). En outre, si vous utilisez **IL2CPP** pour compiler, vous devez désactiver le découpage de code en ajoutant un fichier *link.xml*, comme décrit dans [Référencement de la AWS SDK pour .NET norme 2.0 depuis Unity, Xamarin](https://aws.amazon.com/blogs/developer/referencing-the-aws-sdk-for-net-standard-2-0-from-unity-xamarin-or-uwp) 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.

Unity prenant en charge le .NET Standard 2.0, le package **AWSSDK.Core** du SDK version 3.5 ne contient plus de code spécifique à Unity, y compris certaines fonctionnalités de niveau supérieur. Pour une meilleure transition, l'ensemble du code Unity ***existant*** est disponible à titre de référence dans le aws-sdk-unity-net GitHub référentiel [aws/](https://github.com/aws/aws-sdk-unity-net). Si vous trouvez des fonctionnalités manquantes qui ont un impact sur votre utilisation AWS de Unity, vous pouvez déposer une demande de fonctionnalité sur [https://github.com/aws/dotnet/issues](https://github.com/aws/dotnet/issues).

Voir aussi [Considérations spéciales relatives au support Unity](unity-special.md).

### Universal Windows Platform (UWP)
<a name="net-dg-v35-changes-uwp"></a>

Ciblez votre application UWP vers [la version 16299 ou ultérieure](https://docs.microsoft.com/en-us/windows/uwp/updates-and-versions/choose-a-uwp-version) (mise à jour Fall Creators, version 1709, publiée en octobre 2017).

### Windows Phone et Silverlight
<a name="net-dg-v35-changes-phone-silverlight"></a>

La version 3.5 de AWS SDK pour .NET ne prend pas en charge ces plateformes car Microsoft ne les développe plus activement. Pour plus d’informations, consultez les ressources suivantes :
+ [Fin de la prise en charge de Windows 10 Mobile](https://support.microsoft.com/en-us/help/4485197/windows-10-mobile-end-of-support-faq)
+ [Fin de la prise en charge de Silverlight](https://support.microsoft.com/en-us/help/4511036/silverlight-end-of-support)

### Bibliothèques de classes portables héritées (basées sur les profils PCLs)
<a name="net-dg-v35-changes-pcl"></a>

Envisagez de recibler votre bibliothèque vers .NET Standard. Pour plus d'informations, consultez [Comparaison avec les bibliothèques de classes portables](https://docs.microsoft.com/en-us/dotnet/standard/net-standard#comparison-to-portable-class-libraries) de Microsoft.

### Gestionnaire de synchronisation Amazon Cognito et Amazon Mobile Analytics Manager
<a name="net-dg-v35-changes-cog-ma"></a>

Les abstractions de haut niveau qui facilitent l'utilisation d'Amazon Cognito Sync et d'Amazon Mobile Analytics sont supprimées de la version 3.5 du. AWS SDK pour .NET AWS AppSync est le remplacement préféré d'Amazon Cognito Sync. Amazon Pinpoint est le produit de remplacement préféré d'Amazon Mobile Analytics.

[Si votre code est affecté par l'absence de code de bibliothèque de niveau supérieur pour Amazon Pinpoint, vous pouvez indiquer que vous vous intéressez à l'un des problèmes GitHub suivants ou aux deux [https://github.com/aws/:](https://github.com/aws/dotnet/issues/20) dotnet/issues/20 AWS AppSync et dotnet/issues/19. https://github.com/aws/](https://github.com/aws/dotnet/issues/19) [Vous pouvez également obtenir les bibliothèques pour Amazon Cognito Sync Manager et Amazon Mobile Analytics Manager à partir des GitHub référentiels suivants : [aws/ amazon-cognito-sync-manager -net et aws/ -net](https://github.com/aws/amazon-cognito-sync-manager-net). aws-mobile-analytics-manager](https://github.com/aws/aws-mobile-analytics-manager-net)

## Migration de code synchrone
<a name="net-dg-v35-migrate-code"></a>

La version 3.5 AWS SDK pour .NET prend en charge à la fois .NET Framework et .NET Standard (via les versions .NET Core telles que .NET Core 3.1, .NET 5, etc.). Les variantes du SDK conformes à .NET Standard fournissent uniquement 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 contenu dans ces extraits est utilisé pour afficher le nombre de compartiments Amazon S3.

Le code d'origine appelle [ListBuckets](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/MS3ListBuckets.html).

```
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 SDK, appelez [ListBucketsAsync](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/MS3ListBucketsAsyncCancellationToken.html)plutôt.

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

# Migration vers la version 3.7 du AWS SDK pour .NET
<a name="net-dg-v37"></a>

À partir de la version 3.7, le .NET Standard 1.3 AWS SDK pour .NET n'est plus pris en charge.

Pour plus d'informations sur la migration depuis .NET Standard 1.3, consultez[Migration à partir de .NET Standard 1.3](migration-from-net-standard-1-3.md).

# Migration à partir de .NET Standard 1.3
<a name="migration-from-net-standard-1-3"></a>

Le 27 juin 2019, Microsoft [a mis fin à la prise en charge](https://devblogs.microsoft.com/dotnet/net-core-1-0-and-1-1-will-reach-end-of-life-on-june-27-2019/) des versions .NET Core 1.0 et .NET Core 1.1. Suite à cette annonce, le support de .NET Standard 1.3 a AWS pris fin AWS SDK pour .NET le 31 décembre 2020.

AWS a continué à fournir des mises à jour de service et des correctifs de sécurité sur le .NET Standard 1.3 AWS SDK pour .NET cible jusqu'au 1er octobre 2020. Après cette date, la cible .NET Standard 1.3 est passée en mode maintenance, ce qui signifie qu'aucune nouvelle mise à jour n'a été publiée ; seuls des correctifs de bogues critiques et des correctifs de sécurité ont été AWS appliqués.

Le 31 décembre 2020, le support de .NET Standard 1.3 AWS SDK pour .NET a pris fin. Après cette date, aucun correctif de bogue ou correctif de sécurité n'a été appliqué. Les artefacts créés avec cette cible restent disponibles en téléchargement sur NuGet.

**Ce que vous devez faire**
+ Si vous exécutez des applications qui utilisent .NET Framework, vous n'êtes pas concerné.
+ Si vous exécutez des applications qui utilisent .NET Core 2.0 ou version ultérieure, vous n'êtes pas concerné.
+ Si vous exécutez des applications qui utilisent .NET Core 1.0 ou .NET Core 1.1, migrez vos applications vers une version plus récente de .NET Core en suivant les [instructions de migration Microsoft](https://docs.microsoft.com/en-us/dotnet/core/migration/). Nous recommandons au minimum .NET Core 3.1.
+ Si vous exécutez des applications métier stratégiques qui ne peuvent pas être mises à niveau pour le moment, vous pouvez continuer à utiliser votre version actuelle du kit AWS SDK pour .NET.

Si vous avez des questions ou des inquiétudes, [contactez le support AWS](https://console.aws.amazon.com/support).