

Die AWS SDK für JavaScript Version 2 ist erreicht end-of-support. Wir empfehlen Ihnen, auf [AWS SDK für JavaScript Version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser [Ankündigung](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Aktualisierung des SDK für Version 1 JavaScript
<a name="upgrading-from-v1"></a>

Die folgenden Hinweise helfen Ihnen, das SDK für JavaScript von Version 1 auf Version 2 zu aktualisieren.

## Automatische Konvertierung von Base64- und Zeitstempeltypen bei Eingabe/Ausgabe
<a name="upgrading-from-v1-base64-timestamp-conversion"></a>

Das SDK verschlüsselt und entschlüsselt nun Base64-kodierte Werte sowie Zeitstempelwerte automatisch für den Benutzer. Diese Änderung wirkt sich auf alle Operationen aus, in denen Base64- oder Zeitstempelwerte von einer Anforderung gesendet oder in einer Antwort zurückgegeben wurden, die Base64-kodierte Werte zulässt.

Benutzer-Code, der zuvor Base64 konvertierte, ist nicht mehr erforderlich. Als Base64 verschlüsselte Werte werden jetzt von Serverantworten als Buffer-Objekte zurückgegeben und können auch als Buffer-Eingabe übergeben werden. Beispiel: Die folgenden `SQS.sendMessage`-Parameter aus Version 1:

```
var params = {
   MessageBody: 'Some Message',
   MessageAttributes: {
      attrName: {
         DataType: 'Binary',
         BinaryValue: new Buffer('example text').toString('base64')
      }
   }
};
```

Können folgendermaßen neu geschrieben werden.

```
var params = {
   MessageBody: 'Some Message',
   MessageAttributes: {
      attrName: {
         DataType: 'Binary',
         BinaryValue: 'example text'
      }
   }
};
```

Hier sehen Sie, wie die Nachricht gelesen wird.

```
sqs.receiveMessage(params, function(err, data) {
  // buf is <Buffer 65 78 61 6d 70 6c 65 20 74 65 78 74>
  var buf = data.Messages[0].MessageAttributes.attrName.BinaryValue;
  console.log(buf.toString()); // "example text"
});
```

## response.data wurde verschoben. RequestId nach response.RequestID
<a name="upgrading-from-v1-response-requestid"></a>

Das SDK speichert Anfragen IDs für alle Dienste jetzt an einer konsistenten Stelle im `response` Objekt und nicht innerhalb der Eigenschaft. `response.data` Dies verbessert die Konsistenz zwischen Diensten, die Anfragen auf unterschiedliche IDs Weise bereitstellen. Auch die Umbenennung der `response.data.RequestId`-Eigenschaft in `response.requestId` (`this.requestId` innerhalb einer Callback-Funktion) ist eine wichtige Änderung.

Ändern Sie Ihren Code wie folgt:

```
svc.operation(params, function (err, data) {
  console.log('Request ID:', data.RequestId);
});
```

In Folgendes:

```
svc.operation(params, function () {
  console.log('Request ID:', this.requestId);
});
```

## Freigelegte Wrapper-Elemente
<a name="upgrading-from-v1-exposed-wrapper-elements"></a>

Wenn Sie `AWS.ElastiCache`, `AWS.RDS` oder `AWS.Redshift` verwenden, müssen Sie auf die Antwort über die Ausgabeeigenschaft der obersten Ebene in der Antwort für einige Operationen zugreifen. 

Beispiel: Die `RDS.describeEngineDefaultParameters`-Methode gab Folgendes zurück.

```
{ Parameters: [ ... ] }
```

Sie gibt nun Folgendes zurück.

```
{ EngineDefaults: { Parameters: [ ... ] } }
```

Die Liste der betroffenen Operationen für jeden Service werden in der folgenden Tabelle aufgeführt.


****  

| Client-Klasse | Operationen | 
| --- | --- | 
| `AWS.ElastiCache` | `authorizeCacheSecurityGroupIngress` `createCacheCluster` `createCacheParameterGroup` `createCacheSecurityGroup` `createCacheSubnetGroup` `createReplicationGroup` `deleteCacheCluster` `deleteReplicationGroup` `describeEngineDefaultParameters` `modifyCacheCluster` `modifyCacheSubnetGroup` `modifyReplicationGroup` `purchaseReservedCacheNodesOffering` `rebootCacheCluster` `revokeCacheSecurityGroupIngress` | 
| `AWS.RDS` | `addSourceIdentifierToSubscription` `authorizeDBSecurityGroupIngress` `copyDBSnapshot` `createDBInstance` `createDBInstanceReadReplica` `createDBParameterGroup` `createDBSecurityGroup` `createDBSnapshot` `createDBSubnetGroup` `createEventSubscription` `createOptionGroup` `deleteDBInstance` `deleteDBSnapshot` `deleteEventSubscription` `describeEngineDefaultParameters` `modifyDBInstance` `modifyDBSubnetGroup` `modifyEventSubscription` `modifyOptionGroup` `promoteReadReplica` `purchaseReservedDBInstancesOffering` `rebootDBInstance` `removeSourceIdentifierFromSubscription` `restoreDBInstanceFromDBSnapshot` `restoreDBInstanceToPointInTime` `revokeDBSecurityGroupIngress` | 
| `AWS.Redshift` | `authorizeClusterSecurityGroupIngress` `authorizeSnapshotAccess` `copyClusterSnapshot` `createCluster` `createClusterParameterGroup` `createClusterSecurityGroup` `createClusterSnapshot` `createClusterSubnetGroup` `createEventSubscription` `createHsmClientCertificate` `createHsmConfiguration` `deleteCluster` `deleteClusterSnapshot` `describeDefaultClusterParameters` `disableSnapshotCopy` `enableSnapshotCopy` `modifyCluster` `modifyClusterSubnetGroup` `modifyEventSubscription` `modifySnapshotCopyRetentionPeriod` `purchaseReservedNodeOffering` `rebootCluster` `restoreFromClusterSnapshot` `revokeClusterSecurityGroupIngress` `revokeSnapshotAccess` `rotateEncryptionKey` | 

## Gelöschte Client-Eigenschaften
<a name="upgrading-from-v1-dropped-client-properties"></a>

Die Eigenschaften `.Client` und `.client` wurden aus Service-Objekten entfernt. Wenn Sie die `.Client`-Eigenschaft in einer Service-Klasse oder eine `.client`-Eigenschaft in einer Service-Objekt-Instance verwenden, entfernen Sie diese aus Ihrem Code.

Der folgende Code wurde mit Version 1 des SDK verwendet für JavaScript:

```
var sts = new AWS.STS.Client();
// or
var sts = new AWS.STS();

sts.client.operation(...);
```

sollte wie folgt geändert werden.

```
var sts = new AWS.STS();
sts.operation(...)
```