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 inbool?
-
double
è stato modificato indouble?
-
int
è stato modificato inint?
-
float
è stato modificato infloat?
-
long
è stato modificato inlong?
-
Datetime
è stato modificato inDatetime?
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)
-
L'endpoint regionale
Quando si utilizzano provider di credenziali che si affidano a AWS STS, le chiamate utilizzano sempre l'endpoint regionale. Ciò differisce dalla versione 3 dell'SDK, che utilizzava la
us-east-1
regione per impostazione predefinita durante l'esecuzione nella partizione pubblica indipendentemente dalla regione configurata. -
L'
StsRegionalEndpointsValue
enumL'
StsRegionalEndpointsValue
enum è stato rimosso dallo spazio dei nomi Amazon.Runtime. Qualsiasi codice che utilizza quell'enum deve essere rimosso. -
Classe
STSAssumeRoleAWSCredentials
Il provider di credenziali di assunzione del ruolo STS obsoleto è stato rimosso da Amazon.
STSAssumeRoleAWSCredentials
SecurityTokenspazio dei nomi. Utilizzalo invece AssumeRoleAWSCredentialsda Amazon.Runtime.
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.
-
Modalità di riprova predefinita
Il valore predefinito della
RetryMode
proprietà è invece di.Standard
Legacy
Di conseguenza, ilLegacy
valore è stato rimosso da Amazon.Runtime. RequestRetryModeenumerazione. -
Modalità di configurazione predefinita
Il valore predefinito della
DefaultConfigurationMode
proprietà èStandard
invece di.Legacy
Di conseguenza, ilLegacy
valore è stato rimosso da Amazon.Runtime. DefaultConfigurationModeenumerazione. -
La proprietà
ReadWriteTimeout
La
ReadWriteTimeout
proprietà obsoleta è stata rimossa da tutte le destinazioni tranne .NET Framework 4.7.2.
Le .Extensions. AWSSDK NETCore NuGet Pacchetto.Setup
Il AWSSDKfile .Extensions. NETCoreIl NuGet pacchetto.Setup
-
Classe
DefaultClientConfig
La
DefaultClientConfig
classe non viene più ereditata dalla classe base di configurazione del client di servizio Amazon.Runtime. ClientConfig. Le proprietà pertinenti diClientConfig
sono state replicateDefaultClientConfig
utilizzando tipi di valori nullabili. Questa modifica ci consente di rilevare quando è stato impostato un valoreDefaultClientConfig
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.
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 dellaStartTimeUtc
proprietà è stato modificato in "StartTime». -
La
EndTime
proprietà obsoleta è stata rimossa e il nome dellaEndTimeUtc
proprietà è stato cambiato in "»EndTime.
-
-
-
La
ValidFrom
proprietà obsoleta è stata rimossa e il nome dellaValidFromUtc
proprietà è stato cambiato in "»ValidFrom. -
La
ValidUntil
proprietà obsoleta è stata rimossa e il nome dellaValidUntilUtc
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.Console
LoggingOptions.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.Logginglog4net
AWSSDK ILoggerMicrosoft.Extensions.Logging
Pacchetto adattatore per.
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'ConfigureAWSSDKLogging
interfaccia. 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:
-
.NET Document Model, denominato nel codice. DocumentModel
-
Il modello.NET Object Persistence, denominato DataModelnel codice.
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
Table
I 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.
Modello di documento: FromJson
e metodi ToJson
ToJson
I 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:
-
La classe è stata suddivisa in nuove classi specifiche per l'operazione come,,.
SaveConfig
LoadConfig
QueryConfig
I metodi utilizzatiDynamoDBOperationConfig
sono stati contrassegnati come obsoleti e sono soggetti a rimozione in futuro.Per ulteriori informazioni su questa modifica, vedere PR 3421
su. GitHub -
Le
DisableFetchingTableMetadata
proprietàMetadataCachingMode
and sono state rimosse dalla classe. Queste proprietà non sono state incluse nelle nuove classi specifiche dell'operazione menzionate in precedenza. Le proprietà rimosse sono impostazioni a livello di tabella che devono essere specificate nellaContext
proprietà globale della classe AWSConfigsDynamoDB o nella classe Dynamo Config. DBContextPer ulteriori informazioni su questa modifica, vedere PR 3422 su.
GitHub -
La classe non eredita più dalla classe Dynamo DBContext Config. Ciò impedisce di passare un
DynamoDBOperationConfig
oggetto al costruttore di Dynamo DBContext, dove alcune proprietà della configurazione specifica dell'operazione (come) non sono applicabili.OverrideTableName
Per ulteriori informazioni su questa modifica, vedere PR 3422 su.
GitHub
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.
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
-
Modello di persistenza degli oggetti
-
BatchGet
Operazioni simulate tramite le interfacceIBatchGet
andIMultiTableBatchGet
. -
BatchWrite
Operazioni simulate tramite le interfacce and.IBatchWrite
IMultiTableBatchWrite
-
TransactGet
Operazioni simulate tramite le interfacce and.ITransactGet
IMultiTableTransactGet
-
TransactWrite
Operazioni simulate tramite le interfacce and.ITransactWrite
IMultiTableTransactWrite
-
Simulazione
Scan
eQuery
operazioni tramite l'interfaccia.IAsyncSearch
-
-
Modello di documento
-
Table
Operazioni simulate tramite l'interfaccia.ITable
-
Simulazione
Scan
eQuery
operazioni tramite l'ISearch
interfaccia. -
TransactWrite
Operazioni simulate tramite le interfacceIDocumentTransactWrite
andIMultiTableDocumentTransactWrite
. -
TransactGet
Operazioni simulate tramite le interfacce and.IDocumentTransactGet
IMultiTableDocumentTransactGet
-
BatchWrite
Operazioni simulate tramite le interfacce and.IDocumentBatchWrite
IMultiTableDocumentBatchWrite
-
BatchGet
Operazioni 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'DynamicDependency
attributo:
[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.DynamoDBAmazon.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
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'GetDecryptedPassword
estensione per Amazon EC2 è stata spostata in un pacchetto di estensione separato chiamato AWSSDK.Extensions. EC2. DecryptPassword
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
-
DiskImageImporter
eImportCleanup
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 inveceIpv6Ranges
le proprietàIpv4Ranges
or. -
I seguenti campi obsoleti sono stati rimossi dalla EC2InstanceMetadataclasse:
EC2_METADATA_SVC
,EC2_METADATA_ROOT
,EC2_USERDATA_ROOT
EC2_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
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 laRegionEndpoint.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 dallaTransferUtilityUploadRequest
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 alcuniInitiateMultipartUpload...
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 ilTryParse
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 dallaLifecycleRule
classe. Utilizzate inveceTransitions
le raccolteNoncurrentVersionTransitions
and. -
La
Event
proprietà è stata rimossa dalla TopicConfigurationclasse. Utilizzate invece laEvents
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 laConcurrentServiceRequests
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
metodiDetermineServiceURL
and sono stati rimossi. Utilizzate invece ilDetermineServiceOperationEndpoint
metodo del client di servizio, ad esempio AmazonS3Client. DetermineServiceOperationEndpoint. -
La
ReadEntireResponse
proprietà è stata rimossa. Utilizzate invece uno dei seguenti:-
La
LogResponses
proprietà di AWSConfigs. LoggingConfigclasse. -
La
LogResponse
proprietà della configurazione del client, ad esempio AmazonS3Config.
-
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 obsoleteStoredProfileAWSCredentials
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 deiAmazon.Runtime.Internal.Util
nomi ha un metodo sovraccaricato chiamato.TryGetSection
Le versioni del metodo che non supportano ilout
parametro fornestedProperties
sono state rimosse dalla classe. -
La
EventBridgeSigner
classe obsoleta nello spazio deiAmazon.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. AWSSDKUtilsResolveResourcePath
ProtectEncodedSlashUrlEncode
ConvertToUnixEpochMilliSeconds
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. UtilizzateInvokeResponse Invoke(InvokeRequest)
invece (per l'elaborazione sincrona) oTask 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 inveceTask InvokeAsync(InvokeRequest, CancellationToken)
.
SageMaker Runtime di Amazon
I costruttori obsoleti per la PayloadPartclasse sono stati rimossi.