Migrando para a versão 4 do AWS SDK para .NET - AWS SDK para .NET (V4)

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:

  • boolfoi alterado para bool?

  • doublefoi alterado para double?

  • intfoi alterado para int?

  • floatfoi alterado para float?

  • longfoi alterado para long?

  • Datetimefoi alterado para Datetime?

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)

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 é em Standard vez de. Legacy Como resultado, o Legacy valor foi removido do Amazon.Runtime. RequestRetryModeenum.

  • Modo de configuração padrão

    O padrão DefaultConfigurationMode da propriedade é em Standard vez de. Legacy Como resultado, o Legacy valor foi removido do Amazon.Runtime. DefaultConfigurationModeenum.

  • A ReadWriteTimeout propriedade

    A 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 foi atualizado para aliviar os problemas presentes na V3 do SDK, bem como para tornar o pacote seguro para o AOT nativo. Essas mudanças estão resumidas abaixo. Para obter informações detalhadas, consulte PR 3353 em. GitHub

  • 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 de ClientConfig foram replicadas DefaultClientConfig usando tipos de valores anuláveis. Essa alteração nos permite detectar quando um valor foi definido DefaultClientConfig 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. Use AWSConfigs.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. Essa alteração é para oferecer suporte ao OpenSSL 3 e depender do .Cryptography. BouncyCastle

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 da StartTimeUtc propriedade foi alterado para "StartTime”.

    • A EndTime propriedade obsoleta foi removida e o nome da EndTimeUtc propriedade foi alterado para "EndTime”.

  • CreateFleetRequest

    • A ValidFrom propriedade obsoleta foi removida e o nome da ValidFromUtc propriedade foi alterado para "ValidFrom”.

    • A ValidUntil propriedade obsoleta foi removida e o nome da ValidUntilUtc 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.Logging. log4net AWSSDK ILoggerPacote de adaptador paraMicrosoft.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 no aws-sdk-net GitHub repositório.

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:

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. TableOs 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 em. GitHub

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

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 em. GitHub

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 on GitHub.

  • Modelo de persistência de objeto

    • BatchGetOperações simuladas por meio das IMultiTableBatchGet interfaces IBatchGet e.

    • BatchWriteOperações simuladas por meio das IMultiTableBatchWrite interfaces IBatchWrite e.

    • TransactGetOperações simuladas por meio das IMultiTableTransactGet interfaces ITransactGet e.

    • TransactWriteOperações simuladas por meio das IMultiTableTransactWrite interfaces ITransactWrite e.

    • Simulação Scan e Query operações por meio da IAsyncSearch interface.

  • Modelo de documento

    • TableOperações simuladas por meio da ITable interface.

    • Simulação Scan e Query operações por meio da ISearch interface.

    • TransactWriteOperações simuladas por meio das IMultiTableDocumentTransactWrite interfaces IDocumentTransactWrite e.

    • TransactGetOperações simuladas por meio das IMultiTableDocumentTransactGet interfaces IDocumentTransactGet e.

    • BatchWriteOperações simuladas por meio das IMultiTableDocumentBatchWrite interfaces IDocumentBatchWrite e.

    • BatchGetOperações simuladas por meio das IMultiTableDocumentBatchGet interfaces IDocumentBatchGet 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.DynamoDB e está disponível em seu próprio NuGet pacote, AWSSDK.Dynamo, e tem seu próprio DBStreams namespace,. Amazon.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 em GitHub.

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. Essa alteração é para oferecer suporte ao OpenSSL 3 e depender do .Cryptography. BouncyCastle

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, use Ipv6Ranges as propriedades Ipv4Ranges ou.

  • Os seguintes campos obsoletos foram removidos da EC2InstanceMetadataclasse: EC2_METADATA_SVCEC2_METADATA_ROOT, EC2_USERDATA_ROOTEC2_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 Esse cliente foi movido para seu próprio pacote chamado Amazon.Extensions.S3.Encryption, e a documentação para ele está em. https://aws.github.io/amazon-s3-encryption-client-dotnet/api/Amazon.Extensions.S3.Encryption.html Para obter informações sobre migração, consulteMigração de cliente de criptografia Amazon S3. Para obter mais informações sobre a criptografia S3, consulte Algoritmos de criptografia compatíveis no Guia do desenvolvedor do Amazon S3 Encryption Client.

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 a SignatureVersionOverride propriedade, que foi usada para substituir as versões de assinatura do Amazon S3. Em vez disso, use o client.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 porque GetSignedPolicy 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 PutBucketACLGetObjectACL,, 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 propriedade DisableDefaultChecksumValidation.

    Além disso, a CalculateContentMD5Header propriedade foi removida da TransferUtilityUploadRequest classe. Essa propriedade não é mais necessária porque o SDK calcula uma soma de verificação por padrão.

  • As ServerSideEncryptionKeyManagementServiceKeyId propriedades ServerSideEncryptionMethod e foram removidas da CopyPartRequestclasse. Em vez disso, use as propriedades com os mesmos nomes na InitiateMultipartUploadRequestclasse, que são usadas em alguns dos InitiateMultipartUpload... métodos da classe AmazonS3Client.

  • A Expires propriedade foi removida da GetObjectResponseclasse. Use a propriedade ExpiresString. A string pode não estar em um formato de carimbo de data/hora válido, então seu código deve usar o TryParse 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 propriedade Filter.

    Além disso, as Transition propriedades NoncurrentVersionTransition e foram removidas da LifecycleRule classe. Em vez dissoNoncurrentVersionTransitions, use Transitions as coleções e.

  • A Event propriedade foi removida da TopicConfigurationclasse. Em vez disso, use a Events 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 propriedade BucketName.

  • A NumberOfUploadThreads propriedade foi removida da TransferUtilityConfigclasse. Em vez disso, use a ConcurrentServiceRequests 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étodos DetermineServiceURL e foram removidos. Em vez disso, use o DetermineServiceOperationEndpoint 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:

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 e StoredProfileCredentials 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: EnvironmentVariableAWSEndpointDiscoveryEnabledProfileAWSEndpointDiscoveryEnabled, e. FallbackEndpointDiscoveryEnabledFactory

  • A UseSigV4 propriedade obsoleta foi removida da AmazonWebServiceRequestclasse. Use a propriedade SignatureVersion.

  • A ProfileIniFile classe no Amazon.Runtime.Internal.Util namespace tem um método sobrecarregado chamado. TryGetSection As versões do método que não suportam o out parâmetro for nestedProperties foram removidas da classe.

  • A EventBridgeSigner classe obsoleta no Amazon.Runtime.Internal.Auth namespace foi removida.

  • A propriedade obsoleta do Parameters dicionário foi removida da WebServiceRequestEventArgsclasse. Use a propriedade ParameteCollection.

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: ResolveResourcePathProtectEncodedSlashUrlEncode, 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: LoggingResponseLogging, 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, use InvokeResponse Invoke(InvokeRequest) (para processamento síncrono) ou Task 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. Use Task InvokeAsync(InvokeRequest, CancellationToken) em vez disso.

Amazon SageMaker Runtime

Os construtores obsoletos da PayloadPartclasse foram removidos.