A versão 4 (V4) do AWS SDK para .NET foi lançada!
Para obter informações sobre mudanças significativas e migrar seus aplicativos, consulte o tópico de migração.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Migrando para a versão 4 do AWS SDK para .NET
A AWS SDK para .NET versão 4 (V4) tem um número significativo de alterações significativas em relação à versão 3 (V3) do SDK. Este tópico descreve as alterações importantes na versão 4 e o possível trabalho que talvez você precise fazer para migrar seu ambiente ou código da V3. Para obter informações adicionais sobre outras mudanças notáveis no SDK, consulte o seguinte problema do rastreador de desenvolvimento em:. GitHub https://github.com/aws/aws-sdk-net/issues/3362
NET Framework
O destino.NET Framework 3.5 foi removido da V4 do AWS SDK para .NET. Como resultado, o SDK não é mais compatível com o.NET Framework 3.5. Essa versão do SDK é compilada com o.NET Framework 4.7.2 e é executada no tempo de execução do.NET 4.0. Para obter mais informações, consulte Plataformas suportadas.
Tipos de valor
As propriedades que usam tipos de valor em classes usadas para fazer solicitações e respostas foram alteradas para usar tipos de valores anuláveis. As propriedades com os seguintes tipos foram alteradas:
-
bool
foi alterado parabool?
-
double
foi alterado paradouble?
-
int
foi alterado paraint?
-
float
foi alterado parafloat?
-
long
foi alterado paralong?
-
Datetime
foi alterado paraDatetime?
Coleções
As propriedades que usam coleções em classes usadas para fazer solicitações e respostas agora usam como padrãonull
. Como resultado, seu código precisa verificar se uma coleção não é nula antes de tentar usá-la. Por exemplo:
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. } }
O comportamento da V3 de inicializar coleções pode ser restaurado configurando comoAmazon.AWSConfigs.InitializeCollections
. true
Essa propriedade também existe na V3 para usuários que desejam experimentar essa mudança de comportamento antes de atualizar para a V4.
AWS Security Token Service (STS)
-
O endpoint regional
Ao usar provedores de credenciais que dependem AWS STS, as chamadas sempre usam o endpoint regional. Isso difere da V3 do SDK, que usava a
us-east-1
região por padrão ao ser executada na partição pública, independentemente da região configurada. -
O
StsRegionalEndpointsValue
enumA
StsRegionalEndpointsValue
enumeração foi removida do namespace Amazon.Runtime. Qualquer código usando essa enumeração deve ser removido. -
A classe
STSAssumeRoleAWSCredentials
O fornecedor obsoleto de credenciais STS assume a função,
STSAssumeRoleAWSCredentials
, foi removido da Amazon. SecurityTokennamespace. Em vez disso, use AssumeRoleAWSCredentialsdo Amazon.Runtime.
Mudanças relacionadas a ClientConfig
O Amazon.Runtime. ClientConfigclass é a classe base das classes de configuração do cliente de serviço, como AmazonS3Config. As seguintes alterações foram feitas nessa classe base.
-
Modo de repetição padrão
O padrão
RetryMode
da propriedade é emStandard
vez de.Legacy
Como resultado, oLegacy
valor foi removido do Amazon.Runtime. RequestRetryModeenum. -
Modo de configuração padrão
O padrão
DefaultConfigurationMode
da propriedade é emStandard
vez de.Legacy
Como resultado, oLegacy
valor foi removido do Amazon.Runtime. DefaultConfigurationModeenum. -
A
ReadWriteTimeout
propriedadeA
ReadWriteTimeout
propriedade obsoleta foi removida de todos os destinos, exceto o.NET Framework 4.7.2.
As AWSSDK extensões. NETCore.Pacote de configuração NuGet
As AWSSDKextensões. NETCoreO NuGet pacote.Setup
-
A classe
DefaultClientConfig
A
DefaultClientConfig
classe não é mais herdada da classe base de configuração do cliente de serviço Amazon.Runtime. ClientConfig. As propriedades relevantes deClientConfig
foram replicadasDefaultClientConfig
usando tipos de valores anuláveis. Essa alteração nos permite detectar quando um valor foi definidoDefaultClientConfig
ao copiar os valores para a configuração que está sendo criada para o cliente do serviço.Um resultado específico dessa mudança é que não
DefaultClientConfig.HttpClientFactory
está mais disponível na V4. UseAWSConfigs.HttpClientFactory
em vez disso. Para obter informações adicionais, consulte a GitHub edição 3790. -
AOT nativo
Um novo mecanismo para criar clientes de serviço que usam métodos de interface estática do C# 11 foi adicionado ao pacote. Essa alteração elimina a necessidade de fazer cargas do tipo Assembly para criar instâncias de clientes de serviço, incluindo a manipulação de strings do nome da interface de serviço para calcular o tipo de cliente de serviço, o que é incompatível com o AOT nativo. Essa alteração está disponível somente para o.NET 8 e versões posteriores; versões mais antigas ainda usam o mecanismo original.
O código-fonte desse pacote está GitHub emhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup
CookieSigner
e UrlSigner
As UrlSigner
extensões CookieSigner
e da Amazon CloudFront foram movidas para um pacote de extensão separado chamado AWSSDK.Extensions. CloudFront.Signatários
O código-fonte desse pacote está GitHub emhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.CloudFront.Signers
DateTime versus UTC DateTime
Algumas classes V3 têm uma DateTime propriedade marcada como “obsoleta” ou “obsoleta”, bem como uma propriedade UTC alternativa. DateTime Nessas classes, a DateTime propriedade obsoleta foi removida e o nome da DateTime propriedade UTC foi alterado para o nome original da DateTime propriedade.
A seguir estão alguns exemplos de classes para as quais essa alteração foi implementada.
-
DescribeSpotPriceHistoryRequest:
-
A
StartTime
propriedade obsoleta foi removida e o nome daStartTimeUtc
propriedade foi alterado para "StartTime”. -
A
EndTime
propriedade obsoleta foi removida e o nome daEndTimeUtc
propriedade foi alterado para "EndTime”.
-
-
-
A
ValidFrom
propriedade obsoleta foi removida e o nome daValidFromUtc
propriedade foi alterado para "ValidFrom”. -
A
ValidUntil
propriedade obsoleta foi removida e o nome daValidUntilUtc
propriedade foi alterado para "ValidUntil”.
-
Essa alteração pode levar a tempos de compensação se um aplicativo estiver usando a DateTime propriedade original e obsoleta. Ocorrerá um erro de tempo de compilação para o código que usa a propriedade UTC DateTime .
DateTime análise
A DateTimeUnmarshaller aula foi atualizada. Essa classe estava analisando e retornando DateTime strings no horário local. Em alguns casos, esses valores estavam sendo convertidos novamente para UTC devido a uma atualização anterior, mas nem sempre. Agora, DateTime as cadeias de caracteres que não estão agrupadas são consideradas UTC e serão especificadas e desempacotadas como UTC. Essa atualização inclui as seguintes mudanças de comportamento.
Certas propriedades de timestamp baseadas na DateTime classe estavam sendo analisadas em horários locais. Isso incluía desorganizadores de resposta para carimbos de data/hora e listas de carimbos de data/hora para formatos e. TimestampFormat.ISO8601
TimestampFormat.RFC822
DateTime a análise foi atualizada para retornar os horários UTC em vez disso.
ConvertFromUnixEpochSeconds
e ConvertFromUnixEpochMilliseconds
Os ConvertFromUnixEpochMillisecondsmétodos ConvertFromUnixEpochSecondse, que convertem segundos da época Unix em uma DateTime estrutura, estavam retornando a hora do Unix Epoch como uma hora local em vez de uma hora UTC. Esses métodos agora retornam a hora UTC.
Registro em log
A forma como você ativa o login no SDK foi atualizada para a V4. O registro no console e no diagnóstico do sistema funciona da mesma forma que o V3; ou seja, definindo a LoggingConfig.LogTo
propriedade da AWSConfigsclasse como ouLoggingOptions.Console
. LoggingOptions.SystemDiagnostics
A LoggingOptionsopção for log4net
foi removida junto com a lógica interna do SDK para usar a reflexão para se conectar a uma instância na memória do. log4net
Para incluir o registro do SDK em uma estrutura de registro, um pacote de adaptador separado é usado para conectar o SDK à estrutura de registro. Use o pacote AWSSDK.Extensions.Logging.Log4 para e o NetAdaptor .Extensions.Logginglog4net
AWSSDK ILoggerPacote de adaptadorMicrosoft.Extensions.Logging
. Os exemplos de código a seguir mostram como configurar o registro em log nesses dois casos.
Adicione o AWSSDK.Extensions.Logging.Log4NetAdaptor
NuGet pacote e chame o ConfigureAWSSDKLogging
método estático 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));
Adicione o AWSSDK.Extensions.Logging.ILoggerAdaptor
NuGet pacote e chame o método de ConfigureAWSSDKLogging
extensão a partir da ILoggerFactory
interface.
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.Services.GetRequiredService<ILoggerFactory>() .ConfigureAWSSDKLogging();
Support para HTTP 2
O suporte para HTTP 2 foi adicionado para permitir o streaming bidirecional. Para obter mais informações, consulte Support para HTTP 2.
Autenticação única
O valor padrão da SupportsGettingNewToken
propriedade da classe SSOAWSCredentialsOptions foi alterado de true
parafalse
. Se você tiver aplicativos que usam a SSOAWSCredentialsclasse para obter credenciais de SSO, talvez seja necessário definir a Options.SupportsGettingNewToken
propriedade como. true
Para ver exemplos dessa configuração, consulte os exemplos de código emTutorial para SSO usando somente aplicativos .NET. Para obter informações adicionais, consulte PR 3737
Alterações específicas do DynamoDB
As alterações a seguir são específicas do Amazon DynamoDB. Muitos deles são mudanças significativas.
As mudanças da V4 no SDK para DynamoDB abordam alguns problemas relacionados à testabilidade, mas se concentram principalmente nas bibliotecas de alto nível:
-
O modelo de documento.NET, nomeado DocumentModelno código.
-
O modelo de persistência de objetos.NET, nomeado DataModelno código.
Para obter informações detalhadas sobre esses modos de programação, consulte DynamoDB este guia.
Modelo de documento: exceção atualizada para interface simulada IAmazonDynamoDB
No modelo de documento anterior à V4 do SDK, se uma tabela fosse inicializada com uma interface simulada do DynamoDBIAmazon, ela retornaria. NullReferenceException
Em vez disso, a V4 do SDK retornaInvalidOperationException
. Table
Os métodos assíncronos devem funcionar com um cliente simulado, mas você ainda pode ver exceções ao chamar métodos síncronos de. .NET/Core/Standard
Para obter mais informações sobre essa alteração, consulte PR 3388
Modelo de documento: FromJson
e ToJson
métodos
Os ToJson
métodos FromJson
e da classe Document agora são usados System.Text.Json
em vez de LitJson para serialização e LitJson foram removidos da V4 do SDK. Uma vantagem do uso System.Text.Json
é que esse analisador suporta o uso do Decimal
tipo.NET, que oferece maior precisão para propriedades numéricas de ponto flutuante.
Modelo de persistência de objetos: a classe DynamoDBOperationConfig
No modelo de persistência de objetos, as seguintes alterações foram feitas na classe compartilhada do Dynamo Config: DBOperation
-
A classe foi separada em novas classes específicas da operação SaveConfig, como, e. LoadConfigQueryConfig Os métodos usados
DynamoDBOperationConfig
foram marcados como obsoletos e estão sujeitos a remoção no futuro.Para obter mais informações sobre essa alteração, consulte PR 3421
em GitHub. -
As
DisableFetchingTableMetadata
propriedadesMetadataCachingMode
e foram removidas da classe. Essas propriedades não foram incluídas nas novas classes específicas da operação mencionadas anteriormente. As propriedades removidas são configurações em nível de tabela que devem ser especificadas naContext
propriedade global da classe AWSConfigsDynamoDB ou na classe Dynamo Config. DBContextPara obter mais informações sobre essa alteração, consulte PR 3422
em GitHub. -
A classe não é mais herdada da classe do Dynamo Config DBContext. Isso impede que você passe um
DynamoDBOperationConfig
objeto para o construtor do Dynamo DBContext, onde algumas propriedades na configuração específica da operação (como) não se aplicam.OverrideTableName
Para obter mais informações sobre essa alteração, consulte PR 3422
em GitHub.
Modelo de persistência de objetos: polimorfismo
A DBPolymorphic TypeAttribute classe Dynamo foi adicionada ao modelo de persistência de objetos. Essa classe permite suporte para serialização e desserialização de tipos polimórficos. Para obter mais informações, consulte PR 3643
Modelo de documento e modelo de persistência de objetos: operações simuláveis
Novas interfaces específicas de operação foram adicionadas para permitir que os clientes simulem as operações do DynamoDB. Os métodos de fábrica na IDynamoDBContextinterface foram atualizados para retornar as novas interfaces.
Para obter mais informações sobre essa alteração, consulte PR 3450
-
Modelo de persistência de objeto
-
BatchGet
Operações simuladas por meio dasIMultiTableBatchGet
interfacesIBatchGet
e. -
BatchWrite
Operações simuladas por meio dasIMultiTableBatchWrite
interfacesIBatchWrite
e. -
TransactGet
Operações simuladas por meio dasIMultiTableTransactGet
interfacesITransactGet
e. -
TransactWrite
Operações simuladas por meio dasIMultiTableTransactWrite
interfacesITransactWrite
e. -
Simulação
Scan
eQuery
operações por meio daIAsyncSearch
interface.
-
-
Modelo de documento
-
Table
Operações simuladas por meio daITable
interface. -
Simulação
Scan
eQuery
operações por meio daISearch
interface. -
TransactWrite
Operações simuladas por meio dasIMultiTableDocumentTransactWrite
interfacesIDocumentTransactWrite
e. -
TransactGet
Operações simuladas por meio dasIMultiTableDocumentTransactGet
interfacesIDocumentTransactGet
e. -
BatchWrite
Operações simuladas por meio dasIMultiTableDocumentBatchWrite
interfacesIDocumentBatchWrite
e. -
BatchGet
Operações simuladas por meio dasIMultiTableDocumentBatchGet
interfacesIDocumentBatchGet
e.
-
Modelo de documento e modelo de persistência de objetos: Support for native AOT
Uma limitação do AOT nativo é o suporte para tipos.NET aninhados. Em alguns casos, esses tipos aninhados podem passar despercebidos pelo componente de corte do compilador.NET. Nesse caso, você pode receber uma exceção, como: "System.InvalidOperationException: Type <type> is
unsupported, it cannot be instantiated.
”
Você pode contornar essa limitação adicionando DynamicDependency
algum lugar no caminho do código que informa ao trimmer sobre a dependência do subtipo. O construtor do tipo.NET de nível superior que está sendo salvo é um lugar provável. O exemplo de código a seguir mostra como usar o DynamicDependency
atributo:
[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; } }
Dínamo DBStreams
O Dynamo DBStreams foi removido do pacote AWSSDK.DynamoDBAmazon.DynamoDBStreams
Permitir a remoção do TableNamePrefix
valor
Agora você pode remover o valor da TableNamePrefix
propriedade na classe Dynamo DBContext Config no nível de operação individual. Para obter mais informações sobre essa alteração, consulte PR 3476
a propriedade RetrieveDateTimeInUtc
Para a classe Dynamo DBContext Config, o valor padrão RetrieveDateTimeInUtc
da propriedade foi alterado para. true
a propriedade DynamoDBContextTableNamePrefix
A DynamoDBContextTableNamePrefix
propriedade foi removida da classe AWSConfigsDynamoDB. Os usuários devem ligar AWSConfigsDynamoDB.Context.TableNamePrefix
em vez de
Alterações específicas para EC2
As alterações a seguir são específicas da Amazon EC2. A maioria ou todas elas são mudanças significativas.
GetDecryptedPassword
A GetDecryptedPassword
extensão da Amazon EC2 foi movida para um pacote de extensão separado chamado AWSSDK.Extensions. EC2. DecryptPassword
O código-fonte desse pacote está GitHub emhttps://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.EC2.DecryptPassword
Support para Amazon EC2 IMDSv1
O suporte para o Instance Metadata Service versão 1 (IMDSv1) foi removido. A V4 do SDK sempre usa o Instance Metadata Service Version 2 (IMDSv2) ao buscar credenciais e outros metadados do IMDS. Para obter mais informações sobre o IMDS, consulte Usar o IMDS no Guia EC2 do usuário da Amazon.
Elementos de programação que foram alterados ou removidos
-
Todo o
Amazon.EC2.Import
namespace e o código foram removidos. -
Todo o
Amazon.EC2.Util
namespace e o código foram removidos, o que inclui os utilitários da AMI usados para pesquisar EC2 AMIs o Windows. -
A
IpRanges
propriedade obsoleta foi removida da IpPermissionclasse. Em vez disso, useIpv6Ranges
as propriedadesIpv4Ranges
ou. -
Os seguintes campos obsoletos foram removidos da EC2InstanceMetadataclasse:
EC2_METADATA_SVC
EC2_METADATA_ROOT
,EC2_USERDATA_ROOT
EC2_DYNAMICDATA_ROOT
,,EC2_APITOKEN_URL
e.
Alterações específicas do S3
As seguintes alterações são específicas do Amazon S3. A maioria ou todas elas são mudanças significativas.
Região da AWS us-east-1
Os clientes do serviço Amazon S3 configurados para a us-east-1
região não podem mais acessar buckets em outras regiões. Os buckets devem ser acessados com clientes de serviço do S3 configurados para a região em que o bucket está.
Cliente de criptografia S3
O cliente de criptografia Amazon S3, definido no Amazon.S3.Encryption
namespace, foi removido do pacote.S3. AWSSDK
Diretiva de marcação S3 para CopyObject
A TaggingDirective
propriedade foi exposta como uma propriedade pública da CopyObjectRequestclasse, que é usada por AmazonS3Client.CopyObject
métodos. Essa propriedade corresponde ao x-amz-tagging-directive
parâmetro Amazon S3, conforme definido na CopyObjectação.
A diretiva de marcação não é mais definida automaticamente como COPY. Se um desenvolvedor não especificar uma diretiva de marcação, o back-end do S3 assumirá automaticamente que é COPY, mas se um desenvolvedor definir explicitamente a propriedade como nula, o valor não será definido de forma alguma.
A UseArnRegion
propriedade para a configuração do S3
A UseArnRegion
propriedade da classe Amazon.s3.amazons3Config foi atualizada para que a variável de AWS_S3_USE_ARN_REGION
ambiente tenha precedência sobre a configuração no arquivo compartilhado. s3_use_arn_region
AWS config
Para obter mais informações sobre essas variáveis e configurações, consulte Referência de configurações no Guia AWS SDKs de referência de ferramentas.
Barras iniciais para os métodos CopyObject
e CopyPart
As barras iniciais não serão mais cortadas para o Amazon CopyObject
CopyPart
S3 e os métodos. A DisableTrimmingLeadingSlash
propriedade foi removida das CopyPartRequestclasses CopyObjectRequeste.
Os DoesS3BucketExist...
métodos
O obsoleto DoesS3BucketExist
e DoesS3BucketExistAsync
os métodos foram removidos da classe AmazonS3Util, que implementa a interface AmazonS3. ICore Esses métodos foram removidos porque sempre usam HTTP. Em vez disso, use DoeSS3 BucketExist V2 e BucketExistDoesS3 V2Async.
O SDK sempre usa SigV4
A versão 4 do AWS SDK para .NET sempre usa a AWS Signature Version 4 (SigV4) para assinar solicitações. Essa alteração resulta nas seguintes alterações relacionadas:
-
A
UseSignatureVersion4
propriedade da classe AWSConfigsS3 foi removida. -
A
SignatureVersion
propriedade do Amazon.Runtime. ClientConfiga classe foi removida. Essa propriedade foi usada somente pelo Amazon S3 para compatibilidade com versões anteriores. -
A
RegionEndpoint.Endpoint
classe foi removida. Isso inclui aSignatureVersionOverride
propriedade, que foi usada para substituir as versões de assinatura do Amazon S3. Em vez disso, use oclient.DetermineServiceOperationEndPoint()
método específico do serviço. -
Métodos atualizados Amazons3util. PostUploade S3PostUploadSignedPolicy. GetSignedPolicypara usar o SigV4. Como consequência, o
S3PostUploadSignedPolicy.GetSignedPolicyV4
método foi removido porqueGetSignedPolicy
agora executa a mesma função. Além disso,GetSignedPolicy
foi fornecido um terceiro parâmetro para o endpoint da região.
Os PutACL
métodos GetACL
e
Os PutACL
métodos GetACL
e da classe Amazons3Client foram marcados como obsoletos. Para acessar a funcionalidade desses métodos, use os seguintes novos métodos em vez disso: GetBucketACL
PutBucketACL
GetObjectACL
,, PutObjectACL
e.
Elementos de programação obsoletos removidos
Vários elementos de programação da implementação do Amazon S3 foram removidos da V4 do SDK, incluindo valores de enumeração, tipos, métodos, namespaces etc. Eles estão listados abaixo, se ainda não foram abordados anteriormente, junto com as possíveis etapas que você pode tomar para acomodar sua remoção.
-
A
DisableMD5Stream
propriedade foi removida da TransferUtilityUploadRequestclasse. Use a propriedadeDisableDefaultChecksumValidation
.Além disso, a
CalculateContentMD5Header
propriedade foi removida daTransferUtilityUploadRequest
classe. Essa propriedade não é mais necessária porque o SDK calcula uma soma de verificação por padrão. -
As
ServerSideEncryptionKeyManagementServiceKeyId
propriedadesServerSideEncryptionMethod
e foram removidas da CopyPartRequestclasse. Em vez disso, use as propriedades com os mesmos nomes na InitiateMultipartUploadRequestclasse, que são usadas em alguns dosInitiateMultipartUpload...
métodos da classe AmazonS3Client. -
A
Expires
propriedade foi removida da GetObjectResponseclasse. Use a propriedadeExpiresString
. A string pode não estar em um formato de carimbo de data/hora válido, então seu código deve usar oTryParse
método ao converter em a.DateTime
-
Região da AWS Identificadores obsoletos foram removidos da enumeração S3Region.
-
A
Prefix
propriedade foi removida da LifecycleRuleclasse. Use a propriedadeFilter
.Além disso, as
Transition
propriedadesNoncurrentVersionTransition
e foram removidas daLifecycleRule
classe. Em vez dissoNoncurrentVersionTransitions
, useTransitions
as coleções e. -
A
Event
propriedade foi removida da TopicConfigurationclasse. Em vez disso, use aEvents
coleção. -
CalculateContentMD5Propriedade do cabeçalho. Essa propriedade não precisa mais ser definida porque o SDK computará uma soma de verificação por padrão.
-
A
Bucket
propriedade foi removida da SelectObjectContentRequestclasse. Use a propriedadeBucketName
. -
A
NumberOfUploadThreads
propriedade foi removida da TransferUtilityConfigclasse. Em vez disso, use aConcurrentServiceRequests
propriedade.
Elementos de programação que foram removidos
Vários elementos de programação foram removidos da V4 do SDK, incluindo valores de enumeração, tipos, métodos, namespaces etc. Eles estão listados abaixo, se ainda não foram abordados anteriormente, junto com as possíveis etapas que você pode tomar para acomodar sua remoção.
O namespace Amazon.Auth.AccessControlPolicy.ActionIdentifiers
.
O Amazon.Auth.AccessControlPolicy.ActionIdentifiers
namespace foi removido. Isso inclui identificadores de ação do IAM, que foram definidos na IdentityandAccessManagementActionIdentifiers
classe. O código que usa esses identificadores de ação deve ser alterado para usar valores de string do nome da ação.
Para obter mais informações, consulte Criar políticas gerenciadas pelo IAM a partir do JSON a Visão geral das políticas de JSON no Guia do usuário do IAM.
A classe ClientConfig
O Amazon.Runtime. ClientConfigclass é a classe base das classes de configuração do cliente de serviço, como AmazonS3Config. Os seguintes elementos de programação foram removidos dessa classe.
-
Os
DetermineDnsSuffix
métodosDetermineServiceURL
e foram removidos. Em vez disso, use oDetermineServiceOperationEndpoint
método do cliente de serviço; por exemplo, AmazonS3Client. DetermineServiceOperationEndpoint. -
A
ReadEntireResponse
propriedade foi removida. Em vez disso, use uma das seguintes opções:-
A
LogResponses
propriedade do AWSConfigs. LoggingConfigclasse. -
A
LogResponse
propriedade da configuração do cliente; por exemplo, AmazonS3Config.
-
O namespace Amazon.Runtime
.
O namespace Amazon.Runtime foi atualizado da seguinte forma:
-
A
ECSTaskCredentials
classe obsoleta foi removida do namespace. Em vez disso, use o GenericContainerCredentialsprovedor, que também oferece suporte ao Amazon EKS Pod Identities. -
O obsoleto
StoredProfileAWSCredentials
eStoredProfileCredentials
as classes foram removidos do namespace. Use o Net SDKCredentials File ou a SharedCredentialsFileclasse do Amazon.Runtime. CredentialManagementem vez disso, namespace. -
O
HasCachedAccessTokenAvailable
método obsoleto da SSOAWSCredentialsclasse foi removido do namespace. -
A
EnvironmentAWSCredentials
classe obsoleta foi removida do namespace. No lugar, use a classe AppConfigAWSCredentials. -
A
StoredProfileFederatedCredentials
classe obsoleta foi removida do namespace. Em vez disso, use a AWSCredentials classe Federated. -
As seguintes classes obsoletas foram removidas do namespace:
EnvironmentVariableAWSEndpointDiscoveryEnabled
ProfileAWSEndpointDiscoveryEnabled
, e.FallbackEndpointDiscoveryEnabledFactory
-
A
UseSigV4
propriedade obsoleta foi removida da AmazonWebServiceRequestclasse. Use a propriedadeSignatureVersion
. -
A
ProfileIniFile
classe noAmazon.Runtime.Internal.Util
namespace tem um método sobrecarregado chamado.TryGetSection
As versões do método que não suportam oout
parâmetro fornestedProperties
foram removidas da classe. -
A
EventBridgeSigner
classe obsoleta noAmazon.Runtime.Internal.Auth
namespace foi removida. -
A propriedade obsoleta do
Parameters
dicionário foi removida da WebServiceRequestEventArgsclasse. Use a propriedadeParameteCollection
.
BouncyCastle
A cópia de origem do BouncyCastle foi removida da V4 do SDK.
A classe StoredProfileSAMLCredentials
A StoredProfileSAMLCredentials
classe obsoleta na Amazon. SecurityTokenO namespace.SAML foi removido. Em vez disso, use a AWSCredentials classe Federated no namespace Amazon.Runtime.
A classe AWSSDKUtils
Os métodos a seguir foram removidos da AWSSDKUtilsclasse: ResolveResourcePath
ProtectEncodedSlashUrlEncode
, ConvertToUnixEpochMilliSeconds
e.
A classe ProfileManager
A ProfileManager
classe obsoleta foi removida do namespace Amazon.Util. Use o SDKCredentialsarquivo de rede ou a SharedCredentialsFileclasse do Amazon.Runtime. CredentialManagementem vez disso, namespace.
A classe AWSConfigs
As seguintes propriedades obsoletas foram removidas da AWSConfigsclasse: Logging
ResponseLogging
, LogMetrics
e. Use a propriedade LoggingConfig
.
A classe ConditionFactory
O método com a seguinte assinatura foi removido da ConditionFactoryclasse:NewCondition(ConditionFactory.DateComparisonType, DateTime)
. Em vez disso, use o NewConditionUtcmétodo.
CloudFront Utilitários da Amazon
O Amazon.CloudFront.Util
namespace e a AmazonCloudFrontUtil
classe obsoletos foram removidos.
AWS IoT
Na ListPrincipalThingsResponseclasse, uma personalização antiga para uma NextToken
substituição foi removida em favor da paginação.
AWS Lambda
Os Invoke...
métodos da AmazonLambdaClientclasse a seguir foram removidos porque os nomes eram confusos.
-
O método V3 com a seguinte assinatura foi removido:
InvokeAsyncResponse InvokeAsync(InvokeAsyncRequest)
. Esse é um método síncrono na V3 do SDK. Em vez disso, useInvokeResponse Invoke(InvokeRequest)
(para processamento síncrono) ouTask InvokeAsync(InvokeRequest, CancellationToken)
(para processamento assíncrono). -
O método V3 com a seguinte assinatura foi removido:
Task InvokeAsyncAsync(InvokeAsyncRequest, CancellationToken)
. Esse é um método assíncrono na V3 do SDK. UseTask InvokeAsync(InvokeRequest, CancellationToken)
em vez disso.
Amazon SageMaker Runtime
Os construtores obsoletos da PayloadPartclasse foram removidos.