I expect a buffer of bytes or blob for the .Body attribute on the response object. But no buffer. Same API works in v2.
let params: GetObjectRequest = {
Bucket: "my-bucket",
Key: file,
};
const command = new GetObjectCommand(params);
client.send(command).then((obj: GetObjectCommandOutput) => {
console.log(obj); // obj.Body is IncomingMessage type, looks like a req/res object, see below
});
console.log(obj) output: (where's the byte stream buffer?)
{
'$metadata': {
httpStatusCode: 200,
requestId: undefined,
extendedRequestId: 'x7A0J21CrOpeQ7O5I3LGtbH4yQcFPQmmnVSHbBDHy7iSImMfyXephea10B0jn0vz6NA03mzgWAs=',
cfId: undefined,
attempts: 1,
totalRetryDelay: 0
},
AcceptRanges: 'bytes',
Body: <ref *1> IncomingMessage {
_readableState: ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: BufferList { head: null, tail: null, length: 0 },
length: 0,
pipes: [],
flowing: null,
ended: false,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
errorEmitted: false,
emitClose: true,
autoDestroy: false,
destroyed: false,
errored: null,
closed: false,
closeEmitted: false,
defaultEncoding: 'utf8',
awaitDrainWriters: null,
multiAwaitDrain: false,
readingMore: true,
decoder: null,
encoding: null,
[Symbol(kPaused)]: null
},
_events: [Object: null prototype] { end: [Function: responseOnEnd] },
_eventsCount: 1,
_maxListeners: undefined,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'ae-art.s3.us-east-1.amazonaws.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 11,
connecting: false,
_hadError: false,
_parent: null,
_host: 'ae-art.s3.us-east-1.amazonaws.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: [HTTPParser],
_httpMessage: [ClientRequest],
timeout: 0,
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 318,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: false,
headers: {
'x-amz-id-2': 'x7A0J21CrOpeQ7O5I3LGtbH4yQcFPQmmnVSHbBDHy7iSImMfyXephea10B0jn0vz6NA03mzgWAs=',
'x-amz-request-id': 'PYBCZW7TDH874YEW',
date: 'Mon, 07 Jun 2021 22:52:04 GMT',
'last-modified': 'Mon, 10 May 2021 03:22:00 GMT',
etag: '"5ca793adbf0016a9e61ba83c48049000"',
'accept-ranges': 'bytes',
'content-type': 'image/jpeg',
server: 'AmazonS3',
'content-length': '519667'
},
rawHeaders: [
'x-amz-id-2',
'x7A0J21CrOpeQ7O5I3LGtbH4yQcFPQmmnVSHbBDHy7iSImMfyXephea10B0jn0vz6NA03mzgWAs=',
'x-amz-request-id',
'PYBCZW7TDH874YEW',
'Date',
'Mon, 07 Jun 2021 22:52:04 GMT',
'Last-Modified',
'Mon, 10 May 2021 03:22:00 GMT',
'ETag',
'"5ca793adbf0016a9e61ba83c48049000"',
'Accept-Ranges',
'bytes',
'Content-Type',
'image/jpeg',
'Server',
'AmazonS3',
'Content-Length',
'519667'
],
trailers: {},
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 200,
statusMessage: 'OK',
client: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'ae-art.s3.us-east-1.amazonaws.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 11,
connecting: false,
_hadError: false,
_parent: null,
_host: 'ae-art.s3.us-east-1.amazonaws.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: [HTTPParser],
_httpMessage: [ClientRequest],
timeout: 0,
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 318,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
_consuming: false,
_dumped: false,
req: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 4,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: true,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: [TLSSocket],
_header: 'GET /2010/01/Just-because-youre-careful.jpg?x-id=GetObject HTTP/1.1\r\n' +
'host: ae-art.s3.us-east-1.amazonaws.com\r\n' +
'x-amz-user-agent: aws-sdk-js/3.18.0\r\n' +
'user-agent: aws-sdk-js/3.18.0 os/darwin/20.4.0 lang/js md/nodejs/14.15.4 api/s3/3.18.0\r\n' +
'amz-sdk-invocation-id: 1a8ef70a-da2c-4776-8a96-0229005a7d66\r\n' +
'amz-sdk-request: attempt=1; max=3\r\n' +
'x-amz-date: 20210607T225203Z\r\n' +
'x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\r\n' +
'authorization: AWS4-HMAC-SHA256 Credential=AKIATBG74RDTF373ZWHS/20210607/us-east-1/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;host;x-amz-content-sha256;x-amz-date;x-amz-user-agent, Signature=8dccaec651cd083d361f0a08e9d10f9ef042d13d9981b8147a98300e8be57a59\r\n' +
'Connection: keep-alive\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/2010/01/Just-because-youre-careful.jpg?x-id=GetObject',
_ended: false,
res: [Circular *1],
aborted: false,
timeoutCb: [Function: emitRequestTimeout],
upgradeOrConnect: false,
parser: [HTTPParser],
maxHeadersCount: null,
reusedSocket: false,
host: 'ae-art.s3.us-east-1.amazonaws.com',
protocol: 'https:',
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
[Symbol(kCapture)]: false,
[Symbol(RequestTimeout)]: undefined
},
BucketKeyEnabled: undefined,
CacheControl: undefined,
ContentDisposition: undefined,
ContentEncoding: undefined,
ContentLanguage: undefined,
ContentLength: 519667,
ContentRange: undefined,
ContentType: 'image/jpeg',
DeleteMarker: undefined,
ETag: '"5ca793adbf0016a9e61ba83c48049000"',
Expiration: undefined,
Expires: undefined,
LastModified: 2021-05-10T03:22:00.000Z,
Metadata: {},
MissingMeta: undefined,
ObjectLockLegalHoldStatus: undefined,
ObjectLockMode: undefined,
ObjectLockRetainUntilDate: undefined,
PartsCount: undefined,
ReplicationStatus: undefined,
RequestCharged: undefined,
Restore: undefined,
SSECustomerAlgorithm: undefined,
SSECustomerKeyMD5: undefined,
SSEKMSKeyId: undefined,
ServerSideEncryption: undefined,
StorageClass: undefined,
TagCount: undefined,
VersionId: undefined,
WebsiteRedirectLocation: undefined
}
{
'$metadata': {
httpStatusCode: 200,
requestId: undefined,
extendedRequestId: 'Co820ZtW7f0fCWmUvh8Z+Ra04MDjAWHJkNaAAB89UVU4tPgnjbC+F/wbErDiLtsIOK8pvbSAba8=',
cfId: undefined,
attempts: 1,
totalRetryDelay: 0
},
AcceptRanges: 'bytes',
Body: <ref *1> IncomingMessage {
_readableState: ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: BufferList { head: null, tail: null, length: 0 },
length: 0,
pipes: [],
flowing: null,
ended: false,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
errorEmitted: false,
emitClose: true,
autoDestroy: false,
destroyed: false,
errored: null,
closed: false,
closeEmitted: false,
defaultEncoding: 'utf8',
awaitDrainWriters: null,
multiAwaitDrain: false,
readingMore: true,
decoder: null,
encoding: null,
[Symbol(kPaused)]: null
},
_events: [Object: null prototype] { end: [Function: responseOnEnd] },
_eventsCount: 1,
_maxListeners: undefined,
socket: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'ae-art.s3.us-east-1.amazonaws.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 11,
connecting: false,
_hadError: false,
_parent: null,
_host: 'ae-art.s3.us-east-1.amazonaws.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: [HTTPParser],
_httpMessage: [ClientRequest],
timeout: 0,
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 463,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: false,
headers: {
'x-amz-id-2': 'Co820ZtW7f0fCWmUvh8Z+Ra04MDjAWHJkNaAAB89UVU4tPgnjbC+F/wbErDiLtsIOK8pvbSAba8=',
'x-amz-request-id': 'PYB05QWDNWTXGF3R',
date: 'Mon, 07 Jun 2021 22:52:04 GMT',
'last-modified': 'Mon, 10 May 2021 03:22:01 GMT',
etag: '"bebd503437994699ece80a1dffd0d031"',
'accept-ranges': 'bytes',
'content-type': 'image/jpeg',
'content-length': '227789',
server: 'AmazonS3'
},
rawHeaders: [
'x-amz-id-2',
'Co820ZtW7f0fCWmUvh8Z+Ra04MDjAWHJkNaAAB89UVU4tPgnjbC+F/wbErDiLtsIOK8pvbSAba8=',
'x-amz-request-id',
'PYB05QWDNWTXGF3R',
'Date',
'Mon, 07 Jun 2021 22:52:04 GMT',
'Last-Modified',
'Mon, 10 May 2021 03:22:01 GMT',
'ETag',
'"bebd503437994699ece80a1dffd0d031"',
'Accept-Ranges',
'bytes',
'Content-Type',
'image/jpeg',
'Content-Length',
'227789',
'Server',
'AmazonS3'
],
trailers: {},
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 200,
statusMessage: 'OK',
client: TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
secureConnecting: false,
_SNICallback: null,
servername: 'ae-art.s3.us-east-1.amazonaws.com',
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object: null prototype],
_eventsCount: 11,
connecting: false,
_hadError: false,
_parent: null,
_host: 'ae-art.s3.us-east-1.amazonaws.com',
_readableState: [ReadableState],
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: false,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: [TLSWrap],
_requestCert: true,
_rejectUnauthorized: true,
parser: [HTTPParser],
_httpMessage: [ClientRequest],
timeout: 0,
[Symbol(res)]: [TLSWrap],
[Symbol(verified)]: true,
[Symbol(pendingSession)]: null,
[Symbol(async_id_symbol)]: 463,
[Symbol(kHandle)]: [TLSWrap],
[Symbol(kSetNoDelay)]: false,
[Symbol(lastWriteQueueSize)]: 0,
[Symbol(timeout)]: null,
[Symbol(kBuffer)]: null,
[Symbol(kBufferCb)]: null,
[Symbol(kBufferGen)]: null,
[Symbol(kCapture)]: false,
[Symbol(kBytesRead)]: 0,
[Symbol(kBytesWritten)]: 0,
[Symbol(connect-options)]: [Object],
[Symbol(RequestTimeout)]: undefined
},
_consuming: false,
_dumped: false,
req: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 4,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: true,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: [TLSSocket],
_header: 'GET /2011/06/Untitled-hogg-2.jpg?x-id=GetObject HTTP/1.1\r\n' +
'host: ae-art.s3.us-east-1.amazonaws.com\r\n' +
'x-amz-user-agent: aws-sdk-js/3.18.0\r\n' +
'user-agent: aws-sdk-js/3.18.0 os/darwin/20.4.0 lang/js md/nodejs/14.15.4 api/s3/3.18.0\r\n' +
'amz-sdk-invocation-id: 3b5ddcd7-089c-4680-b98b-14563e5bf5a8\r\n' +
'amz-sdk-request: attempt=1; max=3\r\n' +
'x-amz-date: 20210607T225203Z\r\n' +
'x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\r\n' +
'authorization: AWS4-HMAC-SHA256 Credential=AKIATBG74RDTF373ZWHS/20210607/us-east-1/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;host;x-amz-content-sha256;x-amz-date;x-amz-user-agent, Signature=45c1e7f1e4e6df578c833ca8fde8d6b73fec39ba517a23d6e30e0d345e74b51e\r\n' +
'Connection: keep-alive\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/2011/06/Untitled-hogg-2.jpg?x-id=GetObject',
_ended: false,
res: [Circular *1],
aborted: false,
timeoutCb: [Function: emitRequestTimeout],
upgradeOrConnect: false,
parser: [HTTPParser],
maxHeadersCount: null,
reusedSocket: false,
host: 'ae-art.s3.us-east-1.amazonaws.com',
protocol: 'https:',
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
[Symbol(kCapture)]: false,
[Symbol(RequestTimeout)]: undefined
},
BucketKeyEnabled: undefined,
CacheControl: undefined,
ContentDisposition: undefined,
ContentEncoding: undefined,
ContentLanguage: undefined,
ContentLength: 227789,
ContentRange: undefined,
ContentType: 'image/jpeg',
DeleteMarker: undefined,
ETag: '"bebd503437994699ece80a1dffd0d031"',
Expiration: undefined,
Expires: undefined,
LastModified: 2021-05-10T03:22:01.000Z,
Metadata: {},
MissingMeta: undefined,
ObjectLockLegalHoldStatus: undefined,
ObjectLockMode: undefined,
ObjectLockRetainUntilDate: undefined,
PartsCount: undefined,
ReplicationStatus: undefined,
RequestCharged: undefined,
Restore: undefined,
SSECustomerAlgorithm: undefined,
SSECustomerKeyMD5: undefined,
SSEKMSKeyId: undefined,
ServerSideEncryption: undefined,
StorageClass: undefined,
TagCount: undefined,
VersionId: undefined,
WebsiteRedirectLocation: undefined
}