La version 4 (V4) du AWS SDK pour .NET est sortie !
Pour plus d'informations sur les modifications majeures et la migration de vos applications, consultez la rubrique relative à la migration.
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 vers la version 4 du AWS SDK pour .NET
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
-
Le billet de blog Preview 1 of AWS SDK pour .NET V4
. -
Le billet de blog Preview 4 of AWS SDK pour .NET V4
. -
Le billet de blog Disponibilité générale de la AWS SDK pour .NET version 4.0
.
.NET Framework
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.
Types de valeurs
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 :
-
boola été changé enbool? -
doublea été changé endouble? -
inta été changé enint? -
floata été changé enfloat? -
longa été changé enlong? -
Datetimea été changé enDatetime?
Pour plus d'informations sur cette modification, consultez le billet de blog Preview 1 of AWS SDK pour .NET
V4
Collections
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 surnull. 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
AWS Security Token Service (STS)
-
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-1région par défaut lors de l'exécution sur la partition publique, quelle que soit la région configurée. -
L'
StsRegionalEndpointsValueénumérationL'
StsRegionalEndpointsValueénumération a été supprimée de l'espace de noms Amazon.Runtime. Tout code utilisant cette énumération doit être supprimé. -
La classe
STSAssumeRoleAWSCredentialsLe fournisseur d'informations d'identification STS assume le rôle obsolète
STSAssumeRoleAWSCredentialsa été supprimé d'Amazon. SecurityTokenespace de noms. Utilisez plutôt AssumeRoleAWSCredentialsdepuis Amazon.Runtime.
Changements liés à ClientConfig
L'Amazon.Runtime. ClientConfigclass est la classe de base des classes de configuration des clients de service telles que AmazonS3Config. 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
RetryModepropriété est auStandardlieu de.LegacyPar conséquent, laLegacyvaleur a été supprimée d'Amazon.Runtime. RequestRetryModeénum. -
Mode de configuration par défaut
La valeur par défaut de la
DefaultConfigurationModepropriété est auStandardlieu de.LegacyPar conséquent, laLegacyvaleur a été supprimée d'Amazon.Runtime. DefaultConfigurationModeénum. -
La
ReadWriteTimeoutpropriétéLa
ReadWriteTimeoutproprié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
Les AWSSDK.Extensions. NETCoreLe NuGet package .Setup
-
La classe
DefaultClientConfigLa
DefaultClientConfigclasse n'est plus héritée de la classe de base de configuration du client de service Amazon.Runtime. ClientConfig. Les propriétés pertinentes deClientConfigont été répliquées àDefaultClientConfigl'aide de types de valeurs nullables. Cette modification nous permet de détecter le moment où une valeur a été définieDefaultClientConfiglors 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.HttpClientFactoryest plus disponible dans la version 4. UtilisezAWSConfigs.HttpClientFactoryà la place. Pour plus d'informations, consultez le GitHub numéro 3790. Cette modification a également entraîné la suppression des surcharges génériques de la méthode d'
IConfiguration.GetAWSOptionsextension 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. -
AOT natif
Un nouveau mécanisme de création de clients de service utilisant les méthodes d'interface statique C# 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, consultezAWSSDK.Prolongations. NETCore.Configuration et IConfiguration. Le code source de ce package se trouve GitHub surhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup
CookieSigner et UrlSigner
Les UrlSigner extensions CookieSigner et pour Amazon CloudFront ont été déplacées vers un package d'extension distinct appelé AWSSDK.Extensions. CloudFront.Signataires
Le code source de ce package se trouve GitHub surhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers
DateTime par rapport à UTC DateTime
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:
-
La
StartTimepropriété obsolète a été supprimée et le nom de laStartTimeUtcpropriété a été changé en « StartTime ». -
La
EndTimepropriété obsolète a été supprimée et le nom de laEndTimeUtcpropriété a été changé en « EndTime ».
-
-
-
La
ValidFrompropriété obsolète a été supprimée et le nom de laValidFromUtcpropriété a été changé en « ValidFrom ». -
La
ValidUntilpropriété obsolète a été supprimée et le nom de laValidUntilUtcproprié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
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
Les ConvertFromUnixEpochMillisecondsméthodes ConvertFromUnixEpochSecondset, 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.
Journalisation
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 AWSConfigsclasse sur LoggingOptions.Console ouLoggingOptions.SystemDiagnostics. L'LoggingOptionsoption 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.Logginglog4net AWSSDK ILoggerEnsemble d'adaptateursMicrosoft.Extensions.Logging Les exemples de code suivants vous montrent comment configurer la journalisation dans ces deux cas.
Ajoutez le AWSSDK.Extensions.Logging.Log4NetAdaptor NuGet package et appelez la ConfigureAWSSDKLogging méthode statique à partir deLog4NetAWSExtensions.
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));
Ajoutez le AWSSDK.Extensions.Logging.ILoggerAdaptor NuGet package et appelez la méthode d'ConfigureAWSSDKLoggingextension depuis l'ILoggerFactoryinterface.
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.Services.GetRequiredService<ILoggerFactory>() .ConfigureAWSSDKLogging();
Support pour HTTP 2
Support du protocole HTTP 2 a été ajouté pour permettre le streaming bidirectionnel. Pour de plus amples informations, veuillez consulter Support pour HTTP 2.
Authentification unique
La valeur par défaut de la SupportsGettingNewToken propriété de la classe SSOAWSCredentialsOptions est passée de true àfalse. Si certaines applications utilisent la SSOAWSCredentialsclasse 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 dansTutoriel pour l'authentification unique utilisant uniquement des applications .NET. Pour plus d'informations, voir PR 3737
Modifications spécifiques à DynamoDB
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 intitulé Preview
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, nommé DocumentModeldans le code.
-
Le modèle de persistance des objets .NET, nommé DataModeldans le code.
Pour obtenir des informations détaillées sur ces modes de programmation, consultez DynamoDB ce guide.
Modèle de document : exception mise à jour pour l'interface simulée IAmazonDynamoDB
Dans le modèle de document antérieur à la version V4 du SDK, si une table était initialisée avec une interface IAmazonDynamoDB simulée, elle retournait. NullReferenceException La version V4 du SDK revient à la InvalidOperationException place. TableLes 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
Modèle de document : FromJson et ToJson méthodes
Les ToJson méthodes FromJson et de la classe Document 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
Dans le modèle de persistance des objets, les modifications suivantes ont été apportées à la classe Dynamo DBOperation Config partagée :
-
La classe a été séparée en nouvelles classes spécifiques à l'opération SaveConfig, telles que LoadConfig, et. QueryConfig Les méthodes qui
DynamoDBOperationConfigont é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
sur GitHub. -
Les
DisableFetchingTableMetadatapropriétésMetadataCachingModeet 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 laContextpropriété globale de la classe AWSConfigsDynamoDB ou sur la classe Dynamo Config. DBContextPour plus d'informations sur cette modification, consultez le PR 3422
sur GitHub. -
La classe n'hérite plus de la classe Dynamo DBContext Config. Cela vous empêche de transmettre un
DynamoDBOperationConfigobjet au constructeur de Dynamo DBContext, où certaines propriétés de la configuration spécifique à l'opération (telles queOverrideTableName) ne s'appliquent pas.Pour plus d'informations sur cette modification, consultez le PR 3422
sur GitHub.
Modèle de persistance des objets : polymorphisme
La DBPolymorphic TypeAttribute classe Dynamo 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
Modèle de document et modèle de persistance des objets : opérations simulables
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'IDynamoDBContextinterface ont été mises à jour pour renvoyer les nouvelles interfaces.
Pour plus d'informations sur cette modification, voir PR 3450
-
Modèle de persistance des objets
-
BatchGetOpérations simulées via lesIMultiTableBatchGetinterfacesIBatchGetet. -
BatchWriteOpérations simulées via lesIMultiTableBatchWriteinterfacesIBatchWriteet. -
TransactGetOpérations simulées via lesIMultiTableTransactGetinterfacesITransactGetet. -
TransactWriteOpérations simulées via lesIMultiTableTransactWriteinterfacesITransactWriteet. -
ScanMaquette etQueryopérations via l'IAsyncSearchinterface.
-
-
Modèle de document
-
TableOpérations simulées via l'ITableinterface. -
ScanMaquette etQueryopérations via l'ISearchinterface. -
TransactWriteOpérations simulées via lesIMultiTableDocumentTransactWriteinterfacesIDocumentTransactWriteet. -
TransactGetOpérations simulées via lesIMultiTableDocumentTransactGetinterfacesIDocumentTransactGetet. -
BatchWriteOpérations simulées via lesIMultiTableDocumentBatchWriteinterfacesIDocumentBatchWriteet. -
BatchGetOpérations simulées via lesIMultiTableDocumentBatchGetinterfacesIDocumentBatchGetet.
-
Modèle de document et modèle de persistance des objets : Support de l'AOT natif
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'DynamicDependencyattribut :
[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
Dynamo DBStreams a été supprimé du package AWSSDK.DynamoDBAmazon.DynamoDBStreams
Autoriser la suppression de la TableNamePrefix valeur
Vous pouvez désormais supprimer la valeur de la TableNamePrefix propriété dans la classe Dynamo DBContext Config au niveau de l'opération individuelle. Pour plus d'informations sur cette modification, consultez le PR 3476
propriété RetrieveDateTimeInUtc
Pour la classe Dynamo DBContext Config, la valeur par défaut de la RetrieveDateTimeInUtc propriété a été modifiée entrue.
propriété DynamoDBContextTableNamePrefix
La DynamoDBContextTableNamePrefix propriété a été supprimée de la AWSConfigsclasse DynamoDB. Les utilisateurs doivent appeler AWSConfigsDynamoDB.Context.TableNamePrefix au lieu de
Modifications spécifiques à EC2
Les modifications suivantes sont spécifiques à Amazon EC2. La plupart ou la totalité d'entre eux sont des changements radicaux.
GetDecryptedPassword
L'GetDecryptedPasswordextension pour Amazon EC2 a été déplacée vers un package d'extension distinct appelé AWSSDK.Extensions. EC2. DecryptPassword
Le code source de ce package se trouve GitHub surhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword
Support pour Amazon EC2 IMDSv1
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 guide de EC2 l'utilisateur Amazon.
Éléments de programmation qui ont été modifiés ou supprimés
-
L'espace de
Amazon.EC2.Importnoms et le code dans leur intégralité ont été supprimés. -
L'ensemble de
Amazon.EC2.Utill'espace de noms et du code a été supprimé, y compris les utilitaires AMI utilisés EC2 AMIs pour rechercher Windows. -
La
IpRangespropriété obsolète a été supprimée de la IpPermissionclasse. Utilisez plutôt lesIpv6RangespropriétésIpv4Rangesor. -
Les champs obsolètes suivants ont été supprimés de la EC2InstanceMetadataclasse :
EC2_METADATA_SVCEC2_METADATA_ROOT,EC2_USERDATA_ROOT,EC2_DYNAMICDATA_ROOT, etEC2_APITOKEN_URL.
Modifications spécifiques à S3
Les modifications suivantes sont spécifiques à Amazon S3. La plupart ou la totalité d'entre eux sont des changements radicaux.
Région AWS us-east-1
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
Client de chiffrement S3
Le client de chiffrement Amazon S3, défini dans l'espace de Amazon.S3.Encryption noms, a été supprimé du package AWSSDK.S3.
Directive de balisage S3 pour CopyObject
La TaggingDirective propriété a été exposée en tant que propriété publique de la CopyObjectRequestclasse, 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'CopyObjectaction.
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
La UseArnRegion propriété de la classe Amazon.S3.AmazonS3Config a été mise à jour de telle sorte que la variable d'AWS_S3_USE_ARN_REGIONenvironnement 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 dans le Guide de référence des outils AWS SDKs et des outils.
Principales barres obliques pour les méthodes et CopyObjectCopyPart
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 CopyPartRequestclasses CopyObjectRequestet.
Les DoesS3BucketExist... méthodes
Les DoesS3BucketExistAsync méthodes DoesS3BucketExist et méthodes obsolètes ont été supprimées de la classe AmazonS3Util, qui implémente l'interface AmazonS3. ICore Ces méthodes ont été supprimées car elles utilisent toujours le protocole HTTP. Utilisez plutôt DoESS3 BucketExist V2 et DoESS3 V2Async BucketExist.
Le SDK utilise toujours SigV4
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
UseSignatureVersion4propriété de la classe AWSConfigsS3 a été supprimée. -
SignatureVersionPropriété de l'Amazon.Runtime. ClientConfigla classe a été supprimée. Cette propriété a été utilisée uniquement par Amazon S3 à des fins de rétrocompatibilité. -
La
RegionEndpoint.Endpointclasse a été supprimée. Cela inclut laSignatureVersionOverridepropriété, qui a été utilisée pour remplacer les versions de signature pour Amazon S3. Utilisez plutôt laclient.DetermineServiceOperationEndPoint()méthode spécifique au service. -
Méthodes mises à jour AmazonS3Util. PostUploadet S3PostUploadSignedPolicy. GetSignedPolicypour utiliser SigV4. En conséquence, la
S3PostUploadSignedPolicy.GetSignedPolicyV4méthode a été supprimée car elle exécuteGetSignedPolicydésormais la même fonction. En outre, un troisième paramètreGetSignedPolicya été attribué pour le point de terminaison de la région.
Les PutACL méthodes GetACL et
Les PutACL méthodes GetACL et de la classe AmazonS3Client 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 : GetBucketACLPutBucketACL,GetObjectACL, etPutObjectACL.
Éléments de programmation obsolètes supprimés
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
DisableMD5Streampropriété a été supprimée de la TransferUtilityUploadRequestclasse. Utilisez plutôt la propriétéDisableDefaultChecksumValidation.De plus, la
CalculateContentMD5Headerpropriété a été supprimée de laTransferUtilityUploadRequestclasse. Cette propriété n'est plus nécessaire car le SDK calcule un checksum par défaut. -
Les
ServerSideEncryptionKeyManagementServiceKeyIdpropriétésServerSideEncryptionMethodet ont été supprimées de la CopyPartRequestclasse. Utilisez plutôt les propriétés portant le même nom dans la InitiateMultipartUploadRequestclasse, qui est utilisée dans certainesInitiateMultipartUpload...méthodes de la classe AmazonS3Client. -
La
Expirespropriété a été supprimée de la GetObjectResponseclasse. 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 utiliserTryParsecette 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.
-
La
Prefixpropriété a été supprimée de la LifecycleRuleclasse. Utilisez plutôt la propriétéFilter.De plus, les
TransitionpropriétésNoncurrentVersionTransitionet ont été supprimées de laLifecycleRuleclasse. Utilisez plutôtNoncurrentVersionTransitionslesTransitionscollections et. -
La
Eventpropriété a été supprimée de la TopicConfigurationclasse. Utilisez plutôt laEventscollection. -
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
Bucketpropriété a été supprimée de la SelectObjectContentRequestclasse. Utilisez plutôt la propriétéBucketName. -
La
NumberOfUploadThreadspropriété a été supprimée de la TransferUtilityConfigclasse. Utilisez plutôtConcurrentServiceRequestsla propriété.
Éléments de programmation qui ont été supprimés
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.
L'espace de noms Amazon.Auth.AccessControlPolicy.ActionIdentifiers
L'Amazon.Auth.AccessControlPolicy.ActionIdentifiersespace de noms a été supprimé. Cela inclut les identifiants 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 des politiques JSON dans le guide de l'utilisateur IAM.
La classe ClientConfig
L'Amazon.Runtime. ClientConfigclass est la classe de base des classes de configuration des clients de service telles que AmazonS3Config. Les éléments de programmation suivants ont été supprimés de cette classe.
-
Les
DetermineDnsSuffixméthodesDetermineServiceURLet ont été supprimées. Utilisez plutôt laDetermineServiceOperationEndpointméthode du client de service ; par exemple, AmazonS3Client. DetermineServiceOperationEndpoint. -
La
ReadEntireResponsepropriété a été supprimée. Utilisez plutôt l'une des options suivantes :-
La
LogResponsespropriété du AWSConfigs. LoggingConfigclasse. -
LogResponsePropriété de la configuration du client ; par exemple, AmazonS3Config.
-
L'espace de noms Amazon.Runtime
L'espace de noms Amazon.Runtime a été mis à jour comme suit :
-
La
ECSTaskCredentialsclasse obsolète a été supprimée de l'espace de noms. Utilisez plutôt le GenericContainerCredentialsfournisseur, qui prend également en charge Amazon EKS Pod Identities. -
Les
StoredProfileCredentialsclasses obsolètesStoredProfileAWSCredentialsont été supprimées de l'espace de noms. Utilisez le SDKCredentialsfichier réseau ou la SharedCredentialsFileclasse d'Amazon.Runtime. CredentialManagementespace de noms à la place. -
La
HasCachedAccessTokenAvailableméthode obsolète de la SSOAWSCredentialsclasse a été supprimée de l'espace de noms. -
La
EnvironmentAWSCredentialsclasse obsolète a été supprimée de l'espace de noms. Utilisez plutôt la classe AppConfigAWSCredentials. -
La
StoredProfileFederatedCredentialsclasse obsolète a été supprimée de l'espace de noms. Utilisez plutôt la AWSCredentials classe Federated. -
Les classes obsolètes suivantes ont été supprimées de l'espace de noms :
EnvironmentVariableAWSEndpointDiscoveryEnabled,ProfileAWSEndpointDiscoveryEnabled, etFallbackEndpointDiscoveryEnabledFactory. -
La
UseSigV4propriété obsolète a été supprimée de la AmazonWebServiceRequestclasse. Utilisez plutôt la propriétéSignatureVersion. -
La
ProfileIniFileclasse de l'espace deAmazon.Runtime.Internal.Utilnoms possède une méthode surchargée appelée.TryGetSectionLes versions de la méthode qui ne prennent pas en charge leoutparamètre fornestedPropertiesont été supprimées de la classe. -
La
EventBridgeSignerclasse obsolète de l'espace deAmazon.Runtime.Internal.Authnoms a été supprimée. -
La propriété de
Parametersdictionnaire obsolète a été supprimée de la WebServiceRequestEventArgsclasse. Utilisez plutôt la propriétéParameteCollection.
BouncyCastle
La copie source de BouncyCastle a été supprimée de la version V4 du SDK.
La classe StoredProfileSAMLCredentials
La StoredProfileSAMLCredentials classe obsolète d'Amazon. SecurityTokenL'espace de noms .SAML a été supprimé. Utilisez plutôt la AWSCredentials classe Federated dans l'espace de noms Amazon.Runtime.
La classe AWSSDKUtils
Les méthodes suivantes ont été supprimées de la AWSSDKUtilsclasse : ResolveResourcePathProtectEncodedSlashUrlEncode, etConvertToUnixEpochMilliSeconds.
La classe ProfileManager
La ProfileManager classe obsolète a été supprimée de l'espace de noms Amazon.Util. Utilisez le SDKCredentialsfichier réseau ou la SharedCredentialsFileclasse d'Amazon.Runtime. CredentialManagementespace de noms à la place.
La classe AWSConfigs
Les propriétés obsolètes suivantes ont été supprimées de la AWSConfigsclasse :Logging,ResponseLogging, etLogMetrics. Utilisez plutôt la propriété LoggingConfig.
La classe ConditionFactory
La méthode avec la signature suivante a été supprimée de la ConditionFactoryclasse :NewCondition(ConditionFactory.DateComparisonType, DateTime). Utilisez plutôt la NewConditionUtcméthode.
CloudFront Utilitaires Amazon
L'espace de Amazon.CloudFront.Util noms et la AmazonCloudFrontUtil classe obsolètes ont été supprimés.
AWS IoT
Dans le ListPrincipalThingsResponsecours, une ancienne personnalisation pour une NextToken dérogation a été supprimée au profit de la pagination.
AWS Lambda
Les Invoke... méthodes suivantes de la AmazonLambdaClientclasse 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. UtilisezInvokeResponse Invoke(InvokeRequest)plutôt (pour le traitement synchrone) ouTask 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. UtilisezTask InvokeAsync(InvokeRequest, CancellationToken)à la place.
Amazon SageMaker Runtime
Les constructeurs obsolètes de la PayloadPartclasse ont été supprimés.