La Guía de referencia de la API de AWS SDK for JavaScript V3 describe en detalle todas las operaciones de la API para la versión 3 (V3) de AWS SDK for JavaScript.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Consideraciones sobre Amazon S3
Carga multiparte de Amazon S3
En v2, el cliente de Amazon S3 contiene una operación upload() que admite la carga de objetos grandes con la característica de carga multiparte que ofrece Amazon S3.
En v3, está disponible el paquete
@aws-sdk/lib-storageupload() de v2 y es compatible tanto con Node.js como con el tiempo de ejecución de los navegadores.
URL prefirmada de Amazon S3
En v2, el cliente de Amazon S3 contiene las operaciones getSignedUrl() y getSignedUrlPromise() para generar una URL que los usuarios pueden utilizar para cargar o descargar objetos de Amazon S3.
En v3, está disponible el paquete
@aws-sdk/s3-request-presignergetSignedUrl() y
getSignedUrlPromise(). En esta entrada del blog
Redireccionamientos de región de Amazon S3
Si se transfiere una región incorrecta al cliente de Amazon S3 y se produce un error
PermanentRedirect (estado 301), el cliente de Amazon S3 en v3 admite redireccionamientos de región (anteriormente conocido como Cliente global de Amazon S3 en v2). Puede usar el indicador followRegionRedirects en la configuración del cliente para que el cliente de Amazon S3 siga los redireccionamientos de región y admita su función como cliente global.
nota
Tenga en cuenta que esta característica puede generar una latencia adicional, ya que las solicitudes fallidas se reintentan con una región corregida cuando se recibe un error PermanentRedirect con el estado 301. Esta característica solo debe usarse si no conoce de antemano la región de sus buckets.
Streaming de Amazon S3 y respuestas almacenadas en búfer
El SDK v3 prefiere no almacenar en búfer respuestas que puedan ser de gran tamaño. Esto suele ocurrir en la operación GetObject de Amazon S3, que devolvía un Buffer en v2, pero devuelve un Stream en v3.
En el caso de Node.js, debe consumir el flujo o realizar la recopilación de elementos no utilizados del cliente o su controlador de solicitudes para mantener las conexiones abiertas al nuevo tráfico liberando los sockets.
// 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.
Para obtener más información, consulte la sección sobre agotamiento de sockets