Kami mengumumkan
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.requestId
di 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 |
---|---|
|
|
|
|
|
|
Properti Klien Jatuh
.client
Properti .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(...)