

È stata rilasciata la versione 4 (V4) di\! AWS SDK per .NET 

Per informazioni su come apportare modifiche e migrare le applicazioni, consulta l'argomento sulla [migrazione](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html).

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

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
<a name="net-dg-v4"></a>

La AWS 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 importanti nell'SDK, consulta le seguenti risorse:
+ Il problema Development-Tracker su:. GitHub [https://github.com/aws/aws-sdk-net/issues/3362](https://github.com/aws/aws-sdk-net/issues/3362)
+ Il post sul blog [Anteprima](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/) 1 di V4. AWS SDK per .NET 
+ Il post sul blog [Preview 4 of AWS SDK per .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/).
+ Il post sul blog [Disponibilità generale della AWS SDK per .NET versione 4.0](https://aws.amazon.com/blogs/developer/general-availability-of-aws-sdk-for-net-v4-0/).

## .NET Framework
<a name="net-dg-v4-framework3.5"></a>

Il target DI.NET Framework 3.5 è stato rimosso dalla versione 4 di. AWS SDK per .NET Di conseguenza, l'SDK non supporta più .NET Framework 3.5. Questa versione dell'SDK è compilata su .NET Framework 4.7.2 e viene eseguita nel runtime .NET 4.0. [Per ulteriori informazioni, consulta Piattaforme supportate.](net-dg-supported-platforms.md#net-dg-platform-diff-netfx45)

## Tipi di valore
<a name="net-dg-v4-value-types"></a>

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?`

Per ulteriori informazioni su questa modifica, consulta il post del blog [Preview 1 of AWS SDK per .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/).

## Raccolte
<a name="net-dg-v4-collections"></a>

Le proprietà che utilizzano raccolte nelle classi utilizzate per effettuare richieste e risposte ora sono predefinite. `null` Di conseguenza, il codice deve verificare che una raccolta non sia nulla prima di provare a utilizzarla. 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.

Per ulteriori informazioni su questa modifica, consulta il post del blog [Preview](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/) 1 of V4. AWS SDK per .NET 

## AWS Security Token Service (STS)
<a name="net-dg-v4-sts"></a>
+ **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`enum**

  L'`StsRegionalEndpointsValue`enum è stato rimosso dallo spazio dei nomi [Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html). 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` SecurityToken](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityToken.html)spazio dei nomi. Utilizzalo invece [AssumeRoleAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAssumeRoleAWSCredentials.html)da [Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html).

## Modifiche relative a `ClientConfig`
<a name="net-dg-v4-clientconfig"></a>

[Amazon.Runtime. ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)ClientConfig[class è la classe base delle classi di configurazione dei client di servizio come AmazonS3Config.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) 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, il `Legacy` valore è stato rimosso da Amazon.Runtime. RequestRetryMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TRequestRetryMode.html)enum.
+  **Modalità di configurazione predefinita** 

  Il valore predefinito della `DefaultConfigurationMode` proprietà è `Standard` invece di. `Legacy` [Di conseguenza, il `Legacy` valore è stato rimosso da Amazon.Runtime. DefaultConfigurationMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TDefaultConfigurationMode.html)enum.
+  **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
<a name="net-dg-v4-netcore-setup"></a>

Il [AWSSDKfile .Extensions. NETCoreIl NuGet pacchetto.Setup](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.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, vedere [PR 3353](https://github.com/aws/aws-sdk-net/pull/3353) nel [aws-sdk-net](https://github.com/aws/aws-sdk-net)repository su. GitHub
+ **Classe `DefaultClientConfig`**

  [La `DefaultClientConfig` classe non viene più ereditata dalla classe base di configurazione del client di servizio Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html). 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.

  Un risultato particolare di questa modifica è che non `DefaultClientConfig.HttpClientFactory` è più disponibile nella V4. Usare invece `AWSConfigs.HttpClientFactory`. Per ulteriori informazioni, vedere il [GitHub numero 3790](https://github.com/aws/aws-sdk-net/issues/3790).

  Un altro risultato di questa modifica è che gli overload generici del metodo di `IConfiguration.GetAWSOptions` estensione che accettava un oggetto di configurazione del servizio sono stati rimossi. In alternativa, è necessario utilizzare l'overload non generico e l'SDK gestirà automaticamente la compilazione delle impostazioni specifiche del servizio. [Per ulteriori informazioni, consulta il numero 3866. GitHub ](https://github.com/aws/aws-sdk-net/issues/3866)
+ **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.

Per ulteriori informazioni su questo pacchetto contenute in questa guida, vedere[AWSSDK.Estensioni. NETCore.Setup e IConfiguration](net-dg-config-netcore.md). Il codice sorgente di questo pacchetto è disponibile GitHub all'indirizzo[https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup](https://github.com/aws/aws-sdk-net/tree/main/extensions/src/AWSSDK.Extensions.NETCore.Setup).

## `CookieSigner` e `UrlSigner`
<a name="net-dg-v4-CookieSigner-UrlSigner"></a>

Le `UrlSigner` estensioni `CookieSigner` e per Amazon CloudFront sono state spostate in un pacchetto di estensioni separato chiamato [AWSSDK.Extensions. CloudFront.Firmatari.](https://www.nuget.org/packages/AWSSDK.Extensions.CloudFront.Signers) [Questa modifica prevede il supporto di OpenSSL 3 e la dipendenza da.Cryptography. BouncyCastle](https://www.nuget.org/packages/BouncyCastle.Cryptography)

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

## DateTime contro UTC DateTime
<a name="net-dg-v4-utc-datetime"></a>

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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TDescribeSpotPriceHistoryRequest.html):
  + 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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TCreateFleetRequest.html) 
  + 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
<a name="net-dg-v4-datetime-parsing"></a>

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`
<a name="net-dg-v4-ConvertFromUnixEpoch"></a>

[ConvertFromUnixEpochMilliseconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochMillisecondsInt64.html)I metodi [ConvertFromUnixEpochSeconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochSecondsInt32.html)and, 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 dei log
<a name="net-dg-v4-logging"></a>

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. [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)`LoggingOptions.Console``LoggingOptions.SystemDiagnostics` L'[LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)opzione 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](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.Log4NetAdaptor). `log4net` AWSSDK ILogger`Microsoft.Extensions.Logging`Pacchetto adattatore per.](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.ILoggerAdaptor/#readme-body-tab) I seguenti esempi di codice mostrano come configurare la registrazione in questi due casi.

### Esempio di configurazione per log4net
<a name="w2aac25c11c27b7b1"></a>

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));
```

### Configurazione di esempio per Microsoft.Extensions.Logging
<a name="w2aac25c11c27b7b3"></a>

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();
```

## Support per HTTP 2
<a name="net-dg-v4-http2"></a>

È stato aggiunto il supporto per HTTP 2 per abilitare lo streaming bidirezionale. Per ulteriori informazioni, consulta [Support per HTTP 2](http2-support.md).

## Autenticazione unica
<a name="net-dg-v4-sso"></a>

Il valore predefinito della `SupportsGettingNewToken` proprietà della classe [SSOAWSCredentialsOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentialsOptions.html) è stato modificato da a. `true` `false` Se disponete di applicazioni che utilizzano la [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html)classe per ottenere le credenziali SSO, potrebbe essere necessario impostare la `Options.SupportsGettingNewToken` proprietà su. `true` Per esempi di questa configurazione, consultate gli [esempi di codice](sso-tutorial-app-only.md#sso-tutorial-app-only-code) in. [Tutorial per SSO che utilizza solo applicazioni.NET](sso-tutorial-app-only.md) Per ulteriori informazioni, vedere [PR 3737](https://github.com/aws/aws-sdk-net/pull/3737) nel [aws-sdk-net](https://github.com/aws/aws-sdk-net) GitHub repository.

## Modifiche specifiche a DynamoDB
<a name="net-dg-v4-ddb-specific"></a>

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

Per ulteriori informazioni sulle modifiche a DynamoDB nella V4 del, consulta il [post AWS SDK per .NET](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/) del blog Preview 4 of V4. AWS SDK per .NET 

### Apri per visualizzare gli elementi
<a name="w2aac25c11c35b7b1"></a>

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](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKMidLevel.html), denominato nel codice. [DocumentModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DocumentModel.html)
+ Il [modello.NET Object Persistence](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKHighLevel.html), denominato [DataModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DataModel.html)nel codice. 

Per informazioni dettagliate su queste modalità di programmazione, [DynamoDB](dynamodb-intro.md) consulta questa guida.

#### Modello di documento: eccezione aggiornata per l'interfaccia `IAmazonDynamoDB` simulata
<a name="w2aac25c11c35b7b1b9"></a>

[Nel modello di documento precedente alla V4 dell'SDK, se una [tabella](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TTable.html) veniva inizializzata con un'interfaccia DynamoDB IAmazon simulata, veniva restituita.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDB.html) `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.](https://github.com/aws/aws-sdk-net/pull/3388) GitHub

#### Modello di documento: `FromJson` e metodi `ToJson`
<a name="w2aac25c11c35b7b1c11"></a>

`ToJson`I metodi `FromJson` and della classe [Document](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDocument.html) 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.

#### Modello di persistenza degli oggetti: la classe `DynamoDBOperationConfig`
<a name="w2aac25c11c35b7b1c13"></a>

Nel modello di persistenza degli oggetti, sono state apportate le seguenti modifiche alla classe condivisa [Dynamo DBOperation Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBOperationConfig.html):
+ La classe è stata suddivisa in nuove classi specifiche per l'operazione come, e. [SaveConfig[LoadConfig[QueryConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TQueryConfig.html)](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TLoadConfig.html)](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TSaveConfig.html) I metodi utilizzati `DynamoDBOperationConfig` sono stati contrassegnati come obsoleti e sono soggetti a rimozione in futuro.

  Per ulteriori informazioni su questa modifica, vedere [PR 3421](https://github.com/aws/aws-sdk-net/pull/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 nella `Context` proprietà globale della classe [AWSConfigsDynamoDB o nella classe Dynamo](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html) Config. DBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html)

  [Per ulteriori informazioni su questa modifica, vedere PR 3422 su.](https://github.com/aws/aws-sdk-net/pull/3422) GitHub
+ La classe non eredita più dalla classe [Dynamo DBContext Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html). Ciò impedisce di passare un `DynamoDBOperationConfig` oggetto al costruttore di [Dynamo DBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContext.html), dove alcune proprietà della configurazione specifica dell'operazione (come) non sono applicabili. `OverrideTableName`

  [Per ulteriori informazioni su questa modifica, vedere PR 3422 su.](https://github.com/aws/aws-sdk-net/pull/3422) GitHub

#### Modello di persistenza degli oggetti: polimorfismo
<a name="w2aac25c11c35b7b1c15"></a>

La DBPolymorphic TypeAttribute classe [Dynamo](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBPolymorphicTypeAttribute.html) è stata aggiunta al modello di persistenza degli oggetti. Questa classe consente il supporto per la serializzazione e la deserializzazione di tipi polimorfici. [Per ulteriori informazioni, vedere PR 3643 su.](https://github.com/aws/aws-sdk-net/pull/3643) GitHub

#### Modello di documento e modello di persistenza degli oggetti: operazioni mockabili
<a name="w2aac25c11c35b7b1c17"></a>

Sono state aggiunte nuove interfacce specifiche per le operazioni che consentono ai clienti di simulare le operazioni di DynamoDB. I metodi di fabbrica sull'[IDynamoDBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDBContext.html)interfaccia sono stati aggiornati per restituire le nuove interfacce.

Per ulteriori informazioni su questa modifica, vedere [PR 3450](https://github.com/aws/aws-sdk-net/pull/3450) su. GitHub
+ Modello di persistenza degli oggetti
  + `BatchGet`Operazioni simulate tramite le interfacce `IBatchGet` and`IMultiTableBatchGet`.
  + `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` e `Query` operazioni tramite l'interfaccia. `IAsyncSearch`
+ Modello di documento
  + `Table`Operazioni simulate tramite l'interfaccia. `ITable`
  + Simulazione `Scan` e `Query` operazioni tramite l'`ISearch`interfaccia.
  + `TransactWrite`Operazioni simulate tramite le interfacce `IDocumentTransactWrite` and`IMultiTableDocumentTransactWrite`.
  + `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
<a name="w2aac25c11c35b7b1c19"></a>

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
<a name="w2aac25c11c35b7b1c21"></a>

[Dynamo DBStreams](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html) è stato rimosso dal [AWSSDKpacchetto.DynamoDB](https://www.nuget.org/packages/AWSSDK.DynamoDBv2) ed è disponibile nel suo NuGet pacchetto, [AWSSDK.Dynamo DBStreams](https://www.nuget.org/packages/AWSSDK.DynamoDBStreams), e ha il proprio spazio dei nomi,. `Amazon.DynamoDBStreams`

#### Consenti la rimozione `TableNamePrefix` del valore
<a name="w2aac25c11c35b7b1c23"></a>

È ora possibile rimuovere il valore della `TableNamePrefix` proprietà nella classe [Dynamo DBContext Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html) a livello di singola operazione. Per ulteriori informazioni su questa modifica, vedere [PR](https://github.com/aws/aws-sdk-net/pull/3476) 3476 su. GitHub

#### Proprietà `RetrieveDateTimeInUtc`
<a name="w2aac25c11c35b7b1c25"></a>

Per la classe [Dynamo DBContext Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html), il valore predefinito della `RetrieveDateTimeInUtc` proprietà è stato modificato in. `true`

#### Proprietà `DynamoDBContextTableNamePrefix`
<a name="w2aac25c11c35b7b1c27"></a>

Rimossa la `DynamoDBContextTableNamePrefix` proprietà dalla classe [AWSConfigsDynamoDB](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html). Gli utenti devono chiamare invece `AWSConfigsDynamoDB.Context.TableNamePrefix` di 

## Modifiche specifiche di EC2
<a name="net-dg-v4-ec2-specific"></a>

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

### Apri per visualizzare gli elementi
<a name="w2aac25c11c39b5b1"></a>

#### `GetDecryptedPassword`
<a name="w2aac25c11c39b5b1b3"></a>

[L'`GetDecryptedPassword`estensione per Amazon EC2 è stata spostata in un pacchetto di estensione separato chiamato AWSSDK .extensions.EC2. DecryptPassword](https://www.nuget.org/packages/AWSSDK.Extensions.EC2.DecryptPassword). [Questa modifica prevede il supporto di OpenSSL 3 e la dipendenza da.Cryptography. BouncyCastle](https://www.nuget.org/packages/BouncyCastle.Cryptography)

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

#### Supporto per Amazon EC2 IMDSv1
<a name="w2aac25c11c39b5b1b5"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) nella [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/) User Guide.

#### Elementi di programmazione che sono stati modificati o rimossi
<a name="w2aac25c11c39b5b1b7"></a>
+ L'intero `Amazon.EC2.Import` namespace e il codice sono stati rimossi.
+ L'intero `Amazon.EC2.Util` namespace e il codice sono stati rimossi, incluse le utilità AMI utilizzate per cercare AMIs EC2 per Windows.
+ La `IpRanges` proprietà obsoleta è stata rimossa dalla classe. [IpPermission](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TIpPermission.html) Utilizzate invece `Ipv6Ranges` le proprietà `Ipv4Ranges` or.
+ I seguenti campi obsoleti sono stati rimossi dalla [EC2InstanceMetadata](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TEC2InstanceMetadata.html)classe:`EC2_METADATA_SVC`,`EC2_METADATA_ROOT`, `EC2_USERDATA_ROOT``EC2_DYNAMICDATA_ROOT`, e`EC2_APITOKEN_URL`.

## Modifiche specifiche di S3
<a name="net-dg-v4-s3-specific"></a>

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

### Apri per visualizzare gli elementi
<a name="w2aac25c11c43b5b1"></a>

#### Regione AWS us-east-1
<a name="w2aac25c11c43b5b1b3"></a>

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.

Per ulteriori informazioni su questa modifica, consulta il post del blog [Preview 4 of V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/). AWS SDK per .NET 

#### Client di crittografia S3
<a name="w2aac25c11c43b5b1b5"></a>

[Il client di crittografia Amazon S3, definito nello spazio dei `Amazon.S3.Encryption` nomi, è stato rimosso dal pacchetto.S3. AWSSDK](https://www.nuget.org/packages/AWSSDK.S3) Questo client è stato spostato nel suo pacchetto chiamato [Amazon.Extensions.S3.Encryption](https://www.nuget.org/packages/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](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 S3 (da V1 a V2)](s3-encryption-migration-v1-v2.md) Per ulteriori informazioni sulla crittografia S3, consulta [Algoritmi di crittografia supportati](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide/encryption-algorithms.html) nella [Amazon S3 Encryption](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide) Client Developer Guide.

#### Direttiva di tagging S3 per `CopyObject`
<a name="w2aac25c11c43b5b1b7"></a>

La `TaggingDirective` proprietà è stata esposta come proprietà pubblica della [CopyObjectRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html)classe, utilizzata dai `AmazonS3Client.CopyObject` metodi. Questa proprietà corrisponde al `x-amz-tagging-directive` parametro Amazon S3, come definito nell'azione [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html).

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`
<a name="w2aac25c11c43b5b1b9"></a>

La `UseArnRegion` proprietà della classe [amazon.s3.amazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) è 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` [https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)

#### Barre iniziali per i metodi `CopyObject` and `CopyPart`
<a name="w2aac25c11c43b5b1c11"></a>

Le barre iniziali non verranno più tagliate per Amazon S3 e i metodi. `CopyObject` `CopyPart` La `DisableTrimmingLeadingSlash` proprietà è stata rimossa dalle classi and. [CopyObjectRequest[CopyPartRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html)](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html)

#### I `DoesS3BucketExist...` metodi
<a name="w2aac25c11c43b5b1c13"></a>

[I `DoesS3BucketExistAsync` metodi obsoleti `DoesS3BucketExist` sono stati rimossi dalla classe [AmazonS3Util, che implementa l'interfaccia AmazonS3](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Util.html). ICore](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TICoreS3.html) Questi metodi sono stati rimossi perché utilizzano sempre HTTP. Utilizzate invece [DoEss3 BucketExist V2 e [BucketExistDoESS3](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2AsyncIS3String.html) V2Async](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2IS3String.html).

#### SDK utilizza sempre SigV4
<a name="w2aac25c11c43b5b1c15"></a>

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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsS3.html) è stata rimossa.
+ La `SignatureVersion` proprietà di [Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)la classe è stata rimossa. Questa proprietà è stata utilizzata solo da Amazon S3 per la compatibilità con le versioni precedenti.
+ La `RegionEndpoint.Endpoint` classe è stata rimossa. Ciò include la `SignatureVersionOverride` proprietà, che è stata utilizzata per sovrascrivere le versioni di firma per Amazon S3. Utilizza invece il metodo specifico del servizio`client.DetermineServiceOperationEndPoint()`.
+ [Metodi aggiornati Amazons3util. ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilPostUploadS3PostUploadRequest.html)PostUpload[PostUploadSignedPolicye S3. GetSignedPolicy](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3PostUploadSignedPolicyGetSignedPolicyStringAWSCredentialsString.html)per usare SigV4. Di conseguenza, il `S3PostUploadSignedPolicy.GetSignedPolicyV4` metodo è stato rimosso perché `GetSignedPolicy` ora svolge la stessa funzione. Inoltre, `GetSignedPolicy` è stato assegnato un terzo parametro per Region endpoint.

#### I metodi `GetACL` e `PutACL`
<a name="w2aac25c11c43b5b1c17"></a>

I `PutACL` metodi `GetACL` and della classe [AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html) 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
<a name="w2aac25c11c43b5b1c19"></a>

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 [TransferUtilityUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityUploadRequest.html)classe. 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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html) Utilizzate invece le proprietà con lo stesso nome nella [InitiateMultipartUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TInitiateMultipartUploadRequest.html)classe, utilizzata in alcuni `InitiateMultipartUpload...` metodi della classe [AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html).
+ La `Expires` proprietà è stata rimossa dalla classe. [GetObjectResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TGetObjectResponse.html) 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.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Region.html)
+ La `Prefix` proprietà è stata rimossa dalla classe. [LifecycleRule](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TLifecycleRule.html) 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 [TopicConfiguration](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTopicConfiguration.html)classe. 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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TSelectObjectContentRequest.html) Va invece utilizzata la proprietà `BucketName`.
+ La `NumberOfUploadThreads` proprietà è stata rimossa dalla [TransferUtilityConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityConfig.html)classe. Utilizzate invece la `ConcurrentServiceRequests` proprietà.

## Elementi di programmazione che sono stati rimossi
<a name="net-dg-v4-removed"></a>

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.

### Apri per visualizzare gli elementi
<a name="w2aac25c11c47b5b1"></a>

#### Lo spazio dei nomi `Amazon.Auth.AccessControlPolicy.ActionIdentifiers`
<a name="w2aac25c11c47b5b1b3"></a>

Il `Amazon.Auth.AccessControlPolicy.ActionIdentifiers` namespace è 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](iam-policies-create-json.md) [Panoramica delle policy JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) nella [IAM User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

#### La classe `ClientConfig`
<a name="w2aac25c11c47b5b1b7"></a>

[Amazon.Runtime. ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)ClientConfig[class è la classe base delle classi di configurazione dei client di servizio come AmazonS3Config.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) 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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3DetermineServiceOperationEndpointWebServiceRequest.html).
+ La `ReadEntireResponse` proprietà è stata rimossa. Utilizzate invece una delle seguenti opzioni:
  + La `LogResponses` proprietà di [AWSConfigs. LoggingConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TLoggingConfig.html)classe.
  + La `LogResponse` proprietà della configurazione del client, ad esempio [AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html).

#### Lo spazio dei nomi `Amazon.Runtime`
<a name="w2aac25c11c47b5b1c11"></a>

Lo spazio dei nomi [Amazon.Runtime](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) è stato aggiornato come segue:
+ La `ECSTaskCredentials` classe obsoleta è stata rimossa dallo spazio dei nomi. Utilizza invece il [GenericContainerCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TGenericContainerCredentials.html)provider, che supporta anche [Amazon EKS Pod Identities.](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ Le `StoredProfileCredentials` classi obsolete `StoredProfileAWSCredentials` e sono state rimosse dallo spazio dei nomi. [Usa [Net SDKCredentials File](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) o la [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html)classe di Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace invece.
+ Il `HasCachedAccessTokenAvailable` metodo obsoleto della [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html)classe è stato rimosso dallo spazio dei nomi.
+ La `EnvironmentAWSCredentials` classe obsoleta è stata rimossa dallo spazio dei nomi. Al su posto, utilizza la classe [AppConfigAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAppConfigAWSCredentials.html).
+ La `StoredProfileFederatedCredentials` classe obsoleta è stata rimossa dallo spazio dei nomi. Utilizzate invece la classe [Federated AWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html).
+ Le seguenti classi obsolete sono state rimosse dallo spazio dei nomi:`EnvironmentVariableAWSEndpointDiscoveryEnabled`,, e. `ProfileAWSEndpointDiscoveryEnabled` `FallbackEndpointDiscoveryEnabledFactory`
+ La `UseSigV4` proprietà obsoleta è stata rimossa dalla classe. [AmazonWebServiceRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequest.html) 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](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequestEventArgs.html) Va invece utilizzata la proprietà `ParameteCollection`.

#### BouncyCastle
<a name="w2aac25c11c47b5b1c13"></a>

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

#### La classe `StoredProfileSAMLCredentials`
<a name="w2aac25c11c47b5b1c15"></a>

La `StoredProfileSAMLCredentials` classe obsoleta in [Amazon. SecurityTokenLo spazio dei nomi.SAML](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityTokenSAML.html) è stato rimosso. [Utilizzate invece la AWSCredentials classe [Federated](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html) nello spazio dei nomi Amazon.Runtime.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html)

#### La classe `AWSSDKUtils`
<a name="w2aac25c11c47b5b1c17"></a>

I seguenti metodi sono stati rimossi dalla classe:, e. [AWSSDKUtils](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TAWSSDKUtils.html)`ResolveResourcePath``ProtectEncodedSlashUrlEncode``ConvertToUnixEpochMilliSeconds`

#### La classe `ProfileManager`
<a name="w2aac25c11c47b5b1c19"></a>

La `ProfileManager` classe obsoleta è stata rimossa dallo spazio dei nomi [Amazon.Util](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/NUtil.html). [Utilizza il file o la classe [Net di Amazon.Runtime SDKCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html). [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html) CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace invece.

#### La classe `AWSConfigs`
<a name="w2aac25c11c47b5b1c21"></a>

Le seguenti proprietà obsolete sono state rimosse dalla [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)classe:`Logging`, `ResponseLogging` e. `LogMetrics` Va invece utilizzata la proprietà `LoggingConfig`.

#### La classe `ConditionFactory`
<a name="w2aac25c11c47b5b1c23"></a>

Il metodo con la seguente firma è stato rimosso dalla [ConditionFactory](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/TConditionFactory.html)classe:`NewCondition(ConditionFactory.DateComparisonType, DateTime)`. Usa invece il [NewConditionUtc](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/MConditionFactoryNewConditionUtcConditionFactoryDateComparisonTypeDateTime.html)metodo.

#### CloudFront Utilità Amazon
<a name="w2aac25c11c47b5b1c25"></a>

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

#### AWS IoT
<a name="w2aac25c11c47b5b1c27"></a>

Nella [ListPrincipalThingsResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TListPrincipalThingsResponse.html)classe, una personalizzazione precedente per un `NextToken` override è stata rimossa a favore dell'impaginazione.

#### AWS Lambda
<a name="w2aac25c11c47b5b1c29"></a>

I seguenti `Invoke...` metodi della [AmazonLambdaClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Lambda/TLambdaClient.html)classe 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
<a name="w2aac25c11c47b5b1c31"></a>

I costruttori obsoleti per la [PayloadPart](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SageMakerRuntime/TPayloadPart.html)classe sono stati rimossi.