Skip to main content

presignUrl()

将私有 S3 对象转换为公共 URL,通过使用您的 AWS 凭据进行签名。

示例

ts
import { presignUrl } from "@remotion/lambda/client";
 
const url = await presignUrl({
region: "us-east-1",
bucketName: "remotionlambda-c7fsl3d",
objectKey: "assets/sample.png",
expiresInSeconds: 900,
checkIfObjectExists: true,
});
 
console.log(url); // `string` - or `null` if object doesn't exist
 
const url2 = await presignUrl({
region: "us-east-1",
bucketName: "remotionlambda-c7fsl3d",
objectKey: "assets/sample.png",
expiresInSeconds: 900,
checkIfObjectExists: false,
});
 
console.log(url); // always a string, or exception if object doesn't exist
ts
import { presignUrl } from "@remotion/lambda/client";
 
const url = await presignUrl({
region: "us-east-1",
bucketName: "remotionlambda-c7fsl3d",
objectKey: "assets/sample.png",
expiresInSeconds: 900,
checkIfObjectExists: true,
});
 
console.log(url); // `string` - or `null` if object doesn't exist
 
const url2 = await presignUrl({
region: "us-east-1",
bucketName: "remotionlambda-c7fsl3d",
objectKey: "assets/sample.png",
expiresInSeconds: 900,
checkIfObjectExists: false,
});
 
console.log(url); // always a string, or exception if object doesn't exist
note

最好从 @remotion/lambda/client 中导入此函数(从 v3.3.42 版本开始提供),以避免在 无服务器函数 中出现问题。

参数

一个具有以下属性的对象:

region

存储桶所在的 AWS 区域。

bucketName

存储资产的存储桶。存储桶必须由 Remotion Lambda 创建。

objectKey

唯一标识存储桶中存储的对象的键。

expiresInSeconds

预签名 URL 过期之前的秒数。 必须是整数且 >=1<=604800(AWS 强制的最长 7 天)。

checkIfObjectExists

函数是否应在生成预签名 URL 之前检查对象是否存在于存储桶中。默认为 false

如果对象不存在且 checkIfObjectExists 为:

  • true,则返回 null
  • false,则抛出异常

参见