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 en Amazon S3
En la versión 2, el cliente Amazon S3 contiene una upload()
operación que permite cargar objetos grandes con la función de carga multiparte que ofrece Amazon S3.
En la versión 3, el
@aws-sdk/lib-storage
upload()
y es compatible con Node.js y con el tiempo de ejecución de los navegadores.
URL prefirmada de Amazon S3
En la versión 2, el cliente Amazon S3 contiene las getSignedUrlPromise()
operaciones getSignedUrl()
y para generar una URL que los usuarios pueden utilizar para cargar o descargar objetos de Amazon S3.
En la versión 3, el
@aws-sdk/s3-request-presigner
getSignedUrl()
getSignedUrlPromise()
operaciones. Esta entrada de 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 posterior
PermanentRedirect
(estado 301), el cliente Amazon S3 de la versión 3 admite los redireccionamientos de región (anteriormente denominados Amazon S3 Global Client en la versión 2). Puede usar el followRegionRedirects
indicador en la configuración del cliente para hacer que el cliente de Amazon S3 siga las redirecciones regionales y respalde su función como cliente global.
nota
Tenga en cuenta que esta función puede generar una latencia adicional, ya que las solicitudes fallidas se reintentan con una región corregida cuando se recibe un PermanentRedirect
error con el estado 301. Esta función solo debe usarse si no conoces con antelación la región de tus depósitos.
Transmisión y respuestas almacenadas en búfer de Amazon S3
El SDK v3 prefiere no almacenar en búfer las respuestas potencialmente grandes. Esto suele ocurrir en la GetObject
operación Amazon S3, que devolvió un Buffer
en la versión 2, pero devuelve un Stream
en la versión 3.
En el caso de Node.js, debe consumir la transmisión o recolectar basura 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 el agotamiento de los sockets