

 Das [AWS SDK für JavaScript V3-API-Referenzhandbuch](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) beschreibt detailliert alle API-Operationen für die AWS SDK für JavaScript Version 3 (V3). 

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.

# Migrieren Sie von Version 2.x auf 3.x von AWS SDK für JavaScript
<a name="migrating"></a>

Die AWS SDK für JavaScript Version 3 ist eine umfassende Neufassung von Version 2. Der Abschnitt beschreibt die Unterschiede zwischen den beiden Versionen und erklärt, wie Sie von Version 2 auf Version 3 des SDK für JavaScript migrieren.

## Migrieren Sie Ihren Code mithilfe von Codemod auf SDK für JavaScript v3
<a name="migrating-to-v3"></a>

AWS SDK für JavaScript Version 3 (v3) bietet modernisierte Schnittstellen für Client-Konfigurationen und Dienstprogramme, zu denen Anmeldeinformationen, mehrteiliger Amazon S3 S3-Upload, DynamoDB-Dokumentenclient, Kellner und mehr gehören. [Was sich in Version 2 geändert hat, und was in Version 3 für jede Änderung geändert wurde, finden Sie im Migrationsleitfaden im Repo. AWS SDK für JavaScript GitHub ](https://github.com/aws/aws-sdk-js-v3/blob/main/UPGRADING.md) 

Um die Vorteile der Version 3 voll auszuschöpfen, empfehlen AWS SDK für JavaScript wir die Verwendung der unten beschriebenen Codemod-Skripte.

### Verwenden Sie Codemod, um vorhandenen v2-Code zu migrieren
<a name="using-codemod"></a>

Die Sammlung von Codemod-Skripten in [aws-sdk-js-codemod](https://www.npmjs.com/package/aws-sdk-js-codemod)hilft Ihnen bei der Migration Ihrer vorhandenen AWS SDK für JavaScript (v2) -Anwendung zur Verwendung von v3. APIs Sie können die Transformation wie folgt ausführen.

```
$ npx aws-sdk-js-codemod -t v2-to-v3 PATH...
```

Stellen Sie sich zum Beispiel vor, Sie haben den folgenden Code, der einen Amazon DynamoDB-Client aus Version 2 erstellt und Operation aufruft`listTables`.

```
// example.ts
import AWS from "aws-sdk";

const region = "us-west-2";
const client = new AWS.DynamoDB({ region });
await client.listTables({}).promise()
  .then(console.log)
  .catch(console.error);
```

Sie können unsere `v2-to-v3` Transformation `example.ts` wie folgt ausführen.

```
$ npx aws-sdk-js-codemod -t v2-to-v3 example.ts
```

Die Transformation konvertiert den DynamoDB-Import in Version 3, erstellt einen v3-Client und ruft den `listTables` Vorgang wie folgt auf.

```
// example.ts
import { DynamoDB } from "@aws-sdk/client-dynamodb";

const region = "us-west-2";
const client = new DynamoDB({ region });
await client.listTables({})
  .then(console.log)
  .catch(console.error);
```

Wir haben Transformationen für gängige Anwendungsfälle implementiert. Wenn Ihr Code nicht korrekt transformiert wird, erstellen Sie bitte einen [Fehlerbericht](https://github.com/awslabs/aws-sdk-js-codemod/issues/new?assignees=&labels=bug%2Ctriage&template=bug_report.yml&title=%5BBug%3F%5D%3A+) oder eine [Funktionsanfrage](https://github.com/awslabs/aws-sdk-js-codemod/issues/new?assignees=&labels=enhancement&template=feature_request.yml&title=%5BFeature%5D%3A+) mit Beispieleingabe- und observed/expected Ausgabecode. Wenn Ihr spezieller Anwendungsfall bereits in [einem bestehenden Problem gemeldet wurde](https://github.com/awslabs/aws-sdk-js-codemod/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc), zeigen Sie Ihre Unterstützung durch eine positive Bewertung.

## Was ist neu in Version 3
<a name="welcome_whats_new_v3"></a>

Version 3 des SDK für JavaScript (v3) enthält die folgenden neuen Funktionen.

Modularisierte Pakete  
Benutzer können jetzt für jeden Dienst ein separates Paket verwenden.

Neuer Middleware-Stack  
Benutzer können jetzt einen Middleware-Stack verwenden, um den Lebenszyklus eines Operationsaufrufs zu steuern.

Darüber hinaus ist das SDK integriert, was viele Vorteile bietet TypeScript, wie z. B. die statische Typisierung.

**Wichtig**  
Die Codebeispiele für Version 3 in diesem Handbuch sind in ECMAScript 6 (ES6) geschrieben. ES6bietet neue Syntax und neue Funktionen, um Ihren Code moderner und lesbarer zu machen und mehr zu erreichen. ES6 erfordert, dass Sie Node.js Version 13.x oder höher verwenden. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter [Node.js downloads](https://nodejs.org/en/download/). Weitere Informationen finden Sie unter [JavaScript ES6/CommonJs-Syntax](sdk-example-javascript-syntax.md).

## Modularisierte Pakete
<a name="welcome_whats_new_v3_modularized_packages"></a>

Für Version 2 des SDK für JavaScript (v2) mussten Sie das gesamte AWS SDK wie folgt verwenden.

```
var AWS = require("aws-sdk");
```

Das Laden des gesamten SDK ist kein Problem, wenn Ihre Anwendung viele AWS Dienste verwendet. Wenn Sie jedoch nur wenige AWS Dienste verwenden müssen, bedeutet dies, dass Sie die Größe Ihrer Anwendung mit Code erhöhen müssen, den Sie nicht benötigen oder verwenden.

In Version 3 können Sie nur die einzelnen AWS Dienste laden und verwenden, die Sie benötigen. Dies wird im folgenden Beispiel gezeigt, das Ihnen Zugriff auf Amazon DynamoDB (DynamoDB) gewährt.

```
import { DynamoDB } from "@aws-sdk/client-dynamodb";
```

Sie können nicht nur einzelne AWS Dienste laden und verwenden, sondern Sie können auch nur die Servicebefehle laden und verwenden, die Sie benötigen. Dies wird in den folgenden Beispielen veranschaulicht, die Ihnen Zugriff auf den DynamoDB-Client und den `ListTablesCommand` Befehl geben.

```
import {
  DynamoDBClient,
  ListTablesCommand
} from "@aws-sdk/client-dynamodb";
```

**Wichtig**  
Sie sollten Submodule nicht in Module importieren. Beispielsweise kann der folgende Code zu Fehlern führen.  

```
import { CognitoIdentity } from "@aws-sdk/client-cognito-identity/CognitoIdentity";
```
Der folgende Code ist korrekt.  

```
import { CognitoIdentity } from "@aws-sdk/client-cognito-identity";
```

### Codegröße vergleichen
<a name="welcome_whats_new_v3_modularized_packages_code_size"></a>

In Version 2 (v2) könnte ein einfaches Codebeispiel, das alle Ihre Amazon DynamoDB-Tabellen in der `us-west-2` Region auflistet, wie folgt aussehen.

```
var AWS = require("aws-sdk");
// Set the Region
AWS.config.update({ region: "us-west-2" });
// Create DynamoDB service object
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });

// Call DynamoDB to retrieve the list of tables
ddb.listTables({ Limit: 10 }, function (err, data) {
  if (err) {
    console.log("Error", err.code);
  } else {
    console.log("Tables names are ", data.TableNames);
  }
});
```

v3 sieht wie folgt aus.

```
import {
  DynamoDBClient,
  ListTablesCommand
} from "@aws-sdk/client-dynamodb";

const dbclient = new DynamoDBClient({ region: "us-west-2" });

try {
  const results = await dbclient.send(new ListTablesCommand);
  
  for (const item of results.TableNames) {
    console.log(item);
  }
} catch (err) {
  console.error(err)
}
```

Das `aws-sdk` Paket erweitert Ihre Anwendung um etwa 40 MB. Durch das `var AWS = require("aws-sdk")` Ersetzen durch `import {DynamoDB} from "@aws-sdk/client-dynamodb"` wird dieser Overhead auf etwa 3 MB reduziert. Durch die Beschränkung des Imports auf den DynamoDB-Client und den `ListTablesCommand` Befehl wird der Overhead auf weniger als 100 KB reduziert.

```
// Load the DynamoDB client and ListTablesCommand command for Node.js
import {
  DynamoDBClient,
  ListTablesCommand
} from "@aws-sdk/client-dynamodb";
const dbclient = new DynamoDBClient({});
```

### Befehle in Version 3 aufrufen
<a name="welcome_whats_new_v3_function_examples"></a>

Sie können Operationen in Version 3 entweder mit v2- oder v3-Befehlen ausführen. Um v3-Befehle zu verwenden, importieren Sie die Befehle und die erforderlichen AWS Services-Paketclients und führen den Befehl mithilfe der `.send` Methode aus, die das async/await Muster verwendet.

Um v2-Befehle zu verwenden, importieren Sie die erforderlichen AWS Services-Pakete und führen den v2-Befehl mithilfe eines Callbacks oder eines async/await Musters direkt im Paket aus.

#### Verwenden von v3-Befehlen
<a name="using_v3_commands"></a>

v3 stellt für jedes AWS Servicepaket eine Reihe von Befehlen bereit, mit denen Sie Operationen für diesen AWS Dienst ausführen können. Nachdem Sie einen AWS Dienst installiert haben, können Sie die verfügbaren Befehle in Ihrem Projekt durchsuchen `node-modules/@aws-sdk/client-PACKAGE_NAME/commands folder.` 

Sie müssen die Befehle importieren, die Sie verwenden möchten. Der folgende Code lädt beispielsweise den DynamoDB-Dienst und den `CreateTableCommand` Befehl. 

```
import { DynamoDB, CreateTableCommand } from "@aws-sdk/client-dynamodb";
```

Verwenden Sie die folgende Syntax, um diese Befehle im empfohlenen async/await Muster aufzurufen. 

```
CLIENT.send(new XXXCommand);
```

Im folgenden Beispiel wird beispielsweise eine DynamoDB-Tabelle mit dem empfohlenen async/await Muster erstellt.

```
import { DynamoDB, CreateTableCommand } from "@aws-sdk/client-dynamodb";
const dynamodb = new DynamoDB({ region: "us-west-2" });
const tableParams = {
  TableName: TABLE_NAME
};

try {
  const data = await dynamodb.send(new CreateTableCommand(tableParams));
  console.log("Success", data);
} catch (err) {
  console.log("Error", err);
};
```

#### Verwenden von v2-Befehlen
<a name="using_v2_commands"></a>

Um v2-Befehle im SDK für zu verwenden JavaScript, importieren Sie die vollständigen AWS Servicepakete, wie im folgenden Code gezeigt.

```
const { DynamoDB } = require('@aws-sdk/client-dynamodb');
```

 Verwenden Sie die folgende Syntax, um v2-Befehle im empfohlenen async/await Muster aufzurufen. 

```
client.command(parameters);
```

Im folgenden Beispiel wird der `createTable` v2-Befehl verwendet, um eine DynamoDB-Tabelle mit dem empfohlenen async/await Muster zu erstellen.

```
const { DynamoDB } = require('@aws-sdk/client-dynamodb');
const dynamoDB = new DynamoDB({ region: 'us-west-2' });
var tableParams = {
  TableName: TABLE_NAME
};
async function run() => {
  try {
    const data = await dynamoDB.createTable(tableParams);
    console.log("Success", data);
  }
  catch (err) {
    console.log("Error", err);
  }
};
run();
```

Im folgenden Beispiel wird der `createBucket` v2-Befehl verwendet, um einen Amazon S3 S3-Bucket mithilfe des Callback-Musters zu erstellen.

```
const { S3 } = require('@aws-sdk/client-s3');
const s3 = new S3({ region: 'us-west-2' });
var bucketParams = {
  Bucket : BUCKET_NAME
};
function run() {
  s3.createBucket(bucketParams, function (err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data.Location);
    }
  })
};
run();
```

## Neuer Middleware-Stack
<a name="welcome_whats_new_v3_middleware_stack"></a>

Version 2 des SDK ermöglichte es Ihnen, eine Anfrage in den verschiedenen Phasen ihres Lebenszyklus zu ändern, indem Sie der Anfrage Event-Listener anhängen. Dieser Ansatz kann es schwierig machen, Fehler zu debuggen, die während des Lebenszyklus einer Anfrage schief gelaufen sind.

In Version 3 können Sie einen neuen Middleware-Stack verwenden, um den Lebenszyklus eines Operationsaufrufs zu steuern. Dieser Ansatz bietet eine Reihe von Vorteilen. Jede Middleware-Phase im Stack ruft die nächste Middleware-Stufe auf, nachdem Änderungen am Anforderungsobjekt vorgenommen wurden. Dies erleichtert auch das Debuggen von Problemen im Stack erheblich, da Sie genau sehen können, welche Middleware-Stufen aufgerufen wurden, bevor der Fehler aufgetreten ist.

Das folgende Beispiel fügt einem Amazon DynamoDB-Client (den wir zuvor erstellt und gezeigt haben) mithilfe von Middleware einen benutzerdefinierten Header hinzu. Das erste Argument ist eine Funktion, die akzeptiert`next`, was die nächste aufzurufende Middleware-Stufe im Stack ist, und ein Objekt`context`, das einige Informationen über die aufgerufene Operation enthält. Die Funktion gibt eine Funktion zurück, die akzeptiert`args`, d. h. ein Objekt, das die an den Vorgang und die Anforderung übergebenen Parameter enthält. Sie gibt das Ergebnis des Aufrufs der nächsten Middleware mit zurück. `args`

```
dbclient.middlewareStack.add(
  (next, context) => args => {
    args.request.headers["Custom-Header"] = "value";
    return next(args);
  },
  {
    name: "my-middleware",
    override: true,
    step: "build"
  }
);

dbclient.send(new PutObjectCommand(params));
```

# Was ist der Unterschied zwischen AWS SDK für JavaScript v2 und v3?
<a name="migrate-whats-different"></a>

 In diesem Abschnitt werden die wichtigsten Änderungen von AWS SDK für JavaScript Version 2 zu Version 3 beschrieben. Da v3 eine modulare Neufassung von v2 ist, unterscheiden sich einige grundlegende Konzepte zwischen v2 und v3. In unseren [Blogbeiträgen](https://aws.amazon.com/blogs/developer/category/developer-tools/aws-sdk-for-javascript-in-node-js/) erfahren Sie mehr über diese Änderungen. Die folgenden Blogbeiträge werden Sie auf den neuesten Stand bringen: 
+  [Modulare Pakete in AWS SDK für JavaScript](https://aws.amazon.com/blogs/developer/modular-packages-in-aws-sdk-for-javascript/) 
+  [Wir stellen vor: Middleware Stack in Modular AWS SDK für JavaScript](https://aws.amazon.com/blogs/developer/middleware-stack-modular-aws-sdk-js/) 

 Die Zusammenfassung der Schnittstellenänderungen von AWS SDK für JavaScript v2 zu v3 ist unten angegeben. Ziel ist es, Ihnen zu helfen, die v3-Äquivalente der Version 2, mit der APIs Sie bereits vertraut sind, leicht zu finden. 

**Topics**
+ [

# Konstrukteure des Kunden
](migrate-client-constructors.md)
+ [

# Anbieter von Anmeldeinformationen
](migrate-credential-providers.md)
+ [

# Überlegungen zu Amazon S3
](migrate-s3.md)
+ [

# DynamoDB-Dokumentenclient
](migrate-dynamodb-doc-client.md)
+ [

# Kellner und Unterzeichner
](migrate-waiters-signers.md)
+ [

# Hinweise zu bestimmten Servicekunden
](migrate-service-client-notes.md)

# Konstrukteure des Kunden
<a name="migrate-client-constructors"></a>

 Diese Liste ist nach [v2-Konfigurationsparametern](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html) indexiert. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#computeChecksums-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#computeChecksums-property) 
  +  **v2**: Ob MD5 Prüfsummen für Nutzlastkörper berechnet werden sollen, wenn der Dienst sie akzeptiert (derzeit nur in S3 unterstützt). 
  +  **v3**: Die entsprechenden Befehle von S3 (PutObject PutBucketCors, usw.) berechnen automatisch die MD5 Prüfsummen für die Nutzdaten der Anfrage. Sie können auch einen anderen Prüfsummenalgorithmus im `ChecksumAlgorithm` Parameter der Befehle angeben, um einen anderen Prüfsummenalgorithmus zu verwenden. Weitere Informationen finden Sie in der Ankündigung der [S3-Funktion](https://aws.amazon.com/blogs/aws/new-additional-checksum-algorithms-for-amazon-s3/). 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#convertResponseTypes-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#convertResponseTypes-property) 
  +  **v2**: Ob Typen beim Parsen von Antwortdaten konvertiert werden. 
  +  **v3**: **Veraltet**. Diese Option gilt als nicht typsicher, da sie Typen wie Timestamp oder Base64-Binärdateien nicht aus der JSON-Antwort konvertiert. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#correctClockSkew-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#correctClockSkew-property) 
  +  **v2**: Ob eine Korrektur der Zeitversetzung angewendet und Anfragen wiederholt werden sollen, die aufgrund einer schiefen Client-Uhr fehlschlagen. 
  +  **v3****: Veraltet.** Das SDK wendet *immer* eine Korrektur der Taktverzerrung an. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#systemClockOffset-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#systemClockOffset-property) 
  +  **v2**: Ein Offsetwert in Millisekunden, der für alle Signierzeiten gilt. 
  +  **v3: Keine** Änderung. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#credentials-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#credentials-property) 
  +  **v2**: Die AWS Anmeldeinformationen, mit denen Anfragen signiert werden sollen. 
  +  **v3**: Keine Änderung. Es kann sich auch um eine asynchrone Funktion handeln, die Anmeldeinformationen zurückgibt. Wenn die Funktion ein zurückgibt`expiration (Date)`, wird die Funktion erneut aufgerufen, wenn sich das Ablaufdatum nähert. Anmeldeinformationen finden Sie in der [v3-API-Referenz. `AwsAuthInputConfig`](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-middleware-signing/Interface/AwsAuthInputConfig/) 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#endpointCacheSize-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#endpointCacheSize-property) 
  +  **v2**: Die Größe des globalen Caches, in dem Endpunkte aus Endpoint Discovery-Vorgängen gespeichert werden. 
  +  **v3**: Keine Änderung. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#endpointDiscoveryEnabled-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#endpointDiscoveryEnabled-property) 
  +  **v2**: Ob Operationen mit vom Dienst angegebenen Endpunkten dynamisch aufgerufen werden sollen. 
  +  **v3**: Keine Änderung. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#hostPrefixEnabled-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#hostPrefixEnabled-property) 
  +  **v2**: Ob Anforderungsparameter dem Präfix des Hostnamens zugewiesen werden sollen. 
  +  **v3: Veraltet****.** Das SDK fügt *bei Bedarf immer* das Hostnamenpräfix ein. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#httpOptions-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#httpOptions-property) 

   Eine Reihe von Optionen, die an die Low-Level-HTTP-Anfrage übergeben werden. Diese Optionen sind in Version 3 unterschiedlich aggregiert. Sie können sie konfigurieren, indem Sie eine neue `requestHandler` angeben. Hier ist das Beispiel für die Einstellung von HTTP-Optionen in der Laufzeit von Node.js. Weitere Informationen finden Sie in der [v3-API-Referenz für NodeHttpHandler](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-node-http-handler/). 

   Alle v3-Anfragen verwenden standardmäßig HTTPS. Sie müssen nur einen benutzerdefinierten HTTPSAgent bereitstellen. 

  ```
  const { Agent } = require("https");
  const { Agent: HttpAgent } = require("http");
  const { NodeHttpHandler } = require("@smithy/node-http-handler");
  const dynamodbClient = new DynamoDBClient({
      requestHandler: new NodeHttpHandler({
          httpsAgent: new Agent({
              /*params*/
          }),
          connectionTimeout: /*number in milliseconds*/,
          socketTimeout: /*number in milliseconds*/
      }),
  });
  ```

   Wenn Sie einen benutzerdefinierten Endpunkt übergeben, der http verwendet, müssen Sie HttpAgent angeben. 

  ```
  const { Agent } = require("http");
  const { NodeHttpHandler } = require("@smithy/node-http-handler");
  
  const dynamodbClient = new DynamoDBClient({
      requestHandler: new NodeHttpHandler({
          httpAgent: new Agent({
              /*params*/
          }),
      }),
      endpoint: "http://example.com",
  });
  ```

   Wenn der Client in Browsern ausgeführt wird, ist ein anderer Satz von Optionen verfügbar. Weitere Informationen finden Sie in der [v3-API-Referenz für FetchHttpHandler](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-fetch-http-handler/). 

  ```
  const { FetchHttpHandler } = require("@smithy/fetch-http-handler");
  const dynamodbClient = new DynamoDBClient({
      requestHandler: new FetchHttpHandler({
          requestTimeout: /* number in milliseconds */
      }),
  });
  ```

   Jede Option von `httpOptions` ist unten angegeben: 
  +  `proxy` 
    +  **v2**: Die URL, über die Anfragen weitergeleitet werden sollen. 
    +  **v3**: Sie können im Folgenden [Proxys für Node.js konfigurieren einen Proxy](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-proxies.html) mit einem Agenten einrichten. 
  +  `agent` 
    +  **v2**: Das Agent-Objekt, mit dem HTTP-Anfragen ausgeführt werden sollen. Wird für das Verbindungspooling verwendet. 
    +  **v3**: Sie können `httpAgent` oder `httpsAgent` wie in den obigen Beispielen gezeigt konfigurieren. 
  +  `connectTimeout` 
    +  **v2**: Setzt den Socket auf Timeout, wenn nach `connectTimeout` Millisekunden keine Verbindung zum Server hergestellt werden konnte. 
    +  **v3**[: `connectionTimeout` ist in den Optionen verfügbar. `NodeHttpHandler`](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-node-http-handler/) 
  +  `timeout` 
    +  **v2**: Die Anzahl der Millisekunden, die eine Anfrage dauern kann, bevor sie automatisch beendet wird. 
    +  **v3**[: `socketTimeout` ist in den Optionen verfügbar. `NodeHttpHandler`](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-node-http-handler/) 
  +  `xhrAsync` 
    +  **v2**: Ob das SDK asynchrone HTTP-Anfragen sendet. 
    +  **v3**: **Veraltet**. Anfragen sind *immer asynchron*. 
  +  `xhrWithCredentials` 
    +  **v2**: Legt die Eigenschaft „withCredentials“ eines XMLHttp Request-Objekts fest. 
    +  **v3**: Nicht verfügbar. Das SDK erbt [die Standard-Abrufkonfigurationen.](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#logger-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#logger-property) 
  +  **v2**: Ein Objekt, das auf `.write()` (wie ein Stream) oder `.log()` (wie das Konsolenobjekt) reagiert, um Informationen über Anfragen zu protokollieren. 
  +  **v3**: Keine Änderung. Detailliertere Protokolle sind in Version 3 verfügbar. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#maxRedirects-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#maxRedirects-property) 
  +  **v2**: Die maximale Anzahl an Weiterleitungen, denen bei einer Serviceanfrage gefolgt werden muss. 
  +  **v3**: **Veraltet**. Das SDK folgt *keinen* Weiterleitungen, um unbeabsichtigte regionsübergreifende Anfragen zu vermeiden. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#maxRetries-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#maxRetries-property) 
  +  **v2**: Die maximale Anzahl an Wiederholungen, die für eine Serviceanfrage ausgeführt werden können. 
  +  **v3**: Geändert zu. `maxAttempts` Weitere Informationen finden Sie in der [v3-API-Referenz für RetryInputConfig](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-middleware-retry/Interface/RetryInputConfig/). Beachten Sie, dass dies der `maxAttempts` Fall sein sollte`maxRetries + 1`. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#paramValidation-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#paramValidation-property) 
  +  **v2**: Ob Eingabeparameter vor dem Senden der Anfrage anhand der Vorgangsbeschreibung überprüft werden sollen. 
  +  **v3**: **Veraltet**. Das SDK *führt zur Laufzeit keine* Validierung auf der Clientseite durch. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#region-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#region-property) 
  +  **v2**: Die Region, an die Serviceanfragen gesendet werden sollen. 
  +  **v3**: Keine Änderung. Es kann sich auch um eine asynchrone Funktion handeln, die eine Regionszeichenfolge zurückgibt. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#retryDelayOptions-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#retryDelayOptions-property) 
  +  **v2**: Eine Reihe von Optionen zur Konfiguration der Wiederholungsverzögerung bei wiederholten Fehlern. 
  +  **v3****: Veraltet.** Das SDK unterstützt eine flexiblere Wiederholungsstrategie mit der `retryStrategy` Client-Konstruktor-Option. Weitere Informationen finden Sie [in der API-Referenz für Version 3.](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/) 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3BucketEndpoint-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3BucketEndpoint-property) 
  +  **v2**: Ob der angegebene Endpunkt einen einzelnen Bucket adressiert (falsch, wenn er den Root-API-Endpunkt adressiert). 
  +  **v3**: Geändert zu`bucketEndpoint`. Weitere Informationen finden Sie in der [v3-API-Referenz für BucketEndpoint](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-middleware-bucket-endpoint/Interface/BucketEndpointInputConfig/). Beachten Sie, dass`true`, wenn Sie den Anforderungsendpunkt im Anforderungsparameter `Bucket` auf angeben, der ursprüngliche Endpunkt überschrieben wird. In Version 2 hingegen überschreibt der Anforderungsendpunkt im Client-Konstruktor den `Bucket` Anforderungsparameter. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3DisableBodySigning-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3DisableBodySigning-property) 
  +  **v2**: Ob die S3-Bodysignatur deaktiviert werden soll, wenn die Signaturversion v4 verwendet wird. 
  +  **v3**: Umbenannt in`applyChecksum`. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3ForcePathStyle-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3ForcePathStyle-property) 
  +  **v2**: Ob der Pfadstil URLs für S3-Objekte erzwungen werden soll. 
  +  **v3**: Umbenannt in`forcePathStyle`. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3UseArnRegion-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3UseArnRegion-property) 
  +  **v2**: Ob die Anforderungsregion mit der Region überschrieben werden soll, die aus dem ARN der angeforderten Ressource abgeleitet wird. 
  +  **v3**: Umbenannt in. `useArnRegion` 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3UsEast1RegionalEndpoint-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#s3UsEast1RegionalEndpoint-property) 
  +  **v2**: Wenn die Region auf 'us-east-1' gesetzt ist, ob eine S3-Anfrage an globale Endpunkte oder an regionale Endpunkte 'us-east-1' gesendet werden soll. 
  +  **v3****: Veraltet.** Der S3-Client verwendet immer den regionalen Endpunkt, wenn die Region auf eingestellt ist. `us-east-1` Sie können die Region so einstellen, dass Anfragen `aws-global` an den globalen S3-Endpunkt gesendet werden. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#signatureCache-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#signatureCache-property) 
  +  **v2**: Ob die Signatur, mit der Anfragen signiert werden sollen (außer Kraft der API-Konfiguration), zwischengespeichert wird. 
  +  **v3: Veraltet****.** Das SDK speichert die Hash-Signaturschlüssel *immer* zwischen. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#signatureVersion-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#signatureVersion-property) 
  +  **v2**: Die Signaturversion, mit der Anfragen signiert werden sollen (überschreibt die API-Konfiguration). 
  +  **v3**: **Veraltet**. Die im v2-SDK unterstützte Signatur V2 wurde von als veraltet eingestuft AWS. v3 unterstützt *nur* die Signatur v4. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#sslEnabled-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#sslEnabled-property) 
  +  **v2**: Ob SSL für Anfragen aktiviert ist. 
  +  **v3**: Umbenannt in`tls`. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#stsRegionalEndpoints-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#stsRegionalEndpoints-property) 
  +  **v2**: Ob eine STS-Anfrage an globale oder regionale Endpunkte gesendet werden soll. 
  +  **v3: Veraltet****.** Der STS-Client verwendet *immer* regionale Endpunkte, wenn er auf eine bestimmte Region eingestellt ist. Sie können die Region auf einstellen, um eine Anfrage `aws-global` an den globalen STS-Endpunkt zu senden. 
+  [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#useAccelerateEndpoint-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#useAccelerateEndpoint-property) 
  +  **v2**: Ob der Accelerate-Endpunkt mit dem S3-Dienst verwendet werden soll. 
  +  **v3**: Keine Änderung. 

# Anbieter von Anmeldeinformationen
<a name="migrate-credential-providers"></a>

 In Version 2 JavaScript stellt das SDK für eine Liste von Anmeldeinformationsanbietern zur Auswahl sowie eine Anbieterkette für Anmeldeinformationen bereit, die standardmäßig auf Node.js verfügbar ist und versucht, die AWS Anmeldeinformationen von allen gängigen Anbietern zu laden. Das SDK für JavaScript Version 3 vereinfacht die Benutzeroberfläche des Anmeldeinformationsanbieters und macht es einfacher, benutzerdefinierte Anbieter für Anmeldeinformationen zu verwenden und zu schreiben. Zusätzlich zu einer neuen Anbieterkette für Anmeldeinformationen bietet das SDK für JavaScript Version 3 eine Liste von Anbietern von Anmeldeinformationen, die ein Äquivalent zu Version 2 anbieten sollen. 

 Hier sind alle Anbieter von Anmeldeinformationen in Version 2 und ihre Entsprechungen in Version 3. 

## Standardanbieter für Anmeldeinformationen
<a name="default-credential-provider"></a>

 Der Standardanbieter für Anmeldeinformationen ist die Art und Weise, wie das SDK die AWS Anmeldeinformationen JavaScript auflöst, wenn Sie *keinen explizit* angeben. 
+  **v2**: [CredentialProviderChain](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CredentialProviderChain.html)In Node.js werden Anmeldeinformationen aus Quellen in der folgenden Reihenfolge aufgelöst: 
  +  [Umgebungsvariable](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html) 
  +  [Datei mit gemeinsam genutzten Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html) 
  +  [Anmeldeinformationen für den ECS-Container](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RemoteCredentials.html) 
  +  [Externer Prozess wird gestartet](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html) 
  +  [OIDC-Token aus der angegebenen Datei](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/TokenFileWebIdentityCredentials.html) 
  +  [ EC2Amazon-Instanz-Metadaten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) 

   Wenn einer der oben genannten Anmeldeinformationsanbieter die AWS Anmeldeinformationen nicht auflösen kann, fällt die Kette auf den nächsten Anbieter zurück, bis ein gültiger Berechtigungsnachweis gelöst ist, und die Kette gibt einen Fehler aus, wenn alle Anbieter ausfallen. 

   In Browser- und React Native-Laufzeiten ist die Anmeldeinformationskette leer und die Anmeldeinformationen müssen explizit festgelegt werden. 
+  **v3**: [defaultProvider](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers#fromnodejsproviderchain-1). Die Quellen der Anmeldeinformationen und die Reihenfolge der Fallbacks ändern sich in *Version 3 nicht*. [Es unterstützt AWS IAM Identity Center auch Anmeldeinformationen.](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) 

## Temporäre Anmeldeinformationen
<a name="temporary-credentials"></a>
+  **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ChainableTemporaryCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ChainableTemporaryCredentials.html)steht für temporäre Anmeldeinformationen, die von abgerufen wurden`AWS.STS`. Ohne zusätzliche Parameter werden die Anmeldeinformationen aus dem `AWS.STS.getSessionToken()` Vorgang abgerufen. Wenn eine IAM-Rolle bereitgestellt wird, wird der `AWS.STS.assumeRole()` Vorgang stattdessen verwendet, um Anmeldeinformationen für die Rolle abzurufen. `AWS.ChainableTemporaryCredentials`unterscheidet sich von `AWS.TemporaryCredentials` der Art und Weise, wie MasterCredentials und Aktualisierungen behandelt werden. `AWS.ChainableTemporaryCredentials`aktualisiert abgelaufene Anmeldeinformationen mithilfe der vom Benutzer übergebenen MasterCredentials, um die Verkettung von STS-Anmeldeinformationen zu unterstützen. Reduziert jedoch die MasterCredentials während der Instanziierung `AWS.TemporaryCredentials` rekursiv, sodass Anmeldeinformationen, für die temporäre Anmeldeinformationen erforderlich sind, nicht aktualisiert werden können. 

   **Das Original [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/TemporaryCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/TemporaryCredentials.html)wurde in Version 2 zugunsten von veraltet.** `ChainableTemporaryCredentials` 
+  **v3**:. [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromtemporarycredentials](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromtemporarycredentials) Sie können vom `@aws-sdk/credential-providers` Paket `fromTemporaryCredentials()` aus anrufen. Ein Beispiel: 

  ```
  import { FooClient } from "@aws-sdk/client-foo";
  import { fromTemporaryCredentials } from "@aws-sdk/credential-providers"; // ES6 import
  // const { FooClient } = require("@aws-sdk/client-foo");
  // const { fromTemporaryCredentials } = require("@aws-sdk/credential-providers"); // CommonJS import
  
  const sourceCredentials = {
    // A credential can be a credential object or an async function that returns a credential object
  };
  const client = new FooClient({
    credentials: fromTemporaryCredentials({
      masterCredentials: sourceCredentials,
      params: { RoleArn },
    }),
  });
  ```

## Amazon Cognito Cognito-Identitätsanmeldedaten
<a name="cognito-identity-credentials"></a>

 Laden Sie Anmeldeinformationen aus dem Amazon Cognito Identity Service, der normalerweise in Browsern verwendet wird. 
+  **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityCredentials.html)Stellt Anmeldeinformationen dar, die mithilfe des Amazon Cognito Identity Service von STS Web Identity Federation abgerufen wurden. 
+  **v3**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html)Das [`@aws/credential-providers`Paket](https://www.npmjs.com/package/@aws-sdk/credential-providers) stellt zwei Funktionen des Anmeldeinformationsanbieters bereit, von denen [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html)eine eine Identitäts-ID und Aufrufe [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html)entgegennimmt`cognitoIdentity:GetCredentialsForIdentity`, während die andere eine Identitätspool-ID verwendet, beim ersten Aufruf `cognitoIdentity:GetId` aufruft und dann aufruft. `fromCognitoIdentity` Nachfolgende Aufrufe des letzteren werden nicht erneut aufgerufen. GetId 

   Der Anbieter implementiert den im [Amazon Cognito Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html) beschriebenen „Simplified Flow“. Der „Classic Flow“, bei dem zuerst angerufen `cognito:GetOpenIdToken` und dann angerufen `sts:AssumeRoleWithWebIdentity` wird, wird *nicht* unterstützt. Bitte senden Sie uns eine [Funktionsanfrage](https://github.com/aws/aws-sdk-js-v3/issues/new?assignees=&labels=feature-request&template=---feature-request.md&title=), falls Sie diese benötigen. 

  ```
  // fromCognitoIdentityPool example
  import { fromCognitoIdentityPool } from "@aws-sdk/credential-providers"; // ES6 import
  // const { fromCognitoIdentityPool } = require("@aws-sdk/credential-providers"); // CommonJS import
  
  const client = new FooClient({
    region: "us-east-1",
    credentials: fromCognitoIdentityPool({
      clientConfig: cognitoIdentityClientConfig, // Optional
      identityPoolId: "us-east-1:1699ebc0-7900-4099-b910-2df94f52a030",
      customRoleArn: "arn:aws:iam::1234567890:role/MYAPP-CognitoIdentity", // Optional
      logins: {
        // Optional
        "graph.facebook.com": "FBTOKEN",
        "www.amazon.com": "AMAZONTOKEN",
        "api.twitter.com": "TWITTERTOKEN",
      },
    }),
  });
  ```

  ```
  // fromCognitoIdentity example
  import { fromCognitoIdentity } from "@aws-sdk/credential-providers"; // ES6 import
  // const { fromCognitoIdentity } = require("@aws-sdk/credential-provider-cognito-identity"); // CommonJS import
  
  const client = new FooClient({
    region: "us-east-1",
    credentials: fromCognitoIdentity({
      clientConfig: cognitoIdentityClientConfig, // Optional
      identityId: "us-east-1:128d0a74-c82f-4553-916d-90053e4a8b0f",
      customRoleArn: "arn:aws:iam::1234567890:role/MYAPP-CognitoIdentity", // Optional
      logins: {
        // Optional
        "graph.facebook.com": "FBTOKEN",
        "www.amazon.com": "AMAZONTOKEN",
        "api.twitter.com": "TWITTERTOKEN",
      },
    }),
  });
  ```

## Anmeldedaten für Amazon EC2 Metadata (IMDS)
<a name="ec2-metadataimds-credential"></a>

 Stellt Anmeldeinformationen dar, die vom Metadaten-Service auf einer EC2 Amazon-Instance empfangen wurden. 
+  **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityCredentials.html) 
+  **v3**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata). Erstellt einen Anmeldeinformationsanbieter, der Anmeldeinformationen vom Amazon EC2 Instance Metadata Service bezieht. 

  ```
  import { fromInstanceMetadata } from "@aws-sdk/credential-providers"; // ES6 import
  // const { fromInstanceMetadata } = require("@aws-sdk/credential-providers"); // CommonJS import
  
  const client = new FooClient({
    credentials: fromInstanceMetadata({
      maxRetries: 3, // Optional
      timeout: 0, // Optional
    }),
  });
  ```

## Amazon ECS-Anmeldeinformationen
<a name="ecs-credentials"></a>

 Stellt Anmeldeinformationen dar, die von einer angegebenen URL empfangen wurden. Dieser Anbieter fordert temporäre Anmeldeinformationen von einer URI an, die in der `AWS_CONTAINER_CREDENTIALS_FULL_URI` Umgebungsvariablen `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` oder angegeben ist. 
+  **v2**: `ECSCredentials` oder [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RemoteCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RemoteCredentials.html) 
+  **v3**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromcontainermetadata-and-frominstancemetadata). Erstellt einen Anmeldeinformationsanbieter, der Anmeldeinformationen vom Amazon ECS Container Metadata Service bezieht. 

  ```
  import { fromContainerMetadata } from "@aws-sdk/credential-providers"; // ES6 import
  
  const client = new FooClient({
    credentials: fromContainerMetadata({
      maxRetries: 3, // Optional
      timeout: 0, // Optional
    }),
  });
  ```

## Anmeldeinformationen für das Dateisystem
<a name="file-system-credentials"></a>
+ **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/FileSystemCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/FileSystemCredentials.html). Stellt Anmeldeinformationen aus einer JSON-Datei auf der Festplatte dar.
+  **v3**: **Veraltet**. Sie können die JSON-Datei explizit lesen und dem Client zur Verfügung stellen. Bitte senden Sie uns eine [Funktionsanfrage](https://github.com/aws/aws-sdk-js-v3/issues/new?assignees=&labels=feature-request&template=---feature-request.md&title=), falls Sie diese benötigen. 

## Anbieter von SAML-Anmeldeinformationen
<a name="saml-credential-provider"></a>
+  **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SAMLCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SAMLCredentials.html)Stellt Anmeldeinformationen dar, die von der STS-SAML-Unterstützung abgerufen wurden. 
+  **v3**: **Nicht verfügbar.** Bitte senden Sie uns eine [Funktionsanfrage](https://github.com/aws/aws-sdk-js-v3/issues/new?assignees=&labels=feature-request&template=---feature-request.md&title=), falls Sie diese benötigen. 

## Anmeldeinformationen für die gemeinsame Anmeldeinformationsdatei
<a name="shared-credential-file-credentials"></a>

 Lädt Anmeldeinformationen aus der Datei mit gemeinsam genutzten Anmeldeinformationen (standardmäßig `~/.aws/credentials` oder definiert durch die `AWS_SHARED_CREDENTIALS_FILE` Umgebungsvariable). Diese Datei wird in verschiedenen AWS SDKs Tools unterstützt. Weitere Informationen finden Sie im [Dokument mit den gemeinsam genutzten Konfigurations- und Anmeldedaten](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html). 
+  **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SharedIniFileCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SharedIniFileCredentials.html) 
+  **v3**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_credential_providers.html) 

  ```
  import { fromIni } from "@aws-sdk/credential-providers";
  // const { fromIni } from("@aws-sdk/credential-providers");
  
  const client = new FooClient({
    credentials: fromIni({
      configFilepath: "~/.aws/config", // Optional
      filepath: "~/.aws/credentials", // Optional
      mfaCodeProvider: async (mfaSerial) => {
        // implement a pop-up asking for MFA code
        return "some_code";
      }, // Optional
      profile: "default", // Optional
      clientConfig: { region }, // Optional
    }),
  });
  ```

## Anmeldeinformationen für die Web-Identität
<a name="web-identity-credentials"></a>

 Ruft Anmeldeinformationen mithilfe des OIDC-Tokens aus einer Datei auf der Festplatte ab. Wird häufig in Amazon EKS verwendet. 
+  **Version 2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/TokenFileWebIdentityCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/TokenFileWebIdentityCredentials.html) 
+  **v3**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromtokenfile](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromtokenfile) 

  ```
  import { fromTokenFile } from "@aws-sdk/credential-providers"; // ES6 import
  // const { fromTokenFile } from("@aws-sdk/credential-providers"); // CommonJS import
  
  const client = new FooClient({
    credentials: fromTokenFile({
      // Optional. If skipped, read from `AWS_ROLE_ARN` environmental variable
      roleArn: "arn:xxxx",
      // Optional. If skipped, read from `AWS_ROLE_SESSION_NAME` environmental variable
      roleSessionName: "session:a",
      // Optional. STS client config to make the assume role request.
      clientConfig: { region },
    }),
  });
  ```

