Migrazione alla versione 4 di AWS SDK per .NET - SDK per .NET (anteprima della versione 4)

La SDK per .NET versione 4 (V4) è in anteprima, pertanto questo contenuto è soggetto a modifiche. Per informazioni sulle modifiche introduttive e sulla migrazione, consulta l'argomento sulla migrazione. Per i contenuti rilasciati, consulta invece la guida per gli sviluppatori della versione 3.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione alla versione 4 di AWS SDK per .NET

La SDK per .NET versione 4 (V4) presenta un numero significativo di modifiche sostanziali rispetto alla versione 3 (V3) dell'SDK. Questo argomento descrive le modifiche più importanti nella versione 4 e il possibile lavoro che potrebbe essere necessario eseguire per migrare l'ambiente o il codice dalla V3. Per ulteriori informazioni su altre modifiche degne di nota nell'SDK, consulta il seguente problema di development-tracker su:. GitHub https://github.com/aws/aws-sdk-net/issues/3362

.NET Framework 3.5

Il target DI.NET Framework 3.5 è stato rimosso dalla versione 4 del. AWS SDK per .NET Di conseguenza, l'SDK non supporta più .NET Framework 3.5.

Tipi di valore

Le proprietà che utilizzano tipi di valore nelle classi utilizzate per effettuare richieste e risposte sono state modificate per utilizzare tipi di valori nullabili. Le proprietà con i seguenti tipi sono state modificate:

  • boolè stato modificato in bool?

  • doubleè stato modificato in double?

  • intè stato modificato in int?

  • floatè stato modificato in float?

  • longè stato modificato in long?

  • Datetimeè stato modificato in Datetime?

Raccolte

Le proprietà che utilizzano raccolte nelle classi utilizzate per effettuare richieste e risposte ora sono predefinite sunull. Di conseguenza, il codice deve verificare che una raccolta non sia nulla prima di provare a utilizzarla. Per esempio:

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. } }

Il comportamento V3 di inizializzazione delle raccolte può essere ripristinato impostando su. Amazon.AWSConfigs.InitializeCollections true Questa proprietà esiste anche in V3 per gli utenti che desiderano provare questa modifica di comportamento prima di eseguire l'aggiornamento alla V4.

AWS Security Token Service (STS)

Modifiche relative a ClientConfig

Amazon.Runtime. ClientConfigclass è la classe base delle classi di configurazione dei client di servizio come AmazonS3Config. Le seguenti modifiche sono state apportate a questa classe base.

Le .Extensions. AWSSDK NETCore NuGet Pacchetto.Setup

Il AWSSDKfile .Extensions. NETCoreIl NuGet pacchetto.Setup è stato aggiornato per alleviare i problemi presenti nella versione 3 dell'SDK e per rendere il pacchetto sicuro per Native AOT. Queste modifiche sono riassunte di seguito. Per informazioni dettagliate si veda PR 3353 su. GitHub

  • Classe DefaultClientConfig

    La DefaultClientConfig classe non viene più ereditata dalla classe base di configurazione del client di servizio Amazon.Runtime. ClientConfig. Le proprietà pertinenti di ClientConfig sono state replicate DefaultClientConfig utilizzando tipi di valori nullabili. Questa modifica ci consente di rilevare quando è stato impostato un valore DefaultClientConfig durante la copia dei valori nella configurazione creata per il client del servizio.

  • AOT nativo

    Al pacchetto è stato aggiunto un nuovo meccanismo per la creazione di client di servizio che utilizza metodi di interfaccia statica C# 11. Questa modifica elimina la necessità di eseguire caricamenti di tipo Assembly per creare istanze di client di servizio, inclusa la manipolazione delle stringhe del nome dell'interfaccia di servizio per calcolare il tipo di client di servizio, che è incompatibile con Native AOT. Questa modifica è disponibile solo per.NET 8 e versioni successive; le versioni precedenti utilizzano ancora il meccanismo originale.

Il codice sorgente di questo pacchetto è disponibile GitHub all'indirizzohttps://github.com/aws/aws-sdk-net/tree/v4-release/extensions/src/AWSSDK.Extensions.NETCore.Setup.

CookieSigner e UrlSigner

