Memutakhirkan SDK untuk JavaScript dari Versi 1 - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memutakhirkan SDK untuk JavaScript dari Versi 1

Catatan berikut membantu Anda meningkatkan SDK JavaScript dari versi 1 ke versi 2.

Konversi Otomatis Jenis Base64 dan Timestamp pada Input/Output

SDK sekarang secara otomatis mengkodekan dan mendekode nilai yang dikodekan base64, serta nilai stempel waktu, atas nama pengguna. Perubahan ini memengaruhi operasi apa pun di mana nilai base64 atau stempel waktu dikirim oleh permintaan atau dikembalikan dalam respons yang memungkinkan nilai yang dikodekan base64.

Kode pengguna yang sebelumnya dikonversi base64 tidak lagi diperlukan. Nilai yang dikodekan sebagai base64 sekarang dikembalikan sebagai objek buffer dari respons server dan juga dapat diteruskan sebagai input buffer. Misalnya, SQS.sendMessage parameter versi 1 berikut:

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

Dapat ditulis ulang sebagai berikut.

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

Berikut adalah bagaimana pesan dibaca.

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" });

Dipindahkan response.data. RequestId untuk response.Requestid

SDK sekarang menyimpan ID permintaan untuk semua layanan di tempat yang konsisten pada response objek, bukan di dalam response.data properti. Ini meningkatkan konsistensi di seluruh layanan yang mengekspos ID permintaan dengan cara yang berbeda. Ini juga merupakan perubahan besar yang mengganti nama response.data.RequestId properti menjadi response.requestId (this.requestIddi dalam fungsi panggilan balik).

Dalam kode Anda, ubah yang berikut ini:

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

Ke hal berikut:

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

Elemen Pembungkus Terpapar

Jika Anda menggunakanAWS.ElastiCache,AWS.RDS, atauAWS.Redshift, Anda harus mengakses respons melalui properti output tingkat atas dalam respons untuk beberapa operasi.

Misalnya, RDS.describeEngineDefaultParameters metode yang digunakan untuk mengembalikan yang berikut ini.

{ Parameters: [ ... ] }

Sekarang mengembalikan yang berikut ini.

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

Daftar operasi yang terpengaruh untuk setiap layanan ditunjukkan pada tabel berikut.

Kelas Klien Operasi

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

Properti Klien Jatuh

.clientProperti .Client dan telah dihapus dari objek layanan. Jika Anda menggunakan .Client properti pada kelas layanan atau .client properti pada instance objek layanan, hapus properti ini dari kode Anda.

Kode berikut yang digunakan dengan SDK versi 1 untuk JavaScript:

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

Harus diubah ke kode berikut.

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