gpt4 book ai didi

amazon-web-services - 来自存储桶的 AWS s3 V3 Javascript SDK 流文件 (GetObjectCommand)

转载 作者:行者123 更新时间:2023-12-04 16:37:42 25 4
gpt4 key购买 nike

我查看了 AWS 码头和堆栈溢出(甚至转到了谷歌的第 4 页!!!),但我终生无法弄清楚如何从 S3 流式传输文件。 V3 的文档非常无用,我找到的所有示例都来自 V2。
V3 使用的发送通用只返回一个 promise ,那么我如何获取流并通过管道传输它而不是等待整个文件(它需要通过管道传输到加密算法然后传输到响应流)

this.s3.send(
new GetObjectCommand({
Bucket: '...',
Key: key,
}),
);
我可以通过将流作为正文进行上传,我必须在这里做类似的事情吗?
  uploadToAws(key) {
const pass = new PassThrough();

return {
writeStream: pass,
promise: this.s3.send(
new PutObjectCommand({
Bucket: '...',
Key: key,
Body: pass,
ServerSideEncryption: '...',
ContentLength: 37,
}),
),
};
}

最佳答案

Body来自 GetObjectCommand是可读流( https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/getobjectcommandoutput.html#body )。
所以你可以这样做:

const command = new GetObjectCommand({
Bucket
Key,
});
const item = await s3Client.send(command);
item.Body.pipe(createWriteStream(fileName));

关于amazon-web-services - 来自存储桶的 AWS s3 V3 Javascript SDK 流文件 (GetObjectCommand),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67366381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com