Le UrlSigner estensioni CookieSigner e per Amazon CloudFront sono state spostate in un pacchetto di estensioni separato chiamato AWSSDK.Extensions. CloudFront.Firmatari. Questa modifica prevede il supporto di OpenSSL 3 e la dipendenza da.Cryptography. BouncyCastle

Il codice sorgente di questo pacchetto è disponibile all'indirizzo. GitHub https://github.com/aws/aws-sdk-net/tree/v4-release/extensions/src/AWSSDK.Extensions.CloudFront.Signers

DateTime contro UTC DateTime

Alcune classi V3 hanno una DateTime proprietà contrassegnata come «deprecata» o «obsoleta», oltre a una proprietà UTC alternativa. DateTime In queste classi, la DateTime proprietà obsoleta è stata rimossa e il nome della proprietà UTC è stato modificato con il nome originale della DateTime proprietà. DateTime

Di seguito sono riportati alcuni esempi di classi per le quali è stata implementata questa modifica.

  • DescribeSpotPriceHistoryRequest:

    • La StartTime proprietà obsoleta è stata rimossa e il nome della StartTimeUtc proprietà è stato modificato in "StartTime».

    • La EndTime proprietà obsoleta è stata rimossa e il nome della EndTimeUtc proprietà è stato cambiato in "»EndTime.

  • CreateFleetRequest

    • La ValidFrom proprietà obsoleta è stata rimossa e il nome della ValidFromUtc proprietà è stato cambiato in "»ValidFrom.

    • La ValidUntil proprietà obsoleta è stata rimossa e il nome della ValidUntilUtc proprietà è stato cambiato in "»ValidUntil.

Questa modifica potrebbe portare a tempi di offset se un'applicazione utilizza la proprietà originale e obsoleta DateTime. Si verificherà un errore in fase di compilazione per il codice che utilizza la proprietà UTC. DateTime

DateTime analisi

La DateTimeUnmarshaller classe è stata aggiornata. Questa classe analizzava e restituiva DateTime le stringhe come ora locale. In alcuni casi, questi valori venivano riconvertiti in UTC a causa di un aggiornamento precedente, ma non sempre. Ora, DateTime si presume che le stringhe non marshallate siano UTC e verranno specificate e demarshaltate come UTC. Questo aggiornamento include le seguenti modifiche comportamentali.

Alcune proprietà del timestamp basate sulla DateTime classe venivano analizzate in base all'ora locale. Questi includevano gli unmarshaller di risposta per i timestamp e gli elenchi di timestamp per i formati e. TimestampFormat.ISO8601 TimestampFormat.RFC822 DateTime l'analisi è stata invece aggiornata per restituire gli orari UTC.

ConvertFromUnixEpochSeconds e ConvertFromUnixEpochMilliseconds

ConvertFromUnixEpochMillisecondsI metodi ConvertFromUnixEpochSecondsand, che convertono i secondi dell'epoca Unix in una DateTime struttura, restituivano l'ora Unix Epoch come ora locale anziché come ora UTC. Questi metodi ora restituiscono l'ora UTC.

Registrazione

Il modo in cui si abilita la registrazione nell'SDK è stato aggiornato per la V4. La registrazione alla console e la diagnostica del sistema funzionano come nella versione V3, ovvero impostando la LoggingConfig.LogTo proprietà della classe su o. AWSConfigsLoggingOptions.ConsoleLoggingOptions.SystemDiagnostics L'LoggingOptionsopzione for log4net è stata rimossa insieme alla logica interna dell'SDK per l'utilizzo di reflection da collegare a un'istanza in memoria di. log4net

Per includere la registrazione dell'SDK in un framework di registrazione, viene utilizzato un pacchetto di adattatori separato per connettere l'SDK al framework di registrazione. Utilizzate il pacchetto AWSSDK.Extensions.Logging.Log4 per e il NetAdaptor .Extensions.Logging. log4net AWSSDK ILoggerMicrosoft.Extensions.LoggingPacchetto adattatore per. I seguenti esempi di codice mostrano come configurare la registrazione in questi due casi.

Aggiungi il AWSSDK.Extensions.Logging.Log4NetAdaptor NuGet pacchetto e chiama il ConfigureAWSSDKLogging metodo statico da. 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));

