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,则抛出异常

参见​