我的客户端当前正在使用包aws-sdk
中的getSignedUrlPromise访问一些对象。请求是从后端完成的,签名的url会返回给客户端,一切都很好。
我现在正尝试从aws-sdk
迁移到@aws-sdk/client-s3
。我想保持相同的结构,但在文档中找不到这样的命令。
我非常确信@aws-sdk/client-s3
能够返回签名的url
有什么(不时髦的(方法可以做吗?
编辑:基于此,我应该在@aws-sdk/client-s3
的顶部使用@aws-sdk/s3-request-presigner
来获得预签名的URL。
您可以使用@aws sdk/s3请求预签名器。例如:
const { getSignedUrl } = require("@aws-sdk/s3-request-presigner");
const { S3Client, GetObjectCommand } = require("@aws-sdk/client-s3");
const clientParams = { region: "us-east-1" };
const getObjectParams = { Bucket: "mybucket", Key: "dogs/snoopy.png" };
const client = new S3Client(clientParams);
const command = new GetObjectCommand(getObjectParams);
const url = await getSignedUrl(client, command, { expiresIn: 3600 });
console.log(url);