## Anmeldeinformationen für Web Identity Federation
<a name="web-identity-federation-credentials"></a>

 Ruft Anmeldeinformationen von der STS-Unterstützung für Web Identity Federation ab. 
+  **v2**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/WebIdentityCredentials.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/WebIdentityCredentials.html) 
+  **v3**: [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromwebtoken](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromwebtoken) 

  ```
  import { fromWebToken } from "@aws-sdk/credential-providers"; // ES6 import
  // const { fromWebToken } from("@aws-sdk/credential-providers"); // CommonJS import
  
  const client = new FooClient({
    credentials: fromWebToken({
      // Optional. If skipped, read from `AWS_ROLE_ARN` environmental variable
      roleArn: "arn:xxxx",
      // Optional. If skipped, read from `AWS_ROLE_SESSION_NAME` environmental variable
      roleSessionName: "session:a",
      // Optional. STS client config to make the assume role request.
      clientConfig: { region },
    }),
  });
  ```

# Überlegungen zu Amazon S3
<a name="migrate-s3"></a>

## Mehrteiliger Amazon S3 S3-Upload
<a name="s3-multipart-upload"></a>

 In Version 2 enthält der Amazon S3-Client einen [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property)Vorgang, der das Hochladen großer Objekte mit der [von Amazon S3 angebotenen Funktion zum mehrteiligen Hochladen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) unterstützt. 

 In Version 3 ist das [https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage)Paket verfügbar. Es unterstützt alle Funktionen, die im `upload()` v2-Betrieb angeboten werden, und unterstützt sowohl Node.js als auch die Browser-Runtime. 