Aggiungere il AWSSDK.Extensions.Logging.ILoggerAdaptor NuGet pacchetto e chiamare il metodo di estensione dall'ConfigureAWSSDKLogginginterfaccia. ILoggerFactory

var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.Services.GetRequiredService<ILoggerFactory>() .ConfigureAWSSDKLogging();

Modifiche specifiche a DynamoDB

Le seguenti modifiche sono specifiche di Amazon DynamoDB. Molte di esse stanno rivoluzionando i cambiamenti.

Le modifiche alla V4 all'SDK per DynamoDB risolvono alcuni problemi relativi alla testabilità, ma riguardano principalmente le librerie di alto livello:

Per informazioni dettagliate su queste modalità di programmazione, DynamoDB consulta questa guida.

Modello di documento: eccezione aggiornata per l'interfaccia IAmazonDynamoDB simulata

Nel modello di documento precedente alla V4 dell'SDK, se una tabella veniva inizializzata con un'interfaccia DynamoDB IAmazon simulata, veniva restituita. NullReferenceException Viene invece restituita la V4 dell'SDK. InvalidOperationException TableI metodi asincroni dovrebbero funzionare con un client simulato, ma potresti comunque vedere delle eccezioni quando chiami metodi sincroni da. .NET/Core/Standard

Per ulteriori informazioni su questa modifica, vedere PR 3388 su. GitHub

Modello di documento: FromJson e metodi ToJson

ToJsonI metodi FromJson and della classe Document ora vengono utilizzati System.Text.Json al posto della LitJson serializzazione e sono LitJson stati rimossi dalla versione 4 dell'SDK. Un vantaggio dell'utilizzo System.Text.Json è che questo parser supporta l'utilizzo del Decimal tipo.NET, che supporta una maggiore precisione per le proprietà numeriche a virgola mobile.

Object Persistence Model: la classe DynamoDBOperationConfig

Nel modello di persistenza degli oggetti, sono state apportate le seguenti modifiche alla classe condivisa Dynamo DBOperation Config:

Modello di persistenza degli oggetti: polimorfismo

La DynamoDBPolymorphicTypeAttribute classe è stata aggiunta al modello di persistenza degli oggetti. Questa classe abilita il supporto per la serializzazione e la deserializzazione di tipi polimorfici. Per ulteriori informazioni, vedere PR 3643 su. GitHub

Modello di documento e modello di persistenza degli oggetti: operazioni mockabili

Sono state aggiunte nuove interfacce specifiche per le operazioni che consentono ai clienti di simulare le operazioni di DynamoDB. I metodi di fabbrica sull'IDynamoDBContextinterfaccia sono stati aggiornati per restituire le nuove interfacce.

Per ulteriori informazioni su questa modifica, vedere PR 3450 su. GitHub

  • Modello di persistenza degli oggetti

    • BatchGetOperazioni simulate tramite le interfacce IBatchGet andIMultiTableBatchGet.

    • BatchWriteOperazioni simulate tramite le interfacce and. IBatchWrite IMultiTableBatchWrite

    • TransactGetOperazioni simulate tramite le interfacce and. ITransactGet IMultiTableTransactGet

    • TransactWriteOperazioni simulate tramite le interfacce and. ITransactWrite IMultiTableTransactWrite

    • Simulazione Scan e Query operazioni tramite l'interfaccia. IAsyncSearch

  • Modello di documento

    • TableOperazioni simulate tramite l'interfaccia. ITable

    • Simulazione Scan e Query operazioni tramite l'ISearchinterfaccia.

    • TransactWriteOperazioni simulate tramite le interfacce IDocumentTransactWrite andIMultiTableDocumentTransactWrite.

    • TransactGetOperazioni simulate tramite le interfacce and. IDocumentTransactGet IMultiTableDocumentTransactGet

    • BatchWriteOperazioni simulate tramite le interfacce and. IDocumentBatchWrite IMultiTableDocumentBatchWrite

    • BatchGetOperazioni simulate tramite le interfacce and. IDocumentBatchGet IMultiTableDocumentBatchGet

Modello di documento e modello di persistenza degli oggetti: supporto per AOT nativo

