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
选项:
npx remotion lambda render
npx remotion lambda still
npx remotion lambda compositions
npx remotion lambda sites create
npx remotion lambda sites rm
npx remotion lambda sites rmall
删除多 余的存储桶
如果您收到以下错误消息
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 控制台中删除多余的存储桶以修复错误。