

Version 4 (V4) von AWS SDK für .NET wurde veröffentlicht\!

Informationen zu wichtigen Änderungen und zur Migration Ihrer Anwendungen finden Sie im [Migrationsthema](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)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Migration auf Version 4 von AWS SDK für .NET
<a name="net-dg-v4"></a>

Die AWS SDK für .NET Version 4 (V4) enthält eine beträchtliche Anzahl wichtiger Änderungen gegenüber Version 3 (V3) des SDK. In diesem Thema werden die grundlegenden Änderungen in Version 4 und mögliche Arbeiten beschrieben, die Sie möglicherweise durchführen müssen, um Ihre Umgebung oder Ihren Code von Version 3 zu migrieren. Weitere Informationen zu anderen wichtigen Änderungen im SDK finden Sie in den folgenden Ressourcen:
+ Das Development-Tracker-Problem am:. GitHub [https://github.com/aws/aws-sdk-net/issues/3362](https://github.com/aws/aws-sdk-net/issues/3362)
+ Der Blogbeitrag [Vorschau 1 von V4. AWS SDK für .NET](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/)
+ Der Blogbeitrag [Vorschau 4 von AWS SDK für .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/).
+ Der Blogbeitrag [Allgemeine Verfügbarkeit von AWS SDK für .NET V4.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>

Das.NET Framework 3.5-Ziel wurde aus Version 4 von entfernt. AWS SDK für .NET Infolgedessen unterstützt das SDK das.NET Framework 3.5 nicht mehr. Diese Version des SDK wurde für .NET Framework 4.7.2 kompiliert und läuft in der.NET 4.0-Laufzeit. Weitere Informationen finden Sie unter [Unterstützte Plattformen](net-dg-supported-platforms.md#net-dg-platform-diff-netfx45).

## Wert-Typen
<a name="net-dg-v4-value-types"></a>

Eigenschaften, die Werttypen in Klassen verwenden, die für Anfragen und Antworten verwendet werden, wurden dahingehend geändert, dass sie NULL-Wertetypen verwenden. Eigenschaften mit den folgenden Typen wurden geändert:
+ `bool`wurde geändert in `bool?` 
+ `double`wurde geändert zu `double?` 
+ `int`wurde geändert zu `int?` 
+ `float`wurde geändert zu `float?` 
+ `long`wurde geändert zu `long?` 
+ `Datetime`wurde geändert zu `Datetime?`

Weitere Informationen zu dieser Änderung finden Sie im Blogbeitrag [Preview 1 of AWS SDK für .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/).

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

Eigenschaften, die Sammlungen in Klassen verwenden, die für Anfragen und Antworten verwendet werden, verwenden jetzt standardmäßig den Wert`null`. Daher muss Ihr Code überprüfen, ob eine Sammlung nicht Null ist, bevor Sie versuchen, sie zu verwenden. Beispiel:

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

Das V3-Verhalten beim Initialisieren von Sammlungen kann wiederhergestellt werden, indem Sie `Amazon.AWSConfigs.InitializeCollections` auf `true` setzen. Diese Eigenschaft gibt es auch in V3 für Benutzer, die diese Verhaltensänderung ausprobieren möchten, bevor sie auf V4 aktualisieren.

Weitere Informationen zu dieser Änderung finden Sie im Blogbeitrag [Preview 1 of AWS SDK für .NET V4](https://aws.amazon.com/blogs/developer/preview-1-of-aws-sdk-for-net-v4/).

## AWS -Security-Token-Service (STS)
<a name="net-dg-v4-sts"></a>
+ **Der regionale Endpunkt**

  Wenn Sie Anbieter für Anmeldeinformationen verwenden, die darauf angewiesen sind AWS STS, verwenden die Anrufe immer den regionalen Endpunkt. Dies unterscheidet sich von Version 3 des SDK, bei der standardmäßig die `us-east-1` Region verwendet wurde, wenn sie in der öffentlichen Partition ausgeführt wurde, unabhängig von der konfigurierten Region.
+ **Die `StsRegionalEndpointsValue` Aufzählung**

  Die `StsRegionalEndpointsValue` Aufzählung wurde aus dem [Amazon.Runtime-Namespace](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) entfernt. Jeder Code, der diese Aufzählung verwendet, sollte entfernt werden.
+ **Die `STSAssumeRoleAWSCredentials`-Klasse**

  [Der veraltete STS-Anbieter für Anmeldeinformationen zur Übernahme der Rolle`STSAssumeRoleAWSCredentials`, wurde aus Amazon entfernt. SecurityToken](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityToken.html)Namespace. Verwenden Sie stattdessen [AssumeRoleAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAssumeRoleAWSCredentials.html)von [Amazon.Runtime.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html)

## Änderungen im Zusammenhang mit `ClientConfig`
<a name="net-dg-v4-clientconfig"></a>

Die [Amazon.Runtime. ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)ClientConfig[Klasse ist die Basisklasse von Service-Client-Konfigurationsklassen wie AmazonS3Config.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) Die folgenden Änderungen wurden an dieser Basisklasse vorgenommen.
+  **Standardmäßiger Wiederholungsmodus** 

  Die `RetryMode` Eigenschaft ist standardmäßig auf `Standard` statt. `Legacy` Aus diesem Grund wurde der `Legacy` Wert aus der [Amazon.Runtime entfernt. RequestRetryMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TRequestRetryMode.html)Aufzählung.
+  **Standardkonfigurationsmodus** 

  Die `DefaultConfigurationMode` Eigenschaft ist standardmäßig auf `Standard` statt. `Legacy` Aus diesem Grund wurde der `Legacy` Wert aus der [Amazon.Runtime entfernt. DefaultConfigurationMode](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TDefaultConfigurationMode.html)Aufzählung.
+  **Das Eigentum `ReadWriteTimeout`** 

  Die veraltete `ReadWriteTimeout` Eigenschaft wurde aus allen Zielen außer .NET Framework 4.7.2 entfernt.

## Die AWSSDK .Extensions. NETCore.Setup-Paket NuGet
<a name="net-dg-v4-netcore-setup"></a>

Die [AWSSDK.Extensions. NETCore NuGet .Setup-Paket](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/) wurde aktualisiert, um Probleme zu beheben, die in Version 3 des SDK auftraten, und um das Paket für Native AOT sicher zu machen. Diese Änderungen sind im Folgenden zusammengefasst. Ausführliche Informationen finden Sie unter [PR 3353](https://github.com/aws/aws-sdk-net/pull/3353) im [aws-sdk-net](https://github.com/aws/aws-sdk-net)Repository unter GitHub.
+ **Die `DefaultClientConfig`-Klasse**

  Die `DefaultClientConfig` Klasse wird nicht mehr von der Basisklasse [Amazon.Runtime für die Service-Client-Konfiguration übernommen. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html). Die relevanten Eigenschaften von `ClientConfig` wurden `DefaultClientConfig` unter Verwendung von Nullwerttypen repliziert. Diese Änderung ermöglicht es uns zu erkennen, wann ein Wert aktiviert wurde, `DefaultClientConfig` wenn die Werte in die Konfiguration kopiert werden, die für den Service-Client erstellt wird.

  Ein besonderes Ergebnis dieser Änderung `DefaultClientConfig.HttpClientFactory` ist, dass sie in Version 4 nicht mehr verfügbar ist. Verwenden Sie stattdessen `AWSConfigs.HttpClientFactory`. Weitere Informationen finden Sie in [GitHub Ausgabe 3790](https://github.com/aws/aws-sdk-net/issues/3790).

  Ein weiteres Ergebnis dieser Änderung ist, dass die generischen Überladungen der `IConfiguration.GetAWSOptions` Erweiterungsmethode, die ein Dienstkonfigurationsobjekt akzeptiert hat, entfernt wurden. Stattdessen sollte die nicht generische Überladung verwendet werden, und das SDK kümmert sich automatisch um das Ausfüllen dienstspezifischer Einstellungen. [Weitere Informationen finden Sie in Ausgabe 3866. GitHub ](https://github.com/aws/aws-sdk-net/issues/3866)
+ **Natives AOT**

  Dem Paket wurde ein neuer Mechanismus zum Erstellen von Service-Clients hinzugefügt, der statische C\# 11-Schnittstellenmethoden verwendet. Durch diese Änderung entfällt die Notwendigkeit, Assembly-Ladevorgänge durchzuführen, um Instanzen von Dienstclients zu erstellen, einschließlich der Bearbeitung von Zeichenketten des Dienstschnittstellennamens zur Berechnung des Dienstclienttyps, der mit Native AOT nicht kompatibel ist. Diese Änderung ist nur für.NET 8 und höher verfügbar. Ältere Versionen verwenden immer noch den ursprünglichen Mechanismus.

Weitere Informationen zu diesem Paket in diesem Handbuch finden Sie unter[AWSSDK.Erweiterungen. NETCore.Setup und IConfiguration](net-dg-config-netcore.md). Der Quellcode für dieses Paket befindet sich GitHub unter[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` und `UrlSigner`
<a name="net-dg-v4-CookieSigner-UrlSigner"></a>

Die `UrlSigner` Erweiterungen `CookieSigner` und Erweiterungen für Amazon CloudFront wurden in ein separates Erweiterungspaket namens [AWSSDK.Extensions verschoben. CloudFront.Unterzeichner](https://www.nuget.org/packages/AWSSDK.Extensions.CloudFront.Signers). Diese Änderung soll OpenSSL 3 unterstützen und eine Abhängigkeit von [BouncyCastle.Cryptography](https://www.nuget.org/packages/BouncyCastle.Cryptography) übernehmen.

Der Quellcode für dieses Paket befindet sich unter. 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 im Vergleich zu UTC DateTime
<a name="net-dg-v4-utc-datetime"></a>

Einige V3-Klassen verfügen über eine DateTime Eigenschaft, die als „veraltet“ oder „veraltet“ gekennzeichnet ist, sowie über eine alternative DateTime UTC-Eigenschaft. In diesen Klassen wurde die veraltete DateTime Eigenschaft entfernt und der Name der DateTime UTC-Eigenschaft wurde in den ursprünglichen Namen der DateTime Eigenschaft geändert.

Im Folgenden finden Sie einige Beispiele für Klassen, für die diese Änderung implementiert wurde.
+ [DescribeSpotPriceHistoryRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TDescribeSpotPriceHistoryRequest.html):
  + Die veraltete `StartTime` Eigenschaft wurde entfernt und der Name der `StartTimeUtc` Eigenschaft wurde in "StartTime" geändert.
  + Die veraltete `EndTime` Eigenschaft wurde entfernt und der Name der `EndTimeUtc` Eigenschaft wurde in "EndTime" geändert.
+  [CreateFleetRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TCreateFleetRequest.html) 
  + Die veraltete `ValidFrom` Eigenschaft wurde entfernt und der Name der `ValidFromUtc` Eigenschaft wurde in "ValidFrom" geändert.
  + Die veraltete `ValidUntil` Eigenschaft wurde entfernt und der Name der `ValidUntilUtc` Eigenschaft wurde in "ValidUntil" geändert.

Diese Änderung kann zu Verzögerungen führen, wenn eine Anwendung die ursprüngliche, veraltete DateTime Eigenschaft verwendet. Bei Code, der die DateTime UTC-Eigenschaft verwendet, tritt ein Kompilierungsfehler auf.

## DateTime Parsen
<a name="net-dg-v4-datetime-parsing"></a>

Die DateTimeUnmarshaller Klasse wurde aktualisiert. Diese Klasse hatte DateTime Zeichenketten analysiert und als Ortszeit zurückgegeben. In einigen Fällen wurden diese Werte aufgrund eines früheren Updates wieder in UTC konvertiert, aber nicht immer. Nun wird davon ausgegangen, dass DateTime Zeichenketten, bei denen kein Marshalling vorgenommen wurde, UTC sind, und sie werden dann als UTC spezifiziert und unmarshallt. Dieses Update beinhaltet die folgenden Verhaltensänderungen.

Bestimmte Zeitstempeleigenschaften, die auf der DateTime Klasse basieren, wurden anhand von lokalen Zeitangaben analysiert. Dazu gehörten Antwort-Unmarshaller für Zeitstempel und Listenzeitstempel für Formate und. `TimestampFormat.ISO8601` `TimestampFormat.RFC822` DateTime Das Parsen wurde aktualisiert und gibt stattdessen UTC-Zeiten zurück.

## `ConvertFromUnixEpochSeconds` und `ConvertFromUnixEpochMilliseconds`
<a name="net-dg-v4-ConvertFromUnixEpoch"></a>

Die [ConvertFromUnixEpochMilliseconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochMillisecondsInt64.html)Methoden [ConvertFromUnixEpochSeconds](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/MAWSSDKUtilsConvertFromUnixEpochSecondsInt32.html)und, die Sekunden der Unix-Epoche in eine DateTime Struktur umwandeln, gaben die Unix-Epochenzeit als Ortszeit statt als UTC-Zeit zurück. Diese Methoden geben jetzt die UTC-Zeit zurück.

## Protokollierung
<a name="net-dg-v4-logging"></a>

Die Art und Weise, wie Sie die Protokollierung im SDK aktivieren, wurde für Version 4 aktualisiert. Die Protokollierung an der Konsole und die Systemdiagnose funktionieren genauso wie V3, d. h. die `LoggingConfig.LogTo` Eigenschaft der [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)Klasse wird entweder auf `LoggingOptions.Console` oder gesetzt`LoggingOptions.SystemDiagnostics`. Die [LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)Option für `log4net` wurde zusammen mit der internen Logik des SDK für die Verwendung von Reflection zum Anhängen an eine In-Memory-Instanz von `log4net` entfernt.

Um die SDK-Protokollierung in ein Logging-Framework einzubinden, wird ein separates Adapterpaket verwendet, um das SDK mit dem Logging-Framework zu verbinden. [Verwenden Sie das [AWSSDK.Extensions.Logging.Log4-Paket für und das NetAdaptor .Extensions.Logging](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.Log4NetAdaptor). `log4net` AWSSDK ILogger`Microsoft.Extensions.Logging`Adapterpaket für.](https://www.nuget.org/packages/AWSSDK.Extensions.Logging.ILoggerAdaptor/#readme-body-tab) Die folgenden Codebeispiele zeigen Ihnen, wie Sie die Protokollierung in diesen beiden Fällen konfigurieren.

### Beispielkonfiguration für log4net
<a name="w2aac25c11c27b7b1"></a>

Fügen Sie das `AWSSDK.Extensions.Logging.Log4NetAdaptor` NuGet Paket hinzu und rufen Sie die statische `ConfigureAWSSDKLogging` Methode von auf. `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));
```

### Beispielkonfiguration für Microsoft.Extensions.Logging
<a name="w2aac25c11c27b7b3"></a>

Fügen Sie das `AWSSDK.Extensions.Logging.ILoggerAdaptor` NuGet Paket hinzu und rufen Sie die `ConfigureAWSSDKLogging` Erweiterungsmethode über die Schnittstelle auf. `ILoggerFactory`

```
var builder = WebApplication.CreateBuilder(args);

var app = builder.Build();

app.Services.GetRequiredService<ILoggerFactory>()
    .ConfigureAWSSDKLogging();
```

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

Support für HTTP 2 wurde hinzugefügt, um bidirektionales Streaming zu ermöglichen. Weitere Informationen finden Sie unter [Support für HTTP 2](http2-support.md).

## Single Sign-On
<a name="net-dg-v4-sso"></a>

Der Standardwert der `SupportsGettingNewToken` Eigenschaft der [SSOAWSCredentialsOptions-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentialsOptions.html) wurde von `true` auf `false` geändert. Wenn Sie über Anwendungen verfügen, die die [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html)Klasse zum Abrufen von SSO-Anmeldeinformationen verwenden, müssen Sie die `Options.SupportsGettingNewToken` Eigenschaft möglicherweise auf setzen`true`. Beispiele für diese Konfiguration finden Sie in den [Codebeispielen](sso-tutorial-app-only.md#sso-tutorial-app-only-code) unter[Tutorial für SSO mit ausschließlich.NET-Anwendungen](sso-tutorial-app-only.md). Weitere Informationen finden Sie unter [PR 3737](https://github.com/aws/aws-sdk-net/pull/3737) im [aws-sdk-net](https://github.com/aws/aws-sdk-net) GitHub Repository.

## DynamoDB-spezifische Änderungen
<a name="net-dg-v4-ddb-specific"></a>

Die folgenden Änderungen sind spezifisch für Amazon DynamoDB. Bei vielen von ihnen handelt es sich um grundlegende Änderungen.

Weitere Informationen zu Änderungen an DynamoDB in Version 4 von finden Sie im Blogbeitrag [Preview 4 of AWS SDK für .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/). AWS SDK für .NET

### Zum Anzeigen von Artikeln öffnen
<a name="w2aac25c11c35b7b1"></a>

V4-Änderungen im SDK für DynamoDB beheben einige Probleme im Zusammenhang mit der Testbarkeit, konzentrieren sich jedoch hauptsächlich auf die Bibliotheken auf hoher Ebene:
+ [Das.NET-Dokumentmodell](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKMidLevel.html), das [DocumentModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DocumentModel.html)im Code benannt ist.
+ [Das.NET-Objektpersistenzmodell](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKHighLevel.html), das [DataModel](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/NDynamoDBv2DataModel.html)im Code benannt ist. 

Ausführliche Informationen zu diesen Programmiermodi finden Sie [DynamoDB](dynamodb-intro.md) in diesem Handbuch.

#### Dokumentmodell: Die Ausnahme für die gefälschte Schnittstelle wurde `IAmazonDynamoDB` aktualisiert
<a name="w2aac25c11c35b7b1b9"></a>

Wenn im Dokumentenmodell vor Version 4 des SDK eine [Tabelle mit einer simulierten IAmazon](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TTable.html) [DynamoDB-Schnittstelle](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDB.html) initialisiert wurde, wurde sie zurückgegeben. `NullReferenceException` Stattdessen kehrt Version 4 des SDK zurück. `InvalidOperationException` Asynchrone `Table` Methoden sollten mit einem gefälschten Client funktionieren, aber es kann trotzdem zu Ausnahmen kommen, wenn Sie synchrone Methoden von aufrufen. `.NET/Core/Standard`

Weitere Informationen zu dieser Änderung finden Sie unter [PR](https://github.com/aws/aws-sdk-net/pull/3388) 3388 unter. GitHub

#### Modell des Dokuments: `FromJson` und Methoden `ToJson`
<a name="w2aac25c11c35b7b1c11"></a>

Die `ToJson` Methoden `FromJson` und der [Document-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDocument.html) werden jetzt `System.Text.Json` anstelle von LitJson Serialisierung verwendet und LitJson wurden aus Version 4 des SDK entfernt. Ein Vorteil der Verwendung `System.Text.Json` besteht darin, dass dieser Parser die Verwendung `Decimal` des.NET-Typs unterstützt, der eine höhere Genauigkeit für numerische Gleitkommaeigenschaften unterstützt.

#### Object Persistence Model: Die Klasse `DynamoDBOperationConfig`
<a name="w2aac25c11c35b7b1c13"></a>

Im Objektpersistenzmodell wurden die folgenden Änderungen an der gemeinsam genutzten [Dynamo DBOperation Config-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBOperationConfig.html) vorgenommen:
+ Die Klasse wurde in neue betriebsspezifische Klassen wie [SaveConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TSaveConfig.html), und aufgeteilt. [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) Methoden, die dies erfordern, `DynamoDBOperationConfig` wurden als veraltet markiert und können in future entfernt werden.

  Weitere Informationen zu dieser Änderung finden Sie in [PR 3421](https://github.com/aws/aws-sdk-net/pull/3421) unter GitHub.
+ Die `DisableFetchingTableMetadata` Eigenschaften `MetadataCachingMode` und wurden aus der Klasse entfernt. Diese Eigenschaften waren nicht in den zuvor erwähnten neuen betriebsspezifischen Klassen enthalten. [Bei den entfernten Eigenschaften handelt es sich um Einstellungen auf Tabellenebene, die für die globale `Context` Eigenschaft der DynamoDB-Klasse oder für die [AWSConfigsDynamo Config-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html) angegeben werden sollten. DBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html)

  [Weitere Informationen zu dieser Änderung finden Sie in PR 3422 unter.](https://github.com/aws/aws-sdk-net/pull/3422) GitHub
+ Die Klasse erbt nicht mehr von der [Dynamo DBContext Config-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContextConfig.html). Dadurch wird verhindert, dass Sie ein `DynamoDBOperationConfig` Objekt an den Konstruktor für [Dynamo](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBContext.html) übergebenDBContext, wo einige Eigenschaften der betriebsspezifischen Konfiguration (z. B.) nicht zutreffen. `OverrideTableName`

  [Weitere Informationen zu dieser Änderung finden Sie in PR 3422 unter.](https://github.com/aws/aws-sdk-net/pull/3422) GitHub

#### Modell der Objektpersistenz: Polymorphismus
<a name="w2aac25c11c35b7b1c15"></a>

Die [DBPolymorphicTypeAttributeDynamo-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TDynamoDBPolymorphicTypeAttribute.html) wurde dem Objektpersistenzmodell hinzugefügt. Diese Klasse ermöglicht die Unterstützung für die Serialisierung und Deserialisierung polymorpher Typen. [Weitere Informationen finden Sie unter PR 3643 unter.](https://github.com/aws/aws-sdk-net/pull/3643) GitHub

#### Dokumentmodell und Objektpersistenzmodell: Machbare Operationen
<a name="w2aac25c11c35b7b1c17"></a>

Es wurden neue betriebsspezifische Schnittstellen hinzugefügt, mit denen Kunden DynamoDB-Operationen simulieren können. Die Factory-Methoden auf der [IDynamoDBContext](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/DynamoDBv2/TIDynamoDBContext.html)Schnittstelle wurden aktualisiert und geben nun die neuen Schnittstellen zurück.

Weitere Informationen zu dieser Änderung finden Sie unter [PR 3450](https://github.com/aws/aws-sdk-net/pull/3450) unter GitHub.
+ Object Persistence-Modell
  + Simulieren Sie `BatchGet` Operationen über die `IMultiTableBatchGet` Schnittstellen `IBatchGet` und.
  + `BatchWrite`Simulieren Sie Operationen über die `IMultiTableBatchWrite` Schnittstellen `IBatchWrite` und.
  + `TransactGet`Simulieren Sie Operationen über die `IMultiTableTransactGet` Schnittstellen `ITransactGet` und.
  + `TransactWrite`Simulieren Sie Operationen über die `IMultiTableTransactWrite` Schnittstellen `ITransactWrite` und.
  + `Query`Simulationen `Scan` und Operationen über die `IAsyncSearch` Schnittstelle.
+ Dokument-Modell
  + Simulieren Sie `Table` Operationen über die `ITable` Schnittstelle.
  + `Scan`Vortäuschen und `Query` Operationen über die `ISearch` Schnittstelle.
  + `TransactWrite`Simulieren Sie Operationen über die `IMultiTableDocumentTransactWrite` Schnittstellen `IDocumentTransactWrite` und.
  + `TransactGet`Simulieren Sie Operationen über die `IMultiTableDocumentTransactGet` Schnittstellen `IDocumentTransactGet` und.
  + `BatchWrite`Simulieren Sie Operationen über die `IMultiTableDocumentBatchWrite` Schnittstellen `IDocumentBatchWrite` und.
  + `BatchGet`Simulieren Sie Operationen über die `IMultiTableDocumentBatchGet` Schnittstellen `IDocumentBatchGet` und.

#### Dokumentenmodell und Objektpersistenzmodell: Support für natives AOT
<a name="w2aac25c11c35b7b1c19"></a>

Eine Einschränkung von Native AOT ist die Unterstützung verschachtelter .NET-Typen. In einigen Fällen können diese verschachtelten Typen von der Trimmkomponente des.NET-Compilers unbemerkt bleiben. In diesem Fall erhalten Sie möglicherweise eine Ausnahme wie: "“ `System.InvalidOperationException: Type <type> is unsupported, it cannot be instantiated.`

Sie können diese Einschränkung umgehen, indem Sie das `DynamicDependency` irgendwo im Codepfad hinzufügen, das den Trimmer über die Abhängigkeit vom Untertyp informiert. Der Konstruktor des.NET-Typs der obersten Ebene, der gespeichert wird, ist ein wahrscheinlicher Ort. Das folgende Codebeispiel zeigt Ihnen, wie Sie das `DynamicDependency` Attribut verwenden:

```
[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) wurde aus dem [AWSSDK.dynamoDB-Paket](https://www.nuget.org/packages/AWSSDK.DynamoDBv2) entfernt und ist in einem eigenen NuGet Paket, [AWSSDK.Dynamo DBStreams](https://www.nuget.org/packages/AWSSDK.DynamoDBStreams), verfügbar und hat seinen eigenen Namespace. `Amazon.DynamoDBStreams`

#### Erlaubt das Entfernen `TableNamePrefix` des Werts
<a name="w2aac25c11c35b7b1c23"></a>

Sie können jetzt den Wert der `TableNamePrefix` Eigenschaft in der [Dynamo DBContext Config-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html) auf der Ebene der einzelnen Operationen entfernen. Weitere Informationen zu dieser Änderung finden Sie in [PR 3476](https://github.com/aws/aws-sdk-net/pull/3476) unter. GitHub

#### `RetrieveDateTimeInUtc` Eigenschaft
<a name="w2aac25c11c35b7b1c25"></a>

Für die [Dynamo DBContext Config-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TDynamoDBContextConfig.html) wurde der Standardwert der `RetrieveDateTimeInUtc` Eigenschaft auf `true` geändert.

#### `DynamoDBContextTableNamePrefix` Eigenschaft
<a name="w2aac25c11c35b7b1c27"></a>

Die `DynamoDBContextTableNamePrefix` Eigenschaft wurde aus der [AWSConfigsDynamoDB-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsDynamoDB.html) entfernt. Benutzer sollten anstelle von anrufen `AWSConfigsDynamoDB.Context.TableNamePrefix` 

## Spezifische Änderungen für EC2
<a name="net-dg-v4-ec2-specific"></a>

Die folgenden Änderungen sind spezifisch für Amazon EC2. Bei den meisten oder allen handelt es sich um grundlegende Änderungen.

### Zum Ansehen von Artikeln öffnen
<a name="w2aac25c11c39b5b1"></a>

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

Die `GetDecryptedPassword` Erweiterung für Amazon EC2 wurde in ein separates Erweiterungspaket namens [AWSSDK.Extensions.EC2 verschoben. DecryptPassword](https://www.nuget.org/packages/AWSSDK.Extensions.EC2.DecryptPassword). Diese Änderung soll OpenSSL 3 unterstützen und eine Abhängigkeit von [BouncyCastle.Cryptography](https://www.nuget.org/packages/BouncyCastle.Cryptography) übernehmen.

Der Quellcode für dieses Paket befindet sich unter. 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)

#### Support für Amazon EC2 IMDSv1
<a name="w2aac25c11c39b5b1b5"></a>

Die Support für Instance Metadata Service Version 1 (IMDSv1) wurde entfernt. Version 4 des SDK verwendet beim Abrufen von Anmeldeinformationen und anderen Metadaten aus dem IMDS immer den Instanz-Metadatendienst Version 2 (IMDSv2). Weitere Informationen zum IMDS finden Sie unter [Verwenden des IMDS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) im [Amazon EC2 EC2-Benutzerhandbuch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/).

#### Programmierelemente, die geändert oder entfernt wurden
<a name="w2aac25c11c39b5b1b7"></a>
+ Der gesamte `Amazon.EC2.Import` Namespace und der gesamte Code wurden entfernt.
+ Der gesamte `Amazon.EC2.Util` Namespace und der gesamte Code wurden entfernt, einschließlich der AMI-Dienstprogramme, die für die Suche nach EC2 AMIs für Windows verwendet wurden.
+ Die veraltete `IpRanges` Eigenschaft wurde aus der [IpPermission](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/EC2/TIpPermission.html)Klasse entfernt. Verwenden Sie stattdessen die `Ipv6Ranges` Eigenschaften `Ipv4Ranges` oder.
+ Die folgenden veralteten Felder wurden aus der [EC2InstanceMetadata](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TEC2InstanceMetadata.html)Klasse entfernt: `EC2_METADATA_SVC``EC2_METADATA_ROOT`,`EC2_USERDATA_ROOT`,`EC2_DYNAMICDATA_ROOT`, und`EC2_APITOKEN_URL`.

## Spezifische Änderungen für S3
<a name="net-dg-v4-s3-specific"></a>

Die folgenden Änderungen sind spezifisch für Amazon S3. Bei den meisten oder allen handelt es sich um grundlegende Änderungen.

### Zum Ansehen von Artikeln öffnen
<a name="w2aac25c11c43b5b1"></a>

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

Für die `us-east-1` Region konfigurierte Amazon S3 S3-Serviceclients können nicht mehr auf Buckets in anderen Regionen zugreifen. Auf Buckets muss mit S3-Serviceclients zugegriffen werden, die für die Region konfiguriert sind, in der sich der Bucket befindet.

Weitere Informationen zu dieser Änderung finden Sie im Blogbeitrag [Preview 4 of AWS SDK für .NET V4](https://aws.amazon.com/blogs/developer/preview-4-of-aws-sdk-for-net-v4/).

#### S3-Verschlüsselungsclient
<a name="w2aac25c11c43b5b1b5"></a>

Der Amazon S3 S3-Verschlüsselungsclient, der im `Amazon.S3.Encryption` Namespace definiert ist, wurde aus dem [AWSSDK.S3-Paket](https://www.nuget.org/packages/AWSSDK.S3) entfernt. Dieser Client wurde in ein eigenes Paket namens [Amazon.Extensions.S3.Encryption](https://www.nuget.org/packages/Amazon.Extensions.S3.Encryption) verschoben. Die Dokumentation dazu finden Sie unter. [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) Informationen zur Migration finden Sie unter. [Migration des S3 Encryption Clients (V1 auf V2)](s3-encryption-migration-v1-v2.md) Weitere Informationen zur S3-Verschlüsselung finden Sie unter [Unterstützte Verschlüsselungsalgorithmen](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide/encryption-algorithms.html) im [Amazon S3 Encryption Client Developer Guide](https://docs.aws.amazon.com/amazon-s3-encryption-client/latest/developerguide).

#### S3-Tagging-Direktive für `CopyObject`
<a name="w2aac25c11c43b5b1b7"></a>

Die `TaggingDirective` Eigenschaft wurde als öffentliches Eigentum der [CopyObjectRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyObjectRequest.html)Klasse bereitgestellt, das von `AmazonS3Client.CopyObject` Methoden verwendet wird. Diese Eigenschaft entspricht dem Amazon S3 `x-amz-tagging-directive` S3-Parameter, wie er in der [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)Aktion definiert ist.

Die Tagging-Direktive ist nicht mehr automatisch auf COPY gesetzt. Wenn ein Entwickler keine Tagging-Direktive spezifiziert, geht das S3-Backend automatisch davon aus, dass es sich um COPY handelt. Wenn ein Entwickler die Eigenschaft jedoch explizit auf Null setzt, wird der Wert überhaupt nicht gesetzt.

#### Die `UseArnRegion` Eigenschaft für die S3-Konfiguration
<a name="w2aac25c11c43b5b1b9"></a>

Die `UseArnRegion` Eigenschaft der Klasse [Amazon.S3.AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) wurde aktualisiert, sodass die `AWS_S3_USE_ARN_REGION` Umgebungsvariable Vorrang vor der Einstellung in der gemeinsam genutzten Datei hat. `s3_use_arn_region` AWS `config` [Weitere Informationen zu diesen Variablen und Einstellungen finden Sie in der Referenz zu den Einstellungen im Referenzhandbuch und im [Tools-Referenzhandbuch](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html).AWS SDKs ](https://docs.aws.amazon.com/sdkref/latest/guide/)

#### Führende Schrägstriche für die Methoden `CopyObject` und `CopyPart`
<a name="w2aac25c11c43b5b1c11"></a>

Führende Schrägstriche werden für Amazon S3 `CopyObject` und Methoden nicht mehr gekürzt. `CopyPart` Die `DisableTrimmingLeadingSlash` Eigenschaft wurde aus den Klassen und entfernt. [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)

#### Die `DoesS3BucketExist...` Methoden
<a name="w2aac25c11c43b5b1c13"></a>

[Die veralteten `DoesS3BucketExistAsync` Methoden `DoesS3BucketExist` und wurden aus der [AmazonS3Util-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Util.html) entfernt, die die AmazonS3-Schnittstelle implementiert. ICore](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TICoreS3.html) Diese Methoden wurden entfernt, da sie immer HTTP verwenden. Verwenden Sie stattdessen [DoeSS3 BucketExist V2](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2IS3String.html) und [DoeSS3 BucketExist V2Async](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilDoesS3BucketExistV2AsyncIS3String.html).

#### SDK verwendet immer SigV4
<a name="w2aac25c11c43b5b1c15"></a>

Version 4 von verwendet AWS SDK für .NET immer AWS Signature Version 4 (Sigv4) zum Signieren von Anfragen. Diese Änderung führt zu den folgenden verwandten Änderungen:
+ Die `UseSignatureVersion4` Eigenschaft der Klasse [AWSConfigsS3](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigsS3.html) wurde entfernt.
+ Die `SignatureVersion` Eigenschaft von [Amazon.Runtime. ClientConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)Die Klasse wurde entfernt. Diese Eigenschaft wurde aus Gründen der Abwärtskompatibilität nur von Amazon S3 verwendet.
+ Die `RegionEndpoint.Endpoint` Klasse wurde entfernt. Dazu gehört die `SignatureVersionOverride` Eigenschaft, die verwendet wurde, um Signaturversionen für Amazon S3 zu überschreiben. Verwenden Sie stattdessen die dienstspezifische `client.DetermineServiceOperationEndPoint()` Methode.
+ Aktualisierte Methoden [AmazonS3Util. ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3UtilPostUploadS3PostUploadRequest.html)PostUpload[PostUploadSignedPolicyund S3. GetSignedPolicy](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3PostUploadSignedPolicyGetSignedPolicyStringAWSCredentialsString.html)um SigV4 zu verwenden. Infolgedessen wurde die `S3PostUploadSignedPolicy.GetSignedPolicyV4` Methode entfernt, da sie `GetSignedPolicy` jetzt dieselbe Funktion erfüllt. Darüber hinaus `GetSignedPolicy` wurde ein dritter Parameter für den Endpunkt Region zugewiesen.

#### Die `GetACL` und `PutACL` Methoden
<a name="w2aac25c11c43b5b1c17"></a>

Die `PutACL` Methoden `GetACL` und der Klasse [AmazonS3Client](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html) wurden als veraltet markiert. Verwenden Sie stattdessen die folgenden neuen Methoden, um auf die Funktionalität dieser Methoden zuzugreifen:`GetBucketACL`,`PutBucketACL`, `GetObjectACL` und. `PutObjectACL`

#### Veraltete Programmierelemente wurden entfernt
<a name="w2aac25c11c43b5b1c19"></a>

Eine Reihe von Programmierelementen der Amazon S3 S3-Implementierung wurden aus Version 4 des SDK entfernt, darunter Aufzählungswerte, Typen, Methoden, Namespaces usw. Diese sind unten aufgeführt, sofern sie nicht bereits zuvor behandelt wurden, zusammen mit möglichen Schritten, die Sie ergreifen können, um ihre Entfernung zu erleichtern.
+ Die `DisableMD5Stream` Immobilie wurde aus der [TransferUtilityUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityUploadRequest.html)Klasse entfernt. Verwenden Sie die stattdessen die `DisableDefaultChecksumValidation`-Eigenschaft.

  Außerdem wurde die `CalculateContentMD5Header` Eigenschaft aus der `TransferUtilityUploadRequest` Klasse entfernt. Diese Eigenschaft wird nicht mehr benötigt, da das SDK standardmäßig eine Prüfsumme berechnet.
+ Die `ServerSideEncryptionKeyManagementServiceKeyId` Eigenschaften `ServerSideEncryptionMethod` und wurden aus der [CopyPartRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TCopyPartRequest.html)Klasse entfernt. Verwenden Sie stattdessen die Eigenschaften mit den gleichen Namen in der [InitiateMultipartUploadRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TInitiateMultipartUploadRequest.html)Klasse, die in einigen `InitiateMultipartUpload...` Methoden der [AmazonS3Client-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Client.html) verwendet wird.
+ Die `Expires` Eigenschaft wurde aus der Klasse entfernt. [GetObjectResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TGetObjectResponse.html) Verwenden Sie die stattdessen die `ExpiresString`-Eigenschaft. Die Zeichenfolge hat möglicherweise kein gültiges Zeitstempelformat, daher sollte Ihr Code die `TryParse` Methode bei der Konvertierung in eine `DateTime` verwenden.
+ Veraltete AWS-Region Bezeichner wurden aus der [S3Region-Aufzählung](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Region.html) entfernt.
+ Die `Prefix` Eigenschaft wurde aus der Klasse entfernt. [LifecycleRule](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TLifecycleRule.html) Verwenden Sie die stattdessen die `Filter`-Eigenschaft.

  Außerdem wurden die `Transition` Eigenschaften `NoncurrentVersionTransition` und aus der `LifecycleRule` Klasse entfernt. Verwenden Sie stattdessen die `Transitions` Sammlungen `NoncurrentVersionTransitions` und.
+ Die `Event` Eigenschaft wurde aus der [TopicConfiguration](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTopicConfiguration.html)Klasse entfernt. Verwenden Sie stattdessen die `Events` Sammlung.
+ CalculateContentMD5Header-Eigenschaft. Diese Eigenschaft musste nicht mehr festgelegt werden, da das SDK standardmäßig eine Prüfsumme berechnet.
+ Die `Bucket` Eigenschaft wurde aus der [SelectObjectContentRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TSelectObjectContentRequest.html)Klasse entfernt. Verwenden Sie die stattdessen die `BucketName`-Eigenschaft.
+ Die `NumberOfUploadThreads` Eigenschaft wurde aus der [TransferUtilityConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TTransferUtilityConfig.html)Klasse entfernt. Verwenden Sie stattdessen die `ConcurrentServiceRequests` Eigenschaft.

## Programmierelemente, die entfernt wurden
<a name="net-dg-v4-removed"></a>

Eine Reihe von Programmierelementen wurde aus Version 4 des SDK entfernt, darunter Aufzählungswerte, Typen, Methoden, Namespaces usw. Diese sind unten aufgeführt, sofern sie nicht bereits zuvor behandelt wurden, zusammen mit möglichen Schritten, die Sie ergreifen können, um ihre Entfernung zu erleichtern.

### Zum Ansehen von Artikeln öffnen
<a name="w2aac25c11c47b5b1"></a>

#### Der `Amazon.Auth.AccessControlPolicy.ActionIdentifiers`-Namespace
<a name="w2aac25c11c47b5b1b3"></a>

Der `Amazon.Auth.AccessControlPolicy.ActionIdentifiers` Namespace wurde entfernt. Dazu gehören IAM-Aktions-IDs, die in der Klasse definiert wurden. `IdentityandAccessManagementActionIdentifiers` Code, der diese Aktionsbezeichner verwendet, sollte so geändert werden, dass er Zeichenkettenwerte des Aktionsnamens verwendet.

Weitere Informationen finden Sie unter [Von IAM verwaltete Richtlinien aus JSON erstellen](iam-policies-create-json.md) und im [Überblick über JSON-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) im [IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

#### Die `ClientConfig` Klasse
<a name="w2aac25c11c47b5b1b7"></a>

Die [Amazon.Runtime. ](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TClientConfig.html)ClientConfig[Klasse ist die Basisklasse von Service-Client-Konfigurationsklassen wie AmazonS3Config.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html) Die folgenden Programmierelemente wurden aus dieser Klasse entfernt.
+ Die `DetermineDnsSuffix` Methoden `DetermineServiceURL` und wurden entfernt. Verwenden Sie stattdessen die `DetermineServiceOperationEndpoint` Methode des Service-Clients, zum Beispiel [AmazonS3Client. DetermineServiceOperationEndpoint](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/MS3DetermineServiceOperationEndpointWebServiceRequest.html).
+ Die `ReadEntireResponse` Immobilie wurde entfernt. Verwenden Sie stattdessen eine der folgenden Optionen:
  + Das `LogResponses` Eigentum von [AWSConfigs. LoggingConfig](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TLoggingConfig.html)Klasse.
  + Die `LogResponse` Eigenschaft der Client-Konfiguration, zum Beispiel [AmazonS3Config](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/S3/TS3Config.html).

#### Der `Amazon.Runtime`-Namespace
<a name="w2aac25c11c47b5b1c11"></a>

Der [Amazon.Runtime-Namespace](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html) wurde wie folgt aktualisiert:
+ Die veraltete `ECSTaskCredentials` Klasse wurde aus dem Namespace entfernt. Verwenden Sie stattdessen den [GenericContainerCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TGenericContainerCredentials.html)Anbieter, der auch [Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) unterstützt.
+ Die veralteten `StoredProfileCredentials` Klassen `StoredProfileAWSCredentials` und wurden aus dem Namespace entfernt. Verwenden Sie die [SDKCredentialsNet-Datei](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) oder die [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html)Klasse der [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)Stattdessen Namespace.
+ Die veraltete `HasCachedAccessTokenAvailable` Methode der [SSOAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSSOAWSCredentials.html)Klasse wurde aus dem Namespace entfernt.
+ Die veraltete `EnvironmentAWSCredentials` Klasse wurde aus dem Namespace entfernt. Verwenden Sie stattdessen die [AppConfigAWSCredentials](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TAppConfigAWSCredentials.html)-Klasse.
+ Die veraltete `StoredProfileFederatedCredentials` Klasse wurde aus dem Namespace entfernt. Verwenden Sie stattdessen die [AWSCredentialsFederated-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html).
+ Die folgenden veralteten Klassen wurden aus dem Namespace entfernt: `EnvironmentVariableAWSEndpointDiscoveryEnabled``ProfileAWSEndpointDiscoveryEnabled`, und. `FallbackEndpointDiscoveryEnabledFactory`
+ Die veraltete `UseSigV4` Eigenschaft wurde aus der [AmazonWebServiceRequest](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequest.html)Klasse entfernt. Verwenden Sie die stattdessen die `SignatureVersion`-Eigenschaft.
+ Für die `ProfileIniFile` Klasse im `Amazon.Runtime.Internal.Util` Namespace wird eine überladene Methode aufgerufen. `TryGetSection` Die Versionen der Methode, die den `out` Parameter for nicht unterstützen, `nestedProperties` wurden aus der Klasse entfernt.
+ Die veraltete `EventBridgeSigner` Klasse im `Amazon.Runtime.Internal.Auth` Namespace wurde entfernt.
+ Die veraltete `Parameters` Wörterbucheigenschaft wurde aus der [WebServiceRequestEventArgs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TWebServiceRequestEventArgs.html)Klasse entfernt. Verwenden Sie die stattdessen die `ParameteCollection`-Eigenschaft.

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

Die Quellkopie von BouncyCastle wurde aus Version 4 des SDK entfernt.

#### Die `StoredProfileSAMLCredentials` Klasse
<a name="w2aac25c11c47b5b1c15"></a>

Die veraltete `StoredProfileSAMLCredentials` Klasse im [Amazon. SecurityToken.SAML-Namespace](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SecurityToken/NSecurityTokenSAML.html) wurde entfernt. [Verwenden Sie stattdessen die [AWSCredentialsFederated-Klasse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TFederatedAWSCredentials.html) im Amazon.Runtime-Namespace.](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntime.html)

#### Die `AWSSDKUtils` Klasse
<a name="w2aac25c11c47b5b1c17"></a>

Die folgenden Methoden wurden aus der [AWSSDKUtils](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/TAWSSDKUtils.html)Klasse entfernt:`ResolveResourcePath`, und. `ProtectEncodedSlashUrlEncode` `ConvertToUnixEpochMilliSeconds`

#### Die `ProfileManager` Klasse
<a name="w2aac25c11c47b5b1c19"></a>

Die veraltete `ProfileManager` Klasse wurde aus dem [Amazon.Util-Namespace](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Util/NUtil.html) entfernt. [Verwenden Sie die [SDKCredentialsNet-Datei](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TNetSDKCredentialsFile.html) oder [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TSharedCredentialsFile.html)-Klasse aus der Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/NRuntimeCredentialManagement.html)Stattdessen einen Namespace.

#### Die `AWSConfigs` Klasse
<a name="w2aac25c11c47b5b1c21"></a>

Die folgenden veralteten Eigenschaften wurden aus der [AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Amazon/TAWSConfigs.html)Klasse entfernt: `Logging``ResponseLogging`, und`LogMetrics`. Verwenden Sie die stattdessen die `LoggingConfig`-Eigenschaft.

#### Die `ConditionFactory` Klasse
<a name="w2aac25c11c47b5b1c23"></a>

Die Methode mit der folgenden Signatur wurde aus der [ConditionFactory](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/TConditionFactory.html)Klasse entfernt:`NewCondition(ConditionFactory.DateComparisonType, DateTime)`. Verwenden Sie stattdessen die [NewConditionUtc](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Auth/MConditionFactoryNewConditionUtcConditionFactoryDateComparisonTypeDateTime.html)Methode.

#### CloudFront Amazon-Dienstprogramme
<a name="w2aac25c11c47b5b1c25"></a>

Der veraltete `Amazon.CloudFront.Util` Namespace und die veraltete `AmazonCloudFrontUtil` Klasse wurden entfernt.

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

In der [ListPrincipalThingsResponse](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/IoT/TListPrincipalThingsResponse.html)Klasse wurde eine veraltete Anpassung für eine `NextToken` Überschreibung zugunsten der Paginierung entfernt.

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

Die folgenden `Invoke...` Methoden der [AmazonLambdaClient](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Lambda/TLambdaClient.html)Klasse wurden entfernt, da die Namen verwirrend waren.
+ Die V3-Methode mit der folgenden Signatur wurde entfernt:`InvokeAsyncResponse InvokeAsync(InvokeAsyncRequest)`. Dies ist eine synchrone Methode in V3 des SDK. Verwenden Sie `InvokeResponse Invoke(InvokeRequest)` stattdessen (für synchrone Verarbeitung) oder `Task InvokeAsync(InvokeRequest, CancellationToken)` (für asynchrone Verarbeitung).
+ Die V3-Methode mit der folgenden Signatur wurde entfernt:. `Task InvokeAsyncAsync(InvokeAsyncRequest, CancellationToken)` Dies ist eine asynchrone Methode in V3 des SDK. Verwenden Sie stattdessen `Task InvokeAsync(InvokeRequest, CancellationToken)`.

#### Amazon SageMaker Runtime
<a name="w2aac25c11c47b5b1c31"></a>

Veraltete Konstruktoren für die [PayloadPart](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/SageMakerRuntime/TPayloadPart.html)Klasse wurden entfernt.