Le guide de référence de l'API AWS SDK pour JavaScript V3 décrit en détail toutes les opérations de l'API pour la AWS SDK pour JavaScript version 3 (V3).
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Considérations relatives à Amazon S3
Chargement en plusieurs parties sur Amazon S3
Dans la version 2, le client Amazon S3 contient une upload()
opération qui prend en charge le téléchargement d'objets volumineux grâce à la fonctionnalité de téléchargement partitionné proposée par Amazon S3.
Dans la version 3, le
@aws-sdk/lib-storage
upload()
opération v2 et supporte à la fois Node.js et le runtime des navigateurs.
URL présignée Amazon S3
Dans la version 2, le client Amazon S3 contient les getSignedUrlPromise()
opérations getSignedUrl()
et pour générer une URL que les utilisateurs peuvent utiliser pour charger ou télécharger des objets depuis Amazon S3.
Dans la version 3, le
@aws-sdk/s3-request-presigner
getSignedUrlPromise()
opérations getSignedUrl()
et pour les opérations. Ce billet de blog
Redirections régionales Amazon S3
Si une région incorrecte est transmise au client Amazon S3 et qu'une erreur ultérieure
PermanentRedirect
(statut 301) est renvoyée, le client Amazon S3 de la version 3 prend en charge les redirections régionales (anciennement connu sous le nom de client global Amazon S3 dans la version 2). Vous pouvez utiliser l'followRegionRedirects
indicateur dans la configuration du client pour que le client Amazon S3 suive les redirections régionales et prenne en charge sa fonction de client global.
Note
Notez que cette fonctionnalité peut entraîner une latence supplémentaire car les demandes ayant échoué sont réessayées avec une région corrigée lors de la réception PermanentRedirect
d'une erreur avec le statut 301. Cette fonctionnalité ne doit être utilisée que si vous ne connaissez pas à l'avance la région de vos compartiments.
Streaming Amazon S3 et réponses mises en mémoire tampon
Le SDK v3 préfère ne pas mettre en mémoire tampon les réponses potentiellement volumineuses. Cela se produit fréquemment lors de l'GetObject
opération Amazon S3, qui a renvoyé un Buffer
dans la version 2, mais renvoie un Stream
dans la version 3.
Pour Node.js, vous devez utiliser le flux ou la collecte des déchets du client ou de son gestionnaire de requêtes pour maintenir les connexions ouvertes au nouveau trafic en libérant des 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.
Pour plus d'informations, consultez la section sur l'épuisement des sockets