AWS client-s3 getSignedUrl 等效
AWS client-s3 getSignedUrl equivalent
我的客户目前正在使用包 aws-sdk
中的 getSignedUrlPromise 访问某些对象。请求从后端完成,签名 url 返回给客户端,一切正常。
我现在正在尝试从 aws-sdk
迁移到 @aws-sdk/client-s3
。我想保持相同的结构,但我在 the documentation.
中找不到这样的命令
我很确定 @aws-sdk/client-s3
能够返回签名的 url
是否有任何(非 hacky)方法来做到这一点?
编辑:依靠 this,我应该在 @aws-sdk/client-s3
的顶部 使用 @aws-sdk/s3-request-presigner
来获得预签名 urls .
您可以使用 @aws-sdk/s3-request-presigner。例如:
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);
我的客户目前正在使用包 aws-sdk
中的 getSignedUrlPromise 访问某些对象。请求从后端完成,签名 url 返回给客户端,一切正常。
我现在正在尝试从 aws-sdk
迁移到 @aws-sdk/client-s3
。我想保持相同的结构,但我在 the documentation.
我很确定 @aws-sdk/client-s3
能够返回签名的 url
是否有任何(非 hacky)方法来做到这一点?
编辑:依靠 this,我应该在 @aws-sdk/client-s3
的顶部 使用 @aws-sdk/s3-request-presigner
来获得预签名 urls .
您可以使用 @aws-sdk/s3-request-presigner。例如:
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);