Skip to main content

Remotion Lambda 中的多个存储桶

理想的设置是,如果您在使用 Remotion Lambda 的每个区域和帐户中使用1个存储桶

虽然不鼓励这样做,但从版本 v3.3.42 开始,可以使用多个存储桶。

一个存储桶的原因

不需要创建多个存储桶,因为:

  • S3 存储桶是一个有效的无限可扩展的存储解决方案。
  • Remotion 将完全隔离每个渲染,使它们不会相互干扰。
  • 您可以为站点提供一个唯一标识符,以区分生产和开发环境。
  • Remotion Lambda 函数是一个不随您的代码库变化而变化的二进制文件。

您可能会直觉地创建多个存储桶,因为您有多个环境,但通常是不需要的。

除此之外,Remotion 并不是为多个存储桶而设计的。虽然您可以显式指定存储桶名称,但这是可选的,因此很容易忘记。

使用多个存储桶

如果您仍然想要使用多个存储桶(为它们应用不同的策略或满足业务或合规要求),您可以在 AWS 控制台中创建更多存储桶。不要使用 getOrCreateBucket() 来创建它们。

Remotion 默认会自动发现存储桶并重复使用它们。如果它检测到多个存储桶,将会抛出错误。

为了避免此错误,您需要额外显式传递 forceBucketName 选项给以下 API:

此外,您必须向以下 CLI 命令传递 --force-bucket-name=your-bucket-name 选项:

删除多余的存储桶

如果您收到以下错误消息

You have multiple buckets [a,b,c] in your S3 region [us-east-1] starting with "remotionlambda-".
You have multiple buckets [a,b,c] in your S3 region [us-east-1] starting with "remotionlambda-".

但您并不打算使用多个存储桶,请在 AWS 控制台中删除多余的存储桶以修复错误。

参见