## Vorsignierte Amazon S3 S3-URL
<a name="s3-presigned-url"></a>

 In Version 2 enthält der Amazon S3-Client die [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrlPromise-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrlPromise-property)Operationen [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-property)und zum Generieren einer URL, mit der Benutzer Objekte von Amazon S3 hoch- oder herunterladen können. 

 In Version 3 ist das [https://github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner)Paket verfügbar. Dieses Paket enthält die Funktionen für beide `getSignedUrl()` ` getSignedUrlPromise()` Operationen. In diesem [Blogbeitrag](https://aws.amazon.com/blogs/developer/generate-presigned-url-modular-aws-sdk-javascript/) werden die Details dieses Pakets erörtert.

## Amazon S3 S3-Regionsumleitungen
<a name="s3-global-client-region-redirects"></a>

Wenn eine falsche Region an den Amazon S3-Client übergeben wird und ein darauffolgender Fehler ` PermanentRedirect` (Status 301) ausgelöst wird, unterstützt der Amazon S3 S3-Client in Version 3 Regionsumleitungen (früher bekannt als Amazon S3 Global Client in Version 2). Sie können das [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-middleware-sdk-s3/Interface/S3InputConfig/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-middleware-sdk-s3/Interface/S3InputConfig/)Flag in der Client-Konfiguration verwenden, damit der Amazon S3 S3-Client regionalen Weiterleitungen folgt und seine Funktion als globaler Client unterstützt.

**Anmerkung**  
Beachten Sie, dass diese Funktion zu zusätzlicher Latenz führen kann, da fehlgeschlagene Anfragen mit einer korrigierten Region erneut versucht werden, wenn ein `PermanentRedirect` Fehler mit dem Status 301 empfangen wird. Diese Funktion sollte nur verwendet werden, wenn Sie die Region Ihrer Buckets nicht im Voraus kennen. 

## Amazon S3 S3-Streaming und gepufferte Antworten
<a name="amazon-s3-stream-vs-buffer"></a>

 Das v3-SDK zieht es vor, potenziell große Antworten nicht zu puffern. Dies tritt häufig bei der Amazon S3 `GetObject` S3-Operation auf, bei der `Buffer` in Version 2 a zurückgegeben wurde, `Stream` in Version 3 jedoch a zurückgegeben wurde. 

 Für Node.js müssen Sie den Stream verwenden oder den Client oder seinen Request-Handler löschen, um die Verbindungen für neuen Datenverkehr offen zu halten, indem Sie Sockets freigeben. 

```
// v2
const get = await s3.getObject({ ... }).promise(); // this buffers consumes the stream already.
```

```
// v3, consume the stream to free the socket
const get = await s3.getObject({ ... }); // object .Body has unconsumed stream
const str = await get.Body.transformToString(); // consumes the stream

// other ways to consume the stream include writing it to a file,
// passing it to another consumer like an upload, or buffering to
// a string or byte array.
```

 Weitere Informationen finden Sie im Abschnitt zur [Socket-Erschöpfung](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md#request-handler-requesthandler). 

# DynamoDB-Dokumentenclient
<a name="migrate-dynamodb-doc-client"></a>

## Grundlegende Verwendung des DynamoDB-Dokumentenclients in Version 3
<a name="basic-usage-of-dynamodb-document-client-in-v3"></a>
+  In Version 2 können Sie die [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html)Klasse verwenden, um DynamoDB APIs mit systemeigenen JavaScript Typen wie Array, Number und Object aufzurufen. Es vereinfacht somit die Arbeit mit Elementen in Amazon DynamoDB, indem der Begriff der Attributwerte weggenommen wird. 
+  In Version 3 ist der entsprechende [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_dynamodb.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_dynamodb.html)Client verfügbar. Es ähnelt normalen Service-Clients aus dem v3-SDK, mit dem Unterschied, dass es einen einfachen DynamoDB-Client in seinem Konstruktor verwendet. 

 Beispiel: 

```
import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; // ES6 import
// const { DynamoDBClient } = require("@aws-sdk/client-dynamodb"); // CommonJS import
import { DynamoDBDocumentClient, PutCommand } from "@aws-sdk/lib-dynamodb"; // ES6 import
// const { DynamoDBDocumentClient, PutCommand } = require("@aws-sdk/lib-dynamodb"); // CommonJS import

// Bare-bones DynamoDB Client
const client = new DynamoDBClient({});

// Bare-bones document client
const ddbDocClient = DynamoDBDocumentClient.from(client); // client is DynamoDB client

await ddbDocClient.send(
  new PutCommand({
    TableName,
    Item: {
      id: "1",
      content: "content from DynamoDBDocumentClient",
    },
  })
);
```

## `Undefined`Werte in beim Marshalling
<a name="undefined-values-in-when-marshalling"></a>
+  In Version 2 wurden `undefined` Werte in Objekten beim Marshalling-Prozess für DynamoDB automatisch weggelassen. 
+  In Version 3 `@aws-sdk/lib-dynamodb` hat sich das Standard-Marshalling-Verhalten in geändert: Objekte mit `undefined` Werten werden nicht mehr weggelassen. Um der Funktionalität von v2 gerecht zu werden, müssen Entwickler den `removeUndefinedValues` Wert `true` im DynamoDB Document Client explizit auf setzen. `marshallOptions` 

 Beispiel: 

```
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
import { DynamoDBDocumentClient, PutCommand } from "@aws-sdk/lib-dynamodb";

const client = new DynamoDBClient({});

// The DynamoDBDocumentClient is configured to handle undefined values properly
const ddbDocClient = DynamoDBDocumentClient.from(client, {
  marshallOptions: {
    removeUndefinedValues: true
  }
});

await ddbDocClient.send(
  new PutCommand({
    TableName,
    Item: {
      id: "123",
      content: undefined // This value will be automatically omitted.
      array: [1, undefined], // The undefined value will be automatically omitted.
      map: { key: undefined }, // The "key" will be automatically omitted.
      set: new Set([1, undefined]), // The undefined value will be automatically omitted.
    };
  })
);
```

 Weitere Beispiele und Konfigurationen sind im [Paket](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-dynamodb/README.md) README verfügbar. 

# Kellner und Unterzeichner
<a name="migrate-waiters-signers"></a>

Auf dieser Seite wird die Verwendung von Kellnern und Unterzeichnern in Version 3 beschrieben. AWS SDK für JavaScript 

## Waiter
<a name="waiters"></a>

 In Version 2 sind alle Kellner an die Klasse Service Client gebunden, und Sie müssen in der Eingabe des Kellners angeben, auf welchen festgelegten Status der Kunde warten wird. Beispielsweise müssen Sie anrufen, um darauf [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#bucketExists-waiter](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#bucketExists-waiter)zu warten, dass ein neu erstellter Bucket bereit ist.

 In Version 3 müssen Sie keine Kellner importieren, wenn Ihre Anwendung keinen benötigt. Darüber hinaus können Sie nur den Kellner importieren, den Sie benötigen, um auf den gewünschten Bundesstaat zu warten. So können Sie Ihre Paketgröße reduzieren und die Leistung verbessern. Hier ist ein Beispiel dafür, wie Sie darauf warten, dass der Bucket nach der Erstellung bereit ist: 

```
import { S3Client, CreateBucketCommand, waitUntilBucketExists } from "@aws-sdk/client-s3"; // ES6 import
// const { S3Client, CreateBucketCommand, waitUntilBucketExists } = require("@aws-sdk/client-s3"); // CommonJS import

const Bucket = "BUCKET_NAME";
const client = new S3Client({ region: "REGION" });
const command = new CreateBucketCommand({ Bucket });

await client.send(command);
await waitUntilBucketExists({ client, maxWaitTime: 60 }, { Bucket });
```

 Alles zur Konfiguration der Kellner findest du im [Blogbeitrag von waiters in the AWS SDK für JavaScript v3](https://aws.amazon.com/blogs/developer/waiters-in-modular-aws-sdk-for-javascript/).

## CloudFront Amazon-Unterzeichner
<a name="cloudfront-signer"></a>

 In Version 2 können Sie die Anfrage für den Zugriff auf eingeschränkte CloudFront Amazon-Distributionen mit [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFront/Signer.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFront/Signer.html)unterschreiben.

 In Version 3 stehen Ihnen dieselben Dienstprogramme zur Verfügung, die im [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_cloudfront_signer.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_cloudfront_signer.html)Paket enthalten sind.

## Amazon RDS-Unterzeichner
<a name="rds-signer"></a>

 In Version 2 können Sie das Authentifizierungstoken für eine Amazon RDS-Datenbank mithilfe von [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDS/Signer.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDS/Signer.html)generieren. 

 In Version 3 ist die ähnliche Dienstprogrammklasse im [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_rds_signer.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_rds_signer.html)Paket verfügbar.

## Amazon Polly Signer
<a name="polly-signer"></a>

 In Version 2 können Sie eine signierte URL für die vom Amazon Polly Polly-Service synthetisierte Sprache mit generieren. [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Polly/Presigner.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Polly/Presigner.html)

 In Version 3 ist eine ähnliche Hilfsfunktion im [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_polly_request_presigner.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_polly_request_presigner.html)Paket verfügbar. 

# Hinweise zu bestimmten Servicekunden
<a name="migrate-service-client-notes"></a>

## AWS Lambda
<a name="aws-lambda-notes"></a>

 Der Antworttyp für Lambda-Aufrufe unterscheidet sich in v2 und v3. 

```
// v2
import { Lambda } from "@aws-sdk/client-lambda";
import AWS from "aws-sdk";

const lambda = new AWS.Lambda({ REGION });
const invoke = await lambda.invoke({
  FunctionName: "echo",
  Payload: JSON.stringify({ message: "hello" }),
}).promise();

// in v2, Lambda::invoke::Payload is automatically converted to string via a
// specific code customization.
const payloadIsString = typeof invoke.Payload === "string";
console.log("Invoke response payload type is string:", payloadIsString);

const payloadObject = JSON.parse(invoke.Payload);
console.log("Invoke response object", payloadObject);
```

```
// v3
const lambda = new Lambda({ REGION });
const invoke = await lambda.invoke({
  FunctionName: "echo",
  Payload: JSON.stringify({ message: "hello" }),
});

// in v3, Lambda::invoke::Payload is not automatically converted to a string.
// This is to reduce the number of customizations that create inconsistent behaviors.
const payloadIsByteArray = invoke.Payload instanceof Uint8Array;
console.log("Invoke response payload type is Uint8Array:", payloadIsByteArray);

// To maintain the old functionality, only one additional method call is needed:
// v3 adds a method to the Uint8Array called transformToString.
const payloadObject = JSON.parse(invoke.Payload.transformToString());
console.log("Invoke response object", payloadObject);
```

## Amazon SQS
<a name="amazon-sqs-notes"></a>

### MD5 Prüfsumme
<a name="md5-checksum"></a>

 Um die Berechnung der MD5 Prüfsummen von Nachrichtentexten zu überspringen, setzen Sie den Wert für das *Konfigurationsobjekt `md5` auf false*. Andernfalls berechnet das SDK standardmäßig die Prüfsumme für das Senden von Nachrichten und validiert die Prüfsumme für abgerufene Nachrichten.

```
// Example: Skip MD5 checksum in Amazon SQS
import { SQS } from "@aws-sdk/client-sqs";

new SQS({
  md5: false // note: only available in v3.547.0 and higher
});
```

Bei der Verwendung eines benutzerdefinierten Elements `QueueUrl` in Amazon SQS SQS-Vorgängen, bei dem dieser Parameter als Eingabeparameter verwendet wurde, war es in Version 2 möglich, einen benutzerdefinierten Wert anzugeben, der den `QueueUrl` Standardendpunkt des Amazon SQS SQS-Clients überschreiben würde. 

### Nachrichten aus mehreren Regionen
<a name="multi-region-messages"></a>

 In Version 3 sollten Sie einen Client pro Region verwenden. Die AWS Region soll auf Client-Ebene initialisiert und nicht zwischen Anfragen geändert werden. 

```
import { SQS } from "@aws-sdk/client-sqs";

const sqsClients = {
  "us-east-1": new SQS({ region: "us-east-1" }),
  "us-west-2": new SQS({ region: "us-west-2" }),
};

const queues = [
  { region: "us-east-1", url: "https://sqs.us-east-1.amazonaws.com/{AWS_ACCOUNT}/MyQueue" },
  { region: "us-west-2", url: "https://sqs.us-west-2.amazonaws.com/{AWS_ACCOUNT}/MyOtherQueue" },
];

for (const { region, url } of queues) {
  const params = {
    MessageBody: "Hello",
    QueueUrl: url,
  };
  await sqsClients[region].sendMessage(params);
}
```

### Benutzerdefinierter Endpunkt
<a name="custom-endpoint"></a>

 Wenn Sie in Version 3 einen benutzerdefinierten Endpunkt verwenden, d. h. einen, der sich von den standardmäßigen öffentlichen Amazon SQS SQS-Endpunkten unterscheidet, sollten Sie sowohl den Endpunkt auf dem Amazon SQS SQS-Client als auch das Feld festlegen. ` QueueUrl` 

```
import { SQS } from "@aws-sdk/client-sqs";

const sqs = new SQS({
  // client endpoint should be specified in v3 when not the default public SQS endpoint for your region.
  // This is required for versions <= v3.506.0
  // This is optional but recommended for versions >= v3.507.0 (a warning will be emitted)
  endpoint: "https://my-custom-endpoint:8000/",
});

await sqs.sendMessage({
  QueueUrl: "https://my-custom-endpoint:8000/1234567/MyQueue",
  Message: "hello",
});
```

 Wenn Sie keinen benutzerdefinierten Endpunkt verwenden, müssen Sie ihn nicht `endpoint` auf dem Client einrichten.

```
import { SQS } from "@aws-sdk/client-sqs";

const sqs = new SQS({
  region: "us-west-2",
});

await sqs.sendMessage({
  QueueUrl: "https://sqs.us-west-2.amazonaws.com/1234567/MyQueue",
  Message: "hello",
});
```

# Zusätzliche Unterlagen
<a name="migrate-supp-docs"></a>

Die folgende Tabelle enthält Links zu ergänzender Dokumentation, die Ihnen die Verwendung und das Verständnis von AWS SDK für JavaScript (v3) erleichtern soll.


****  

| Name | Hinweise | 
| --- | --- | 
| [SDK-Clients](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md) | Informationen zur Initialisierung eines SDK-Clients und zu häufig verwendeten konfigurierbaren Konstruktorparametern. | 
| [Aktualisierung von Notes (2.x auf 3.x)](https://github.com/aws/aws-sdk-js-v3/blob/main/UPGRADING.md) | Informationen zum Upgrade von AWS SDK für JavaScript (v2). | 
| [Verwenden von AWS SDK für JavaScript (v3) auf Laufzeiten von AWS Lambda Node.js](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/AWS_LAMBDA.md) | Bewährte Methoden für die Arbeit AWS Lambda mit der AWS SDK für JavaScript (v3). | 
| [Leistung](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/performance/README.md) | Informationen darüber, wie das AWS SDK-Team die Leistung des SDK optimiert hat, sowie Tipps zur Konfiguration des SDK für einen effizienten Betrieb. | 
| [TypeScript](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/TYPESCRIPT.md) | TypeScript Tipps und FAQs Hinweise zum AWS SDK für JavaScript (v3). | 
| [Behandlung von Fehlern](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/ERROR_HANDLING.md) | Tipps zum Umgang mit Fehlern im Zusammenhang mit AWS SDK für JavaScript (v3). | 
| [Effektive Praktiken](https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/EFFECTIVE_PRACTICES.md) | Allgemeine Empfehlungen für die Verwendung von AWS SDK für JavaScript (v3). | 