AWS SDK for JavaScript V3 API 참조 안내서는 AWS SDK for JavaScript 버전 3(V3)의 모든 API 작업을 자세히 설명합니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon S3 고려 사항
Amazon S3 멀티파트 업로드
v2에서 Amazon S3 클라이언트에는 Amazon S3에서 제공하는 멀티파트 업로드 기능을 사용하여 대용량 객체 업로드를 지원하는 upload()
작업이 포함되어 있습니다.
v3에서는 @aws-sdk/lib-storage
upload()
작업에서 제공되는 모든 기능을 지원하며 Node.js 및 브라우저 런타임을 모두 지원합니다.
Amazon S3 미리 서명된 URL
v2에서 Amazon S3 클라이언트에는 사용자가 Amazon S3에서 객체를 업로드하거나 다운로드하는 데 사용할 수 있는 URL을 생성하는 getSignedUrl()
및 getSignedUrlPromise()
작업이 포함되어 있습니다.
v3에서는 @aws-sdk/s3-request-presigner
getSignedUrl()
및 getSignedUrlPromise()
작업 모두에 대한 함수가 포함되어 있습니다. 이 블로그 게시물
Amazon S3 리전 리디렉션
잘못된 리전이 Amazon S3 클라이언트로 전달되고 후속 PermanentRedirect
(상태 301) 오류가 발생하면 v3의 Amazon S3 클라이언트는 리전 리디렉션(이전에는 v2의 Amazon S3 Global Client라고 함)을 지원합니다. 클라이언트 구성에서 followRegionRedirects
플래그를 사용하여 Amazon S3 클라이언트가 리전 리디렉션을 따르고 글로벌 클라이언트로서 해당 기능을 지원하도록 할 수 있습니다.
참고
상태가 301인 PermanentRedirect
오류를 수신하면 실패한 요청이 수정된 리전으로 재시도되므로이 기능으로 인해 추가 지연 시간이 발생할 수 있습니다. 이 기능은 버킷(들)의 리전을 미리 모르는 경우에만 사용해야 합니다.
Amazon S3 스트리밍 및 버퍼링된 응답
v3 SDK는 잠재적으로 큰 응답을 버퍼링하지 않는 것을 선호합니다. 이는 일반적으로 v2에서를 반환했지만 vAmazon S3Stream
3 GetObject
작업에서 발생합니다. Buffer
Node.js의 경우 스트림 또는 가비지 수집 클라이언트 또는 요청 핸들러를 사용하여 소켓을 해제하여 새 트래픽에 대한 연결을 열어 두어야 합니다.
// 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.
자세한 내용은 소켓 소진