

La version 4 (V4) du AWS SDK pour .NET est sortie \$1

Pour plus d'informations sur les modifications majeures et la migration de vos applications, consultez la [rubrique relative à la migration](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html).

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

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.

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

Cette section fournit des informations sur les tâches de migration pour la version 4 du AWS SDK pour .NET, ainsi que des instructions sur la manière d'effectuer ces tâches. Pour plus d'informations sur la migration vers des versions antérieures (par exemple, la migration de la V2 vers la V3, ou d'une sous-version V3 vers une autre), voir [Migrer votre projet](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-migrating.html) dans le [Guide du AWS SDK pour .NET développeur](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) (version 3).

Voir également [Nouveautés](whats-new.md) et[Plateformes prises en charge](net-dg-supported-platforms.md).

**Topics**
+ [Migration vers la version 4](net-dg-v4.md)
+ [Migration à partir de .NET Standard 1.3](migration-from-net-standard-1-3.md)

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

La AWS SDK pour .NET version 4 (V4) comporte un nombre important de modifications majeures par rapport à la version 3 (V3) du SDK. Cette rubrique décrit les modifications majeures apportées à la version 4 et les tâches que vous pourriez avoir à effectuer pour migrer votre environnement ou votre code depuis la V3. Pour plus d'informations sur les autres modifications importantes apportées au SDK, consultez les ressources suivantes :
+ Le problème du logiciel de suivi du développement sur GitHub :. [https://github.com/aws/aws-sdk-net/issues/3362](https://github.com/aws/aws-sdk-net/issues/3362)
+ Le billet de blog [Preview 1 of AWS SDK pour .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/).
+ Le billet de blog [Preview 4 of AWS SDK pour .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/).
+ Le billet de blog [Disponibilité générale de la AWS SDK pour .NET version 4.0](https://aws.amazon.com/blogs/developer/general-availability-of-aws-sdk-for-net-v4-0/).

## .NET Framework
<a name="net-dg-v4-framework3.5"></a>

La cible .NET Framework 3.5 a été supprimée de la version 4 du AWS SDK pour .NET. Par conséquent, le SDK ne prend plus en charge .NET Framework 3.5. Cette version du SDK est compilée avec .NET Framework 4.7.2 et s'exécute dans le runtime .NET 4.0. Pour plus d'informations, consultez la section [Plateformes prises en charge](net-dg-supported-platforms.md#net-dg-platform-diff-netfx45).

## Types de valeur
<a name="net-dg-v4-value-types"></a>

Les propriétés qui utilisent des types de valeur dans les classes utilisées pour effectuer des demandes et des réponses ont été modifiées pour utiliser des types de valeurs nullables. Les propriétés des types suivants ont été modifiées :
+ `bool`a été changé en `bool?` 
+ `double`a été changé en `double?` 
+ `int`a été changé en `int?` 
+ `float`a été changé en `float?` 
+ `long`a été changé en `long?` 
+ `Datetime`a été changé en `Datetime?`

Pour plus d'informations sur cette modification, consultez le billet de blog [Preview 1 of AWS SDK pour .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/).

## Collections
<a name="net-dg-v4-collections"></a>

Les propriétés qui utilisent des collections dans des classes utilisées pour effectuer des demandes et des réponses sont désormais définies par défaut sur`null`. Par conséquent, votre code doit vérifier qu'une collection n'est pas nulle avant d'essayer de l'utiliser. Par exemple :

```
var sqsClient = new AmazonSQSClient();
var listResponse = await sqsClient.ListQueuesAsync(new ListQueuesRequest());
if (listResponse.QueueUrls != null)
{
    foreach (string qUrl in listResponse.QueueUrls)
    {
        // Perform operations on each queue such as displaying all the attributes.
    }
}
```

Le comportement de la V3 lors de l'initialisation des collections peut être restauré en `Amazon.AWSConfigs.InitializeCollections` réglant sur. `true` Cette propriété existe également dans la version 3 pour les utilisateurs qui souhaitent essayer ce changement de comportement avant de passer à la version 4.

Pour plus d'informations sur cette modification, consultez le billet de blog [Preview 1 of AWS SDK pour .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/).

## AWS Security Token Service (STS)
<a name="net-dg-v4-sts"></a>
+ **Le point final régional**

  Lorsque vous utilisez des fournisseurs d'informations d'identification qui s'appuient sur AWS STS, les appels utilisent toujours le point de terminaison régional. Cela diffère de la version 3 du SDK, qui utilisait la `us-east-1` région par défaut lors de l'exécution sur la partition publique, quelle que soit la région configurée.
+ **L'`StsRegionalEndpointsValue`énumération**

  L'`StsRegionalEndpointsValue`énumération a été supprimée de l'espace de noms [Amazon.Runtime.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) Tout code utilisant cette énumération doit être supprimé.
+ **La classe `STSAssumeRoleAWSCredentials`**

  [Le fournisseur d'informations d'identification STS assume le rôle obsolète `STSAssumeRoleAWSCredentials` a été supprimé d'Amazon. SecurityToken](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityToken.html)espace de noms. Utilisez plutôt [AssumeRoleAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAssumeRoleAWSCredentials.html)depuis [Amazon.Runtime.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html)

## Changements liés à `ClientConfig`
<a name="net-dg-v4-clientconfig"></a>

L'[Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)class est la classe de base des classes de configuration des clients de service telles que [AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html). Les modifications suivantes ont été apportées à cette classe de base.
+  **Mode de nouvelle tentative par défaut** 

  La valeur par défaut de la `RetryMode` propriété est au `Standard` lieu de. `Legacy` Par conséquent, la `Legacy` valeur a été supprimée d'[Amazon.Runtime. RequestRetryMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TRequestRetryMode.html)énum.
+  **Mode de configuration par défaut** 

  La valeur par défaut de la `DefaultConfigurationMode` propriété est au `Standard` lieu de. `Legacy` Par conséquent, la `Legacy` valeur a été supprimée d'[Amazon.Runtime. DefaultConfigurationMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TDefaultConfigurationMode.html)énum.
+  **La `ReadWriteTimeout` propriété** 

  La `ReadWriteTimeout` propriété obsolète a été supprimée de toutes les cibles à l'exception de .NET Framework 4.7.2.

## Les AWSSDK .Extensions. NETCore.Package d'installation NuGet
<a name="net-dg-v4-netcore-setup"></a>

Les [AWSSDK.Extensions. NETCoreLe NuGet package .Setup](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/) a été mis à jour pour résoudre les problèmes présents dans la version 3 du SDK et pour sécuriser le package pour Native AOT. Ces modifications sont résumées ci-dessous. Pour des informations détaillées, voir le [PR 3353](https://github.com/aws/aws-sdk-net/pull/3353) dans le [aws-sdk-net](https://github.com/aws/aws-sdk-net)référentiel sur GitHub.
+ **La classe `DefaultClientConfig`**

  La `DefaultClientConfig` classe n'est plus héritée de la classe de base de configuration du client de service [Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html). Les propriétés pertinentes de `ClientConfig` ont été répliquées à `DefaultClientConfig` l'aide de types de valeurs nullables. Cette modification nous permet de détecter le moment où une valeur a été définie `DefaultClientConfig` lors de la copie des valeurs dans la configuration en cours de création pour le client de service.

  L'un des résultats particuliers de ce changement est qu'il n'`DefaultClientConfig.HttpClientFactory`est plus disponible dans la version 4. Utilisez `AWSConfigs.HttpClientFactory` à la place. Pour plus d'informations, consultez le [GitHub numéro 3790](https://github.com/aws/aws-sdk-net/issues/3790).

  Cette modification a également entraîné la suppression des surcharges génériques de la méthode d'`IConfiguration.GetAWSOptions`extension qui acceptait un objet de configuration de service. La surcharge non générique doit être utilisée à la place, et le SDK se chargera automatiquement de renseigner les paramètres spécifiques au service. Pour plus d'informations, consultez le [GitHub numéro 3866](https://github.com/aws/aws-sdk-net/issues/3866).
+ **AOT natif**

  Un nouveau mécanisme de création de clients de service utilisant les méthodes d'interface statique C\$1 11 a été ajouté au package. Cette modification élimine le besoin d'effectuer des chargements de type Assembly pour créer des instances de clients de service, y compris la manipulation de chaînes du nom de l'interface de service pour calculer le type de client de service, ce qui est incompatible avec l'AOT natif. Cette modification n'est disponible que pour .NET 8 et versions ultérieures ; les anciennes versions utilisent toujours le mécanisme d'origine.

Pour plus d'informations sur ce package dans ce guide, consultez[AWSSDK.Prolongations. NETCore.Configuration et IConfiguration](net-dg-config-netcore.md). Le code source de ce package se trouve GitHub sur[https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup).

## `CookieSigner` et `UrlSigner`
<a name="net-dg-v4-CookieSigner-UrlSigner"></a>

Les `UrlSigner` extensions `CookieSigner` et pour Amazon CloudFront ont été déplacées vers un package d'extension distinct appelé [AWSSDK.Extensions. CloudFront.Signataires](https://www.nuget.org/packages/AWSSDK.Extensions.CloudFront.Signers). [Ce changement vise à prendre en charge OpenSSL 3 et à devenir dépendant de .Cryptography. BouncyCastle](https://www.nuget.org/packages/BouncyCastle.Cryptography)

Le code source de ce package se trouve GitHub sur[https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers).

## DateTime contre UTC DateTime
<a name="net-dg-v4-utc-datetime"></a>

Certaines classes V3 ont une DateTime propriété marquée comme « obsolète » ou « obsolète », ainsi qu'une propriété UTC alternative. DateTime Dans ces classes, la DateTime propriété obsolète a été supprimée et le nom de la DateTime propriété UTC a été remplacé par le nom d'origine de la DateTime propriété.

Voici quelques exemples de classes pour lesquelles cette modification a été mise en œuvre.
+ [DescribeSpotPriceHistoryRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TDescribeSpotPriceHistoryRequest.html):
  + La `StartTime` propriété obsolète a été supprimée et le nom de la `StartTimeUtc` propriété a été changé en « StartTime ».
  + La `EndTime` propriété obsolète a été supprimée et le nom de la `EndTimeUtc` propriété a été changé en « EndTime ».
+  [CreateFleetRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TCreateFleetRequest.html) 
  + La `ValidFrom` propriété obsolète a été supprimée et le nom de la `ValidFromUtc` propriété a été changé en « ValidFrom ».
  + La `ValidUntil` propriété obsolète a été supprimée et le nom de la `ValidUntilUtc` propriété a été changé en « ValidUntil ».

Cette modification peut entraîner des temps de décalage si une application utilise la DateTime propriété obsolète d'origine. Une erreur de compilation se produira pour le code utilisant la DateTime propriété UTC.

## DateTime analyse syntaxique
<a name="net-dg-v4-datetime-parsing"></a>

La DateTimeUnmarshaller classe a été mise à jour. Cette classe analysait et renvoyait des DateTime chaînes en heure locale. Dans certains cas, ces valeurs ont été reconverties en UTC en raison d'une mise à jour antérieure, mais pas toujours. Désormais, les DateTime chaînes qui ne sont pas rassemblées sont supposées être en UTC et seront spécifiées et non rassemblées en UTC. Cette mise à jour inclut les modifications de comportement suivantes.

Certaines propriétés d'horodatage basées sur la DateTime classe étaient analysées en heure locale. Il s'agissait notamment de démarshallers de réponse pour les horodatages et de listes d'horodatages pour les formats et. `TimestampFormat.ISO8601` `TimestampFormat.RFC822` DateTime l'analyse a été mise à jour pour renvoyer les heures UTC à la place.

## `ConvertFromUnixEpochSeconds` et `ConvertFromUnixEpochMilliseconds`
<a name="net-dg-v4-ConvertFromUnixEpoch"></a>

Les [ConvertFromUnixEpochMilliseconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochMillisecondsInt64.html)méthodes [ConvertFromUnixEpochSeconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochSecondsInt32.html)et, qui convertissent les secondes d'époque Unix en une DateTime structure, renvoyaient l'heure d'époque Unix sous forme d'heure locale au lieu d'heure UTC. Ces méthodes renvoient désormais l'heure UTC.

## Logging
<a name="net-dg-v4-logging"></a>

La façon dont vous activez la connexion au SDK a été mise à jour pour la version 4. La connexion à la console et aux diagnostics du système fonctionne de la même manière que dans la version 3, c'est-à-dire en définissant la `LoggingConfig.LogTo` propriété de la [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)classe sur `LoggingOptions.Console` ou`LoggingOptions.SystemDiagnostics`. L'[LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)option for `log4net` a été supprimée, de même que la logique interne du SDK permettant d'utiliser la réflexion pour s'attacher à une instance en mémoire de. `log4net`

Pour inclure la connexion du SDK dans une structure de journalisation, un module adaptateur distinct est utilisé pour connecter le SDK à la structure de journalisation. [Utilisez le package [AWSSDK.Extensions.Logging.Log4 pour et le package NetAdaptor .Extensions.Logging](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.Log4NetAdaptor). `log4net` AWSSDK ILoggerEnsemble d'adaptateurs](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.ILoggerAdaptor/#readme-body-tab) pour. `Microsoft.Extensions.Logging` Les exemples de code suivants vous montrent comment configurer la journalisation dans ces deux cas.

### Exemple de configuration pour log4net
<a name="w2aac25c11c27b7b1"></a>

Ajoutez le `AWSSDK.Extensions.Logging.Log4NetAdaptor` NuGet package et appelez la `ConfigureAWSSDKLogging` méthode statique à partir de`Log4NetAWSExtensions`.

```
using Amazon.DynamoDBv2;
using Amazon.Extensions.Logging.Log4NetAdaptor;
using log4net;

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]

Log4NetAWSExtensions.ConfigureAWSSDKLogging();
var logger = LogManager.GetLogger(typeof(Program));
```

### Exemple de configuration pour Microsoft.Extensions.Logging
<a name="w2aac25c11c27b7b3"></a>

Ajoutez le `AWSSDK.Extensions.Logging.ILoggerAdaptor` NuGet package et appelez la méthode d'`ConfigureAWSSDKLogging`extension depuis l'`ILoggerFactory`interface.

```
var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.Services.GetRequiredService<ILoggerFactory>()
    .ConfigureAWSSDKLogging();
```

## Support pour HTTP 2
<a name="net-dg-v4-http2"></a>

Support du protocole HTTP 2 a été ajouté pour permettre le streaming bidirectionnel. Pour de plus amples informations, veuillez consulter [Support pour HTTP 2](http2-support.md).

## Authentification unique
<a name="net-dg-v4-sso"></a>

La valeur par défaut de la `SupportsGettingNewToken` propriété de la classe [SSOAWSCredentialsOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentialsOptions.html) est passée de `true` à`false`. Si certaines applications utilisent la [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html)classe pour obtenir des informations d'identification SSO, vous devrez peut-être définir la `Options.SupportsGettingNewToken` propriété sur. `true` Pour des exemples de cette configuration, consultez les [exemples de code](sso-tutorial-app-only.md#sso-tutorial-app-only-code) dans[Tutoriel pour l'authentification unique utilisant uniquement des applications .NET](sso-tutorial-app-only.md). Pour plus d'informations, voir [PR 3737](https://github.com/aws/aws-sdk-net/pull/3737) dans le [aws-sdk-net](https://github.com/aws/aws-sdk-net) GitHub référentiel.

## Modifications spécifiques à DynamoDB
<a name="net-dg-v4-ddb-specific"></a>

Les modifications suivantes sont spécifiques à Amazon DynamoDB. Nombre d'entre eux sont en train de changer radicalement.

Pour plus d'informations sur les modifications apportées à DynamoDB dans la version 4 du, consultez AWS SDK pour .NET le billet de [blog Preview](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/) 4 of V4. AWS SDK pour .NET 

### Ouvert pour voir les articles
<a name="w2aac25c11c35b7b1"></a>

Les modifications apportées à la version 4 du SDK pour DynamoDB résolvent certains problèmes liés à la testabilité, mais concernent principalement les bibliothèques de haut niveau :
+ Le [modèle de document .NET](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKMidLevel.html), nommé [DocumentModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DocumentModel.html)dans le code.
+ Le [modèle de persistance des objets .NET](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKHighLevel.html), nommé [DataModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DataModel.html)dans le code. 

Pour obtenir des informations détaillées sur ces modes de programmation, consultez [DynamoDB](dynamodb-intro.md) ce guide.

#### Modèle de document : exception mise à jour pour l'interface simulée `IAmazonDynamoDB`
<a name="w2aac25c11c35b7b1b9"></a>

Dans le modèle de document antérieur à la version V4 du SDK, si une [table](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TTable.html) était initialisée avec une interface [IAmazonDynamoDB](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDB.html) simulée, elle retournait. `NullReferenceException` La version V4 du SDK revient à la `InvalidOperationException` place. `Table`Les méthodes asynchrones devraient fonctionner avec un client simulé, mais il se peut que vous rencontriez des exceptions lorsque vous appelez des méthodes synchrones depuis. `.NET/Core/Standard`

Pour plus d'informations sur cette modification, consultez le [PR 3388](https://github.com/aws/aws-sdk-net/pull/3388) sur GitHub.

#### Modèle de document : `FromJson` et `ToJson` méthodes
<a name="w2aac25c11c35b7b1c11"></a>

Les `ToJson` méthodes `FromJson` et de la classe [Document](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDocument.html) sont désormais utilisées à la `System.Text.Json` place LitJson de la sérialisation et ont LitJson été supprimées de la version 4 du SDK. L'un des avantages de son utilisation `System.Text.Json` est que cet analyseur prend en charge l'utilisation du `Decimal` type .NET, qui permet une plus grande précision pour les propriétés numériques à virgule flottante.

#### Modèle de persistance des objets : la `DynamoDBOperationConfig` classe
<a name="w2aac25c11c35b7b1c13"></a>

Dans le modèle de persistance des objets, les modifications suivantes ont été apportées à la classe [Dynamo DBOperation Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBOperationConfig.html) partagée :
+ La classe a été séparée en nouvelles classes spécifiques à l'opération [SaveConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TSaveConfig.html), telles que [LoadConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TLoadConfig.html), et. [QueryConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TQueryConfig.html) Les méthodes qui `DynamoDBOperationConfig` ont été marquées comme obsolètes sont susceptibles d'être supprimées à l'avenir.

  Pour plus d'informations sur cette modification, consultez le [PR 3421](https://github.com/aws/aws-sdk-net/pull/3421) sur GitHub.
+ Les `DisableFetchingTableMetadata` propriétés `MetadataCachingMode` et ont été supprimées de la classe. Ces propriétés n'étaient pas incluses dans les nouvelles classes spécifiques aux opérations mentionnées précédemment. [Les propriétés supprimées sont des paramètres au niveau de la table qui doivent être spécifiés sur la `Context` propriété globale de la classe [AWSConfigsDynamoDB ou sur la classe Dynamo](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html) Config. DBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html)

  Pour plus d'informations sur cette modification, consultez le [PR 3422](https://github.com/aws/aws-sdk-net/pull/3422) sur GitHub.
+ La classe n'hérite plus de la classe [Dynamo DBContext Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html). Cela vous empêche de transmettre un `DynamoDBOperationConfig` objet au constructeur de [Dynamo DBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContext.html), où certaines propriétés de la configuration spécifique à l'opération (telles que`OverrideTableName`) ne s'appliquent pas.

  Pour plus d'informations sur cette modification, consultez le [PR 3422](https://github.com/aws/aws-sdk-net/pull/3422) sur GitHub.

#### Modèle de persistance des objets : polymorphisme
<a name="w2aac25c11c35b7b1c15"></a>

La DBPolymorphic TypeAttribute classe [Dynamo](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBPolymorphicTypeAttribute.html) a été ajoutée au modèle de persistance des objets. Cette classe permet de prendre en charge la sérialisation et la désérialisation des types polymorphes. Pour plus d'informations, consultez le [PR 3643](https://github.com/aws/aws-sdk-net/pull/3643) sur GitHub.

#### Modèle de document et modèle de persistance des objets : opérations simulables
<a name="w2aac25c11c35b7b1c17"></a>

De nouvelles interfaces spécifiques aux opérations ont été ajoutées pour permettre aux clients de simuler des opérations DynamoDB. Les méthodes d'usine de l'[IDynamoDBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDBContext.html)interface ont été mises à jour pour renvoyer les nouvelles interfaces.

Pour plus d'informations sur cette modification, consultez le [PR 3450](https://github.com/aws/aws-sdk-net/pull/3450) sur GitHub.
+ Modèle de persistance des objets
  + `BatchGet`Opérations simulées via les `IMultiTableBatchGet` interfaces `IBatchGet` et.
  + `BatchWrite`Opérations simulées via les `IMultiTableBatchWrite` interfaces `IBatchWrite` et.
  + `TransactGet`Opérations simulées via les `IMultiTableTransactGet` interfaces `ITransactGet` et.
  + `TransactWrite`Opérations simulées via les `IMultiTableTransactWrite` interfaces `ITransactWrite` et.
  + `Scan`Maquette et `Query` opérations via l'`IAsyncSearch`interface.
+ Modèle de document
  + `Table`Opérations simulées via l'`ITable`interface.
  + `Scan`Maquette et `Query` opérations via l'`ISearch`interface.
  + `TransactWrite`Opérations simulées via les `IMultiTableDocumentTransactWrite` interfaces `IDocumentTransactWrite` et.
  + `TransactGet`Opérations simulées via les `IMultiTableDocumentTransactGet` interfaces `IDocumentTransactGet` et.
  + `BatchWrite`Opérations simulées via les `IMultiTableDocumentBatchWrite` interfaces `IDocumentBatchWrite` et.
  + `BatchGet`Opérations simulées via les `IMultiTableDocumentBatchGet` interfaces `IDocumentBatchGet` et.

#### Modèle de document et modèle de persistance des objets : Support de l'AOT natif
<a name="w2aac25c11c35b7b1c19"></a>

L'une des limites de l'AOT natif est la prise en charge des types .NET imbriqués. Dans certains cas, ces types imbriqués peuvent passer inaperçus par le composant de découpage du compilateur .NET. Dans ce cas, il se peut que vous receviez une exception telle que : « `System.InvalidOperationException: Type <type> is unsupported, it cannot be instantiated.` »

Vous pouvez contourner cette limitation en ajoutant un élément dans `DynamicDependency` le chemin du code qui informe le trimmer de la dépendance à l'égard du sous-type. Le constructeur du type .NET de niveau supérieur en cours d'enregistrement est un endroit probable. L'exemple de code suivant montre comment utiliser l'`DynamicDependency`attribut :

```
[DynamoDBTable("TestTable")]
class TypeWithNestedTypeProperty
{
    [DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(SubType))]
    public TypeWithNestedTypeProperty()
    {

    }

    [DynamoDBHashKey]
    public string Id { get; set; }
    public string Name { get; set; }

    public SubType SubType { get; set; }
}

class SubType
{
    public string SubName { get; set; }
}
```

#### Dynamo DBStreams
<a name="w2aac25c11c35b7b1c21"></a>

[Dynamo DBStreams](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html) a été supprimé du package [AWSSDK.DynamoDB](https://www.nuget.org/packages/AWSSDK.DynamoDBv2) et est disponible dans son propre NuGet package, [AWSSDK.Dynamo, et possède son propre espace de noms DBStreams](https://www.nuget.org/packages/AWSSDK.DynamoDBStreams),. `Amazon.DynamoDBStreams`

#### Autoriser la suppression de la `TableNamePrefix` valeur
<a name="w2aac25c11c35b7b1c23"></a>

Vous pouvez désormais supprimer la valeur de la `TableNamePrefix` propriété dans la classe [Dynamo DBContext Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html) au niveau de l'opération individuelle. Pour plus d'informations sur cette modification, consultez le [PR 3476](https://github.com/aws/aws-sdk-net/pull/3476) sur GitHub.

#### propriété `RetrieveDateTimeInUtc`
<a name="w2aac25c11c35b7b1c25"></a>

Pour la classe [Dynamo DBContext Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html), la valeur par défaut de la `RetrieveDateTimeInUtc` propriété a été modifiée en`true`.

#### propriété `DynamoDBContextTableNamePrefix`
<a name="w2aac25c11c35b7b1c27"></a>

La `DynamoDBContextTableNamePrefix` propriété a été supprimée de la [AWSConfigsclasse DynamoDB](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html). Les utilisateurs doivent appeler `AWSConfigsDynamoDB.Context.TableNamePrefix` au lieu de 

## Modifications spécifiques à EC2
<a name="net-dg-v4-ec2-specific"></a>

Les modifications suivantes sont spécifiques à Amazon EC2. La plupart ou la totalité d'entre eux sont des changements radicaux.

### Ouvert pour voir les articles
<a name="w2aac25c11c39b5b1"></a>

#### `GetDecryptedPassword`
<a name="w2aac25c11c39b5b1b3"></a>

[L'`GetDecryptedPassword`extension pour Amazon EC2 a été déplacée vers un package d'extension distinct appelé AWSSDK .extensions.EC2. DecryptPassword](https://www.nuget.org/packages/AWSSDK.Extensions.EC2.DecryptPassword). [Ce changement vise à prendre en charge OpenSSL 3 et à devenir dépendant de .Cryptography. BouncyCastle](https://www.nuget.org/packages/BouncyCastle.Cryptography)

Le code source de ce package se trouve GitHub sur[https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword).

#### Support pour Amazon EC2 IMDSv1
<a name="w2aac25c11c39b5b1b5"></a>

Support pour le service de métadonnées d'instance version 1 (IMDSv1) a été supprimé. La version 4 du SDK utilise toujours le service de métadonnées d'instance version 2 (IMDSv2) lors de la récupération des informations d'identification et d'autres métadonnées à partir de l'IMDS. Pour plus d'informations sur l'IMDS, consultez la section [Utiliser l'IMDS dans le](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) guide de l'utilisateur [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/).

#### Éléments de programmation qui ont été modifiés ou supprimés
<a name="w2aac25c11c39b5b1b7"></a>
+ L'espace de `Amazon.EC2.Import` noms et le code dans leur intégralité ont été supprimés.
+ L'espace de `Amazon.EC2.Util` noms et le code complets ont été supprimés, y compris les utilitaires AMI utilisés pour rechercher EC2 AMIs pour Windows.
+ La `IpRanges` propriété obsolète a été supprimée de la [IpPermission](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TIpPermission.html)classe. Utilisez plutôt les `Ipv6Ranges` propriétés `Ipv4Ranges` or.
+ Les champs obsolètes suivants ont été supprimés de la [EC2InstanceMetadata](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TEC2InstanceMetadata.html)classe : `EC2_METADATA_SVC``EC2_METADATA_ROOT`,`EC2_USERDATA_ROOT`,`EC2_DYNAMICDATA_ROOT`, et`EC2_APITOKEN_URL`.

## Modifications spécifiques à S3
<a name="net-dg-v4-s3-specific"></a>

Les modifications suivantes sont spécifiques à Amazon S3. La plupart ou la totalité d'entre eux sont des changements radicaux.

### Ouvert pour voir les articles
<a name="w2aac25c11c43b5b1"></a>

#### Région AWS us-east-1
<a name="w2aac25c11c43b5b1b3"></a>

Les clients du service Amazon S3 configurés pour la `us-east-1` région ne peuvent plus accéder aux compartiments des autres régions. Les compartiments doivent être accessibles avec des clients du service S3 configurés pour la région dans laquelle se trouve le compartiment.

Pour plus d'informations sur cette modification, consultez le billet de blog [Preview 4 of AWS SDK pour .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/).

#### Client de chiffrement S3
<a name="w2aac25c11c43b5b1b5"></a>

Le client de chiffrement Amazon S3, défini dans l'espace de `Amazon.S3.Encryption` noms, a été supprimé du package [AWSSDK.S3.](https://www.nuget.org/packages/AWSSDK.S3) Ce client a été déplacé vers son propre package appelé [Amazon.Extensions.S3.Encryption](https://www.nuget.org/packages/Amazon.Extensions.S3.Encryption), et sa documentation se trouve à l'adresse. [https://aws.github.io/amazon-s3-encryption-client-dotnet/api/Amazon.Extensions.S3.Encryption.html](https://aws.github.io/amazon-s3-encryption-client-dotnet/api/Amazon.Extensions.S3.Encryption.html) Pour plus d'informations sur la migration, consultez[Migration du client de chiffrement S3 (V1 vers V2)](s3-encryption-migration-v1-v2.md). Pour plus d'informations sur le chiffrement S3, consultez la section [Algorithmes de chiffrement pris en charge](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide/encryption-algorithms.html) dans le manuel [Amazon S3 Encryption Client Developer Guide](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide).

#### Directive de balisage S3 pour `CopyObject`
<a name="w2aac25c11c43b5b1b7"></a>

La `TaggingDirective` propriété a été exposée en tant que propriété publique de la [CopyObjectRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html)classe, qui est utilisée par `AmazonS3Client.CopyObject` les méthodes. Cette propriété correspond au `x-amz-tagging-directive` paramètre Amazon S3, tel que défini dans l'[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)action.

La directive de balisage n'est plus automatiquement définie sur COPY. Si un développeur ne spécifie pas de directive de balisage, le backend S3 suppose automatiquement qu'il s'agit de COPY, mais si un développeur définit explicitement la propriété sur null, la valeur n'est pas définie du tout.

#### La `UseArnRegion` propriété pour la configuration S3
<a name="w2aac25c11c43b5b1b9"></a>

La `UseArnRegion` propriété de la classe [Amazon.S3.AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) a été mise à jour de telle sorte que la variable d'`AWS_S3_USE_ARN_REGION`environnement a priorité sur le paramètre du fichier partagé. `s3_use_arn_region` AWS `config` Pour plus d'informations sur ces variables et paramètres, consultez la section [Référence des paramètres](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html) dans le [Guide de référence des outils AWS SDKs et des outils](https://docs.aws.amazon.com/sdkref/latest/guide/).

#### Principales barres obliques pour les méthodes et `CopyObject` `CopyPart`
<a name="w2aac25c11c43b5b1c11"></a>

Les barres obliques en tête ne seront plus supprimées pour Amazon S3 `CopyObject` et ses méthodes. `CopyPart` La `DisableTrimmingLeadingSlash` propriété a été supprimée des [CopyPartRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html)classes [CopyObjectRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html)et.

#### Les `DoesS3BucketExist...` méthodes
<a name="w2aac25c11c43b5b1c13"></a>

[Les `DoesS3BucketExistAsync` méthodes `DoesS3BucketExist` et méthodes obsolètes ont été supprimées de la classe [AmazonS3Util](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Util.html), qui implémente l'interface AmazonS3. ICore](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TICoreS3.html) Ces méthodes ont été supprimées car elles utilisent toujours le protocole HTTP. Utilisez plutôt [DoESS3 BucketExist V2 et [DoESS3 V2Async BucketExist](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2AsyncIS3String.html)](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2IS3String.html).

#### Le SDK utilise toujours SigV4
<a name="w2aac25c11c43b5b1c15"></a>

La version 4 du utilise AWS SDK pour .NET toujours la version 4 de AWS Signature (SigV4) pour les demandes de signature. Cette modification entraîne les modifications connexes suivantes :
+ La `UseSignatureVersion4` propriété de la classe [AWSConfigsS3](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsS3.html) a été supprimée.
+ `SignatureVersion`Propriété de l'[Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)la classe a été supprimée. Cette propriété a été utilisée uniquement par Amazon S3 à des fins de rétrocompatibilité.
+ La `RegionEndpoint.Endpoint` classe a été supprimée. Cela inclut la `SignatureVersionOverride` propriété, qui a été utilisée pour remplacer les versions de signature pour Amazon S3. Utilisez plutôt la `client.DetermineServiceOperationEndPoint()` méthode spécifique au service.
+ Méthodes mises à jour [AmazonS3Util. PostUpload](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilPostUploadS3PostUploadRequest.html)et [S3PostUploadSignedPolicy. GetSignedPolicy](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3PostUploadSignedPolicyGetSignedPolicyStringAWSCredentialsString.html)pour utiliser SigV4. En conséquence, la `S3PostUploadSignedPolicy.GetSignedPolicyV4` méthode a été supprimée car elle exécute `GetSignedPolicy` désormais la même fonction. En outre, un troisième paramètre `GetSignedPolicy` a été attribué pour le point de terminaison de la région.

#### Les `PutACL` méthodes `GetACL` et
<a name="w2aac25c11c43b5b1c17"></a>

Les `PutACL` méthodes `GetACL` et de la classe [AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html) ont été marquées comme obsolètes. Pour accéder aux fonctionnalités de ces méthodes, utilisez plutôt les nouvelles méthodes suivantes : `GetBucketACL``PutBucketACL`,`GetObjectACL`, et`PutObjectACL`.

#### Éléments de programmation obsolètes supprimés
<a name="w2aac25c11c43b5b1c19"></a>

Un certain nombre d'éléments de programmation de l'implémentation d'Amazon S3 ont été supprimés de la version V4 du SDK, notamment les valeurs d'énumération, les types, les méthodes, les espaces de noms, etc. Ils sont énumérés ci-dessous, s'ils ne l'ont pas déjà été, ainsi que les mesures que vous pouvez prendre pour faciliter leur suppression.
+ La `DisableMD5Stream` propriété a été supprimée de la [TransferUtilityUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityUploadRequest.html)classe. Utilisez plutôt la propriété `DisableDefaultChecksumValidation`.

  De plus, la `CalculateContentMD5Header` propriété a été supprimée de la `TransferUtilityUploadRequest` classe. Cette propriété n'est plus nécessaire car le SDK calcule une somme de contrôle par défaut.
+ Les `ServerSideEncryptionKeyManagementServiceKeyId` propriétés `ServerSideEncryptionMethod` et ont été supprimées de la [CopyPartRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html)classe. Utilisez plutôt les propriétés portant le même nom dans la [InitiateMultipartUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TInitiateMultipartUploadRequest.html)classe, qui est utilisée dans certaines `InitiateMultipartUpload...` méthodes de la classe [AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html).
+ La `Expires` propriété a été supprimée de la [GetObjectResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TGetObjectResponse.html)classe. Utilisez plutôt la propriété `ExpiresString`. La chaîne n'est peut-être pas dans un format d'horodatage valide. Votre code doit donc utiliser `TryParse` cette méthode lors de la conversion en un. `DateTime`
+  Région AWS Les identifiants obsolètes ont été supprimés de l'énumération [S3Region](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Region.html).
+ La `Prefix` propriété a été supprimée de la [LifecycleRule](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TLifecycleRule.html)classe. Utilisez plutôt la propriété `Filter`.

  De plus, les `Transition` propriétés `NoncurrentVersionTransition` et ont été supprimées de la `LifecycleRule` classe. Utilisez plutôt `NoncurrentVersionTransitions` les `Transitions` collections et.
+ La `Event` propriété a été supprimée de la [TopicConfiguration](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTopicConfiguration.html)classe. Utilisez plutôt la `Events` collection.
+ CalculateContentMD5Propriété d'en-tête. Il n'est plus nécessaire de définir cette propriété car le SDK calcule une somme de contrôle par défaut.
+ La `Bucket` propriété a été supprimée de la [SelectObjectContentRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TSelectObjectContentRequest.html)classe. Utilisez plutôt la propriété `BucketName`.
+ La `NumberOfUploadThreads` propriété a été supprimée de la [TransferUtilityConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityConfig.html)classe. Utilisez plutôt `ConcurrentServiceRequests` la propriété.

## Éléments de programmation qui ont été supprimés
<a name="net-dg-v4-removed"></a>

Un certain nombre d'éléments de programmation ont été supprimés de la version V4 du SDK, notamment les valeurs d'énumération, les types, les méthodes, les espaces de noms, etc. Ils sont énumérés ci-dessous, s'ils ne l'ont pas déjà été, ainsi que les mesures que vous pouvez prendre pour faciliter leur suppression.

### Ouvert pour voir les articles
<a name="w2aac25c11c47b5b1"></a>

#### L'espace de noms `Amazon.Auth.AccessControlPolicy.ActionIdentifiers`
<a name="w2aac25c11c47b5b1b3"></a>

L'`Amazon.Auth.AccessControlPolicy.ActionIdentifiers`espace de noms a été supprimé. Cela inclut les identificateurs d'action IAM, qui ont été définis dans la `IdentityandAccessManagementActionIdentifiers` classe. Le code qui utilise ces identificateurs d'action doit être modifié pour utiliser les valeurs de chaîne du nom de l'action.

Pour plus d'informations, consultez la section [Présentation [Création de politiques gérées par IAM à partir de JSON](iam-policies-create-json.md) des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le [guide de l'utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

#### La classe `ClientConfig`
<a name="w2aac25c11c47b5b1b7"></a>

L'[Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)class est la classe de base des classes de configuration des clients de service telles que [AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html). Les éléments de programmation suivants ont été supprimés de cette classe.
+ Les `DetermineDnsSuffix` méthodes `DetermineServiceURL` et ont été supprimées. Utilisez plutôt la `DetermineServiceOperationEndpoint` méthode du client de service ; par exemple, [AmazonS3Client. DetermineServiceOperationEndpoint](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3DetermineServiceOperationEndpointWebServiceRequest.html).
+ La `ReadEntireResponse` propriété a été supprimée. Utilisez plutôt l'une des options suivantes :
  + La `LogResponses` propriété du [AWSConfigs. LoggingConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TLoggingConfig.html)classe.
  + `LogResponse`Propriété de la configuration du client ; par exemple, [AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html).

#### L'espace de noms `Amazon.Runtime`
<a name="w2aac25c11c47b5b1c11"></a>

L'espace de noms [Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) a été mis à jour comme suit :
+ La `ECSTaskCredentials` classe obsolète a été supprimée de l'espace de noms. Utilisez plutôt le [GenericContainerCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TGenericContainerCredentials.html)fournisseur, qui prend également en charge [Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html).
+ Les `StoredProfileCredentials` classes obsolètes `StoredProfileAWSCredentials` ont été supprimées de l'espace de noms. Utilisez le [SDKCredentialsfichier réseau](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) ou la [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html)classe d'[Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)espace de noms à la place.
+ La `HasCachedAccessTokenAvailable` méthode obsolète de la [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html)classe a été supprimée de l'espace de noms.
+ La `EnvironmentAWSCredentials` classe obsolète a été supprimée de l'espace de noms. Utilisez plutôt la classe [AppConfigAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAppConfigAWSCredentials.html).
+ La `StoredProfileFederatedCredentials` classe obsolète a été supprimée de l'espace de noms. Utilisez plutôt la AWSCredentials classe [Federated](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html).
+ Les classes obsolètes suivantes ont été supprimées de l'espace de noms :`EnvironmentVariableAWSEndpointDiscoveryEnabled`,`ProfileAWSEndpointDiscoveryEnabled`, et`FallbackEndpointDiscoveryEnabledFactory`.
+ La `UseSigV4` propriété obsolète a été supprimée de la [AmazonWebServiceRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequest.html)classe. Utilisez plutôt la propriété `SignatureVersion`.
+ La `ProfileIniFile` classe de l'espace de `Amazon.Runtime.Internal.Util` noms possède une méthode surchargée appelée. `TryGetSection` Les versions de la méthode qui ne prennent pas en charge le `out` paramètre for `nestedProperties` ont été supprimées de la classe.
+ La `EventBridgeSigner` classe obsolète de l'espace de `Amazon.Runtime.Internal.Auth` noms a été supprimée.
+ La propriété de `Parameters` dictionnaire obsolète a été supprimée de la [WebServiceRequestEventArgs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequestEventArgs.html)classe. Utilisez plutôt la propriété `ParameteCollection`.

#### BouncyCastle
<a name="w2aac25c11c47b5b1c13"></a>

La copie source de BouncyCastle a été supprimée de la version V4 du SDK.

#### La classe `StoredProfileSAMLCredentials`
<a name="w2aac25c11c47b5b1c15"></a>

La `StoredProfileSAMLCredentials` classe obsolète d'[Amazon. SecurityTokenL'espace de noms .SAML](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityTokenSAML.html) a été supprimé. Utilisez plutôt la AWSCredentials classe [Federated](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html) dans l'espace de noms [Amazon.Runtime.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html)

#### La classe `AWSSDKUtils`
<a name="w2aac25c11c47b5b1c17"></a>

Les méthodes suivantes ont été supprimées de la [AWSSDKUtils](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TAWSSDKUtils.html)classe : `ResolveResourcePath``ProtectEncodedSlashUrlEncode`, et`ConvertToUnixEpochMilliSeconds`.

#### La classe `ProfileManager`
<a name="w2aac25c11c47b5b1c19"></a>

La `ProfileManager` classe obsolète a été supprimée de l'espace de noms [Amazon.Util.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/NUtil.html) Utilisez le [SDKCredentialsfichier réseau](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) ou la [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html)classe d'[Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)espace de noms à la place.

#### La classe `AWSConfigs`
<a name="w2aac25c11c47b5b1c21"></a>

Les propriétés obsolètes suivantes ont été supprimées de la [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)classe :`Logging`,`ResponseLogging`, et`LogMetrics`. Utilisez plutôt la propriété `LoggingConfig`.

#### La classe `ConditionFactory`
<a name="w2aac25c11c47b5b1c23"></a>

La méthode avec la signature suivante a été supprimée de la [ConditionFactory](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/TConditionFactory.html)classe :`NewCondition(ConditionFactory.DateComparisonType, DateTime)`. Utilisez plutôt la [NewConditionUtc](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/MConditionFactoryNewConditionUtcConditionFactoryDateComparisonTypeDateTime.html)méthode.

#### CloudFront Utilitaires Amazon
<a name="w2aac25c11c47b5b1c25"></a>

L'espace de `Amazon.CloudFront.Util` noms et la `AmazonCloudFrontUtil` classe obsolètes ont été supprimés.

#### AWS IoT
<a name="w2aac25c11c47b5b1c27"></a>

Dans le [ListPrincipalThingsResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TListPrincipalThingsResponse.html)cours, une ancienne personnalisation pour une `NextToken` dérogation a été supprimée au profit de la pagination.

#### AWS Lambda
<a name="w2aac25c11c47b5b1c29"></a>

Les `Invoke...` méthodes suivantes de la [AmazonLambdaClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Lambda/TLambdaClient.html)classe ont été supprimées car les noms prêtaient à confusion.
+ La méthode V3 avec la signature suivante a été supprimée :`InvokeAsyncResponse InvokeAsync(InvokeAsyncRequest)`. Il s'agit d'une méthode synchrone dans la version 3 du SDK. Utilisez `InvokeResponse Invoke(InvokeRequest)` plutôt (pour le traitement synchrone) ou `Task InvokeAsync(InvokeRequest, CancellationToken)` (pour le traitement asynchrone).
+ La méthode V3 avec la signature suivante a été supprimée :`Task InvokeAsyncAsync(InvokeAsyncRequest, CancellationToken)`. Il s'agit d'une méthode asynchrone dans la version 3 du SDK. Utilisez `Task InvokeAsync(InvokeRequest, CancellationToken)` à la place.

#### Amazon SageMaker Runtime
<a name="w2aac25c11c47b5b1c31"></a>

Les constructeurs obsolètes de la [PayloadPart](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SageMakerRuntime/TPayloadPart.html)classe ont été supprimés.

# 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).