Panduan API Referensi AWS SDK for JavaScript V3 menjelaskan secara rinci semua API operasi untuk AWS SDK for JavaScript versi 3 (V3).
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pertimbangan Amazon S3
Unggahan multipart Amazon S3
Di v2, klien Amazon S3 berisi upload()
operasi yang mendukung pengunggahan objek besar dengan fitur unggahan multipart yang ditawarkan oleh Amazon S3.
Di v3,
@aws-sdk/lib-storage
upload()
operasi v2 dan mendukung runtime Node.js dan browser.
URL yang telah ditetapkan sebelumnya Amazon S3
Di v2, klien Amazon S3 berisi getSignedUrl()
dan getSignedUrlPromise()
operasi untuk menghasilkan URL yang dapat digunakan pengguna untuk mengunggah atau mengunduh objek dari Amazon S3.
Di v3,
@aws-sdk/s3-request-presigner
getSignedUrl()
dan
getSignedUrlPromise()
operasi. Posting blog
Pengalihan wilayah Amazon S3
Jika wilayah yang salah diteruskan ke klien Amazon S3 dan kesalahan berikutnya
PermanentRedirect
(status 301) dilemparkan, klien Amazon S3 di v3 mendukung pengalihan wilayah (sebelumnya dikenal sebagai Klien Global Amazon S3 di v2). Anda dapat menggunakan followRegionRedirects
bendera dalam konfigurasi klien untuk membuat klien Amazon S3 mengikuti pengalihan wilayah dan mendukung fungsinya sebagai klien global.
catatan
Perhatikan bahwa fitur ini dapat menghasilkan latensi tambahan karena permintaan yang gagal dicoba ulang dengan wilayah yang diperbaiki saat menerima PermanentRedirect
kesalahan dengan status 301. Fitur ini hanya boleh digunakan jika Anda tidak mengetahui wilayah bucket Anda sebelumnya.
Streaming Amazon S3 dan respons buffer
SDK v3 memilih untuk tidak menyangga respons yang berpotensi besar. Ini biasanya ditemui dalam GetObject
operasi Amazon S3, yang mengembalikan Buffer
in v2, tetapi mengembalikan a Stream
di v3.
Untuk Node.js, Anda harus mengkonsumsi aliran atau sampah mengumpulkan klien atau penangan permintaannya untuk menjaga koneksi tetap terbuka untuk lalu lintas baru dengan membebaskan soket.
// 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.
Untuk informasi lebih lanjut, lihat bagian tentang kelelahan soket