Una limitazione di Native AOT è il supporto per i tipi.NET annidati. In alcuni casi, questi tipi annidati potrebbero passare inosservati al componente di taglio del compilatore.NET. In questo caso, potresti ricevere un'eccezione come: "» System.InvalidOperationException: Type <type> is unsupported, it cannot be instantiated.

È possibile aggirare questa limitazione aggiungendo il percorso del codice DynamicDependency da qualche parte nel percorso del codice che informa il trimmer sulla dipendenza dal sottotipo. È probabile che venga salvato il costruttore del tipo.NET di primo livello. Il seguente esempio di codice mostra come utilizzare l'DynamicDependencyattributo:

[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 è stato rimosso dal AWSSDKpacchetto.DynamoDB ed è disponibile nel suo NuGet pacchetto, AWSSDK.Dynamo DBStreams, e ha il proprio spazio dei nomi,. Amazon.DynamoDBStreams

Consenti la rimozione TableNamePrefix del valore

È ora possibile rimuovere il valore della TableNamePrefix proprietà nella classe Dynamo DBContext Config a livello di singola operazione. Per ulteriori informazioni su questa modifica, vedere PR 3476 su. GitHub

RetrieveDateTimeInUtc property

Per la classe Dynamo DBContext Config, il valore predefinito della RetrieveDateTimeInUtc proprietà è stato modificato in. true

DynamoDBContextTableNamePrefix property

Rimossa la DynamoDBContextTableNamePrefix proprietà dalla classe AWSConfigsDynamoDB. Gli utenti devono chiamare invece AWSConfigsDynamoDB.Context.TableNamePrefix di

Modifiche specifiche di EC2

Le seguenti modifiche sono specifiche di Amazon EC2. La maggior parte o tutte stanno apportando modifiche sostanziali.

GetDecryptedPassword

L'GetDecryptedPasswordestensione per Amazon EC2 è stata spostata in un pacchetto di estensione separato chiamato AWSSDK.Extensions. EC2. DecryptPassword. Questa modifica prevede il supporto di OpenSSL 3 e la dipendenza da.Cryptography. BouncyCastle

Il codice sorgente di questo pacchetto è disponibile all'indirizzo. GitHub https://github.com/aws/aws-sdk-net/tree/v4-release/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword

Support per Amazon EC2 IMDSv1

Il supporto per Instance Metadata Service Version 1 (IMDSv1) è stato rimosso. La versione 4 dell'SDK utilizza sempre Instance Metadata Service versione 2 (IMDSv2) per recuperare credenziali e altri metadati dall'IMDS. Per ulteriori informazioni sull'IMDS, consulta Use the IMDS nella Amazon EC2 User Guide.

Elementi di programmazione che sono stati modificati o rimossi

  • DiskImageImportere ImportCleanup sono stati rimossi da Amazon. EC2.Importa.

  • L'intero Amazon.EC2.Util namespace e il codice sono stati rimossi, incluse le utilità AMI utilizzate per cercare EC2 AMIs Windows.

  • La IpRanges proprietà obsoleta è stata rimossa dalla classe. IpPermission Utilizzate invece Ipv6Ranges le proprietà Ipv4Ranges or.

  • I seguenti campi obsoleti sono stati rimossi dalla EC2InstanceMetadataclasse:EC2_METADATA_SVC,EC2_METADATA_ROOT, EC2_USERDATA_ROOTEC2_DYNAMICDATA_ROOT, eEC2_APITOKEN_URL.

Modifiche specifiche di S3

Le seguenti modifiche sono specifiche di Amazon S3. La maggior parte o tutte stanno apportando modifiche sostanziali.

Regione AWS us-east-1

I client di servizio Amazon S3 configurati per la us-east-1 regione non possono più accedere ai bucket in altre regioni. È necessario accedere ai bucket con i client di servizio S3 configurati per la regione in cui si trova il bucket.

Client di crittografia S3

Il client di crittografia Amazon S3, definito nello spazio dei Amazon.S3.Encryption nomi, è stato rimosso dal pacchetto.S3. AWSSDK Questo client è stato spostato nel suo pacchetto chiamato Amazon.Extensions.S3.Encryption e la relativa documentazione è disponibile all'indirizzo. https://aws.github.io/amazon-s3-encryption-client-dotnet/api/Amazon.Extensions.S3.Encryption.html Per informazioni sulla migrazione, consulta. Migrazione del client di crittografia Amazon S3 Per ulteriori informazioni sulla crittografia S3, consulta Algoritmi di crittografia supportati nella Amazon S3 Encryption Client Developer Guide.

Direttiva di tagging S3 per CopyObject

La TaggingDirective proprietà è stata esposta come proprietà pubblica della CopyObjectRequestclasse, utilizzata dai AmazonS3Client.CopyObject metodi. Questa proprietà corrisponde al x-amz-tagging-directive parametro Amazon S3, come definito nell'azione CopyObject.

La direttiva di etichettatura non è più impostata automaticamente su COPY. Se uno sviluppatore non specifica una direttiva di tagging, il backend S3 presume automaticamente che sia COPY, ma se uno sviluppatore imposta esplicitamente la proprietà su null, il valore non viene impostato affatto.

La proprietà per la configurazione di S3 UseArnRegion

La UseArnRegion proprietà della classe amazon.s3.amazonS3Config è stata aggiornata in modo tale che la variabile di AWS_S3_USE_ARN_REGION ambiente abbia la precedenza sull'impostazione nel file condiviso. s3_use_arn_region AWS config Per ulteriori informazioni su queste variabili e impostazioni, consulta il riferimento alle impostazioni nella and Tools Reference Guide.AWS SDKs

Barre iniziali per i metodi CopyObject and CopyPart

Le barre iniziali non verranno più tagliate per Amazon S3 e i metodi. CopyObject CopyPart La DisableTrimmingLeadingSlash proprietà è stata rimossa dalle classi and. CopyObjectRequestCopyPartRequest

I DoesS3BucketExist... metodi

I DoesS3BucketExistAsync metodi obsoleti DoesS3BucketExist sono stati rimossi dalla classe AmazonS3Util, che implementa l'interfaccia AmazonS3. ICore Questi metodi sono stati rimossi perché utilizzano sempre HTTP. Utilizzate invece DoEss3 BucketExist V2 e BucketExistDoESS3 V2Async.

SDK utilizza sempre SigV4

La versione 4 di utilizza AWS SDK per .NET sempre la versione 4 della AWS firma (SigV4) per la firma delle richieste. Questa modifica comporta le seguenti modifiche correlate:

  • La UseSignatureVersion4 proprietà della classe AWSConfigsS3 è stata rimossa.

  • La SignatureVersion proprietà di Amazon.Runtime. ClientConfigla classe è stata rimossa. Questa proprietà è stata utilizzata solo da Amazon S3 per la compatibilità con le versioni precedenti.

  • La SignatureVersionOverride proprietà della classe RegionEndpoint.Endpoint è stata rimossa. Questa proprietà è stata utilizzata per sostituire le versioni di firma per Amazon S3. Tieni presente che la RegionEndpoint.Endpoint classe è obsoleta e non deve essere utilizzata. Utilizzate invece il metodo specifico del servizioclient.DetermineServiceOperationEndPoint().

  • Metodi aggiornati Amazons3util. PostUploadPostUploadSignedPolicye S3. GetSignedPolicyper usare SigV4. Di conseguenza, il S3PostUploadSignedPolicy.GetSignedPolicyV4 metodo è stato rimosso perché GetSignedPolicy ora svolge la stessa funzione.

I PutACL metodi GetACL e

I PutACL metodi GetACL and della classe AmazonS3Client sono stati contrassegnati come obsoleti. Per accedere alle funzionalità di questi metodi, utilizza invece i seguenti nuovi metodi:GetBucketACL,, e. PutBucketACL GetObjectACL PutObjectACL

Elementi di programmazione obsoleti rimossi

Diversi elementi di programmazione dell'implementazione di Amazon S3 sono stati rimossi dalla versione 4 dell'SDK, inclusi valori di enumerazione, tipi, metodi, namespace, ecc. Questi sono elencati di seguito, se non sono già stati trattati in precedenza, insieme ai potenziali passaggi che è possibile adottare per facilitarne la rimozione.

  • La DisableMD5Stream proprietà è stata rimossa dalla TransferUtilityUploadRequestclasse. Va invece utilizzata la proprietà DisableDefaultChecksumValidation.

    Inoltre, la CalculateContentMD5Header proprietà è stata rimossa dalla TransferUtilityUploadRequest classe. Questa proprietà non è più necessaria perché l'SDK calcola un checksum per impostazione predefinita.

  • Le ServerSideEncryptionKeyManagementServiceKeyId proprietà ServerSideEncryptionMethod and sono state rimosse dalla classe. CopyPartRequest Utilizzate invece le proprietà con lo stesso nome nella InitiateMultipartUploadRequestclasse, utilizzata in alcuni InitiateMultipartUpload... metodi della classe AmazonS3Client.

  • La Expires proprietà è stata rimossa dalla classe. GetObjectResponse Va invece utilizzata la proprietà ExpiresString. La stringa potrebbe non essere in un formato di timestamp valido, quindi il codice dovrebbe utilizzare il TryParse metodo durante la conversione in un. DateTime

  • Regione AWS Gli identificatori obsoleti sono stati rimossi dall'enumerazione S3Region.

  • La Prefix proprietà è stata rimossa dalla classe. LifecycleRule Va invece utilizzata la proprietà Filter.

    Inoltre, le Transition proprietà NoncurrentVersionTransition and sono state rimosse dalla LifecycleRule classe. Utilizzate invece Transitions le raccolte NoncurrentVersionTransitions and.

  • La Event proprietà è stata rimossa dalla TopicConfigurationclasse. Utilizzate invece la Events collezione.

  • CalculateContentMD5Proprietà Header. Non è più necessario impostare questa proprietà perché l'SDK calcolerà un checksum per impostazione predefinita.

  • La Bucket proprietà è stata rimossa dalla classe. SelectObjectContentRequest Va invece utilizzata la proprietà BucketName.

  • La NumberOfUploadThreads proprietà è stata rimossa dalla TransferUtilityConfigclasse. Utilizzate invece la ConcurrentServiceRequests proprietà.

Elementi di programmazione che sono stati rimossi

Diversi elementi di programmazione sono stati rimossi dalla versione 4 dell'SDK, inclusi valori di enumerazione, tipi, metodi, namespace, ecc. Questi sono elencati di seguito, se non sono già stati trattati in precedenza, insieme ai potenziali passaggi che è possibile adottare per facilitarne la rimozione.

Lo spazio dei nomi Amazon.Auth.AccessControlPolicy.ActionIdentifiers

Amazon.Auth. AccessControlPolicy. ActionIdentifierslo spazio dei nomi è stato rimosso. Ciò include gli identificatori di azione IAM, che sono stati definiti nella classe. IdentityandAccessManagementActionIdentifiers Il codice che utilizza questi identificatori di azione deve essere modificato per utilizzare i valori di stringa del nome dell'azione.

Per ulteriori informazioni, consulta la sezione Creazione di policy gestite da IAM da JSON Panoramica delle policy JSON nella IAM User Guide.

La classe ClientConfig

Amazon.Runtime. ClientConfigclass è la classe base delle classi di configurazione dei client di servizio come AmazonS3Config. I seguenti elementi di programmazione sono stati rimossi da questa classe.

  • I DetermineDnsSuffix metodi DetermineServiceURL and sono stati rimossi. Utilizzate invece il DetermineServiceOperationEndpoint metodo del client di servizio, ad esempio AmazonS3Client. DetermineServiceOperationEndpoint.

  • La ReadEntireResponse proprietà è stata rimossa. Utilizzate invece uno dei seguenti:

Lo spazio dei nomi Amazon.Runtime

Lo spazio dei nomi Amazon.Runtime è stato aggiornato come segue:

  • La ECSTaskCredentials classe obsoleta è stata rimossa dallo spazio dei nomi. Utilizza invece il GenericContainerCredentialsprovider, che supporta anche Amazon EKS Pod Identities.

  • Le StoredProfileCredentials classi obsolete StoredProfileAWSCredentials e sono state rimosse dallo spazio dei nomi. Usa Net SDKCredentials File o la SharedCredentialsFileclasse di Amazon.Runtime. CredentialManagementnamespace invece.

  • Il HasCachedAccessTokenAvailable metodo obsoleto della SSOAWSCredentialsclasse è stato rimosso dallo spazio dei nomi.

  • La EnvironmentAWSCredentials classe obsoleta è stata rimossa dallo spazio dei nomi. Al su posto, utilizza la classe AppConfigAWSCredentials.

  • La StoredProfileFederatedCredentials classe obsoleta è stata rimossa dallo spazio dei nomi. Utilizzate invece la classe Federated AWSCredentials.

  • Le seguenti classi obsolete sono state rimosse dallo spazio dei nomi:EnvironmentVariableAWSEndpointDiscoveryEnabled,, e. ProfileAWSEndpointDiscoveryEnabled FallbackEndpointDiscoveryEnabledFactory

  • La UseSigV4 proprietà obsoleta è stata rimossa dalla classe. AmazonWebServiceRequest Va invece utilizzata la proprietà SignatureVersion.

  • La ProfileIniFile classe nello spazio dei Amazon.Runtime.Internal.Util nomi ha un metodo sovraccaricato chiamato. TryGetSection Le versioni del metodo che non supportano il out parametro for nestedProperties sono state rimosse dalla classe.

  • La EventBridgeSigner classe obsoleta nello spazio dei Amazon.Runtime.Internal.Auth nomi è stata rimossa.

  • La proprietà obsoleta del Parameters dizionario è stata rimossa dalla classe. WebServiceRequestEventArgs Va invece utilizzata la proprietà ParameteCollection.

BouncyCastle

La copia sorgente di BouncyCastle è stata rimossa dalla V4 dell'SDK.

La classe StoredProfileSAMLCredentials

La StoredProfileSAMLCredentials classe obsoleta in Amazon. SecurityTokenLo spazio dei nomi.SAML è stato rimosso. Utilizzate invece la AWSCredentials classe Federated nello spazio dei nomi Amazon.Runtime.

La classe AWSSDKUtils

I seguenti metodi sono stati rimossi dalla classe:, e. AWSSDKUtilsResolveResourcePathProtectEncodedSlashUrlEncodeConvertToUnixEpochMilliSeconds

La classe ProfileManager

La ProfileManager classe obsoleta è stata rimossa dallo spazio dei nomi Amazon.Util. Utilizza il file o la classe Net di Amazon.Runtime SDKCredentials. SharedCredentialsFile CredentialManagementnamespace invece.

La classe AWSConfigs

Le seguenti proprietà obsolete sono state rimosse dalla AWSConfigsclasse:Logging, ResponseLogging e. LogMetrics Va invece utilizzata la proprietà LoggingConfig.

La classe ConditionFactory

Il metodo con la seguente firma è stato rimosso dalla ConditionFactoryclasse:NewCondition(ConditionFactory.DateComparisonType, DateTime). Usa invece il NewConditionUtcmetodo.

CloudFront Utilità Amazon

Lo spazio dei Amazon.CloudFront.Util nomi e la AmazonCloudFrontUtil classe obsoleti sono stati rimossi.

AWS IoT

Nella ListPrincipalThingsResponseclasse, una personalizzazione precedente per un NextToken override è stata rimossa a favore dell'impaginazione.

AWS Lambda

I seguenti Invoke... metodi della AmazonLambdaClientclasse sono stati rimossi perché i nomi erano confusi.

  • Il metodo V3 con la seguente firma è stato rimosso:. InvokeAsyncResponse InvokeAsync(InvokeAsyncRequest) Questo è un metodo sincrono nella V3 dell'SDK. Utilizzate InvokeResponse Invoke(InvokeRequest) invece (per l'elaborazione sincrona) o Task InvokeAsync(InvokeRequest, CancellationToken) (per l'elaborazione asincrona).

  • Il metodo V3 con la seguente firma è stato rimosso:. Task InvokeAsyncAsync(InvokeAsyncRequest, CancellationToken) Questo è un metodo asincrono nella V3 dell'SDK. Usare invece Task InvokeAsync(InvokeRequest, CancellationToken).

SageMaker Runtime di Amazon

I costruttori obsoleti per la PayloadPartclasse sono stati rimossi.