资讯动态

Remotion Lambda 渲染报 ‘AccessControlListNotSupported: The bucket does not allow ACLs‘ 怎么解决?

发布时间:2026/9/12 15:35:37 来源:尧图企业网站定制
Remotion Lambda 渲染报 AccessControlListNotSupported: The bucket does not allow ACLs 怎么解决【免费下载链接】remotion Make videos programmatically with React项目地址: https://gitcode.com/GitHub_Trending/re/remotion用 Remotion Lambda 渲染视频或图片时如果 S3 目标桶禁用了 ACL 功能例如改用 bucket policy 管理权限渲染会失败并抛出AccessControlListNotSupported: The bucket does not allow ACLs原因很直接Remotion 在写入 S3 时会尝试设置对象的 ACL 选项而该桶不允许这样做。解决办法是在发起渲染时把privacy选项设为no-acl这样 Remotion 完全不设置 ACL 选项。通过 CLI 渲染传--privacyno-acl如果你用npx remotion lambda render命令发起渲染见 npx remotion lambda render 文档加上--privacyno-aclnpx remotion lambda render --privacyno-acl serve-url composition-idserve-url你的 Remotion 站点的 Serve URL可通过sites create命令或bundle()deploySiteFromBundle()获得composition-id要渲染的 composition 的 id不传时会拉取列表让你选择使用短格式 serve URL 时该项必传。--privacy共有三个取值默认是publicpublic渲染结果在 S3 URL 下公开可访问private结果不公开但可用presignUrl()生成签名链接no-aclv3.1.7 起可用完全不设置 ACL 选项适用于写入不支持 ACL 的桶。通过 API 渲染设置privacy: no-acl如果代码里调用renderMediaOnLambda()或renderStillOnLambda()把参数对象中的privacy改为no-aclimport {renderMediaOnLambda} from remotion/lambda/client; const {bucketName, renderId} await renderMediaOnLambda({ region: us-east-1, functionName: remotion-render-bds9aab, composition: MyVideo, serveUrl: https://remotionlambda-xxxx.s3.eu-central-1.amazonaws.com/sites/xxxx, codec: h264, privacy: no-acl, });示例中的region、functionName、serveUrl、composition需替换为你自己的部署值functionName可用deployFunction()创建、getFunctions()查询。文档同时建议从remotion/lambda/client导入该函数以避免在 serverless 环境中的问题。renderStillOnLambda()的用法相同在其参数中传privacy: no-acl即可。什么场景下用no-acl按 troubleshooting 文档no-acl的定位是目标桶本身禁用了 ACL 并通过其他方式如 bucket policy管理权限。API 文档进一步说明它在通过outName写入另一个不支持 ACL 的桶时尤为有用。一个文档给出的完整示例是渲染到 Cloudflare R2 这类 S3 兼容存储见 CLI render 文档REMOTION_S3_OUTPUT_PROVIDER_ACCESS_KEY_IDaccess-key-id \ REMOTION_S3_OUTPUT_PROVIDER_SECRET_ACCESS_KEYsecret-access-key \ npx remotion lambda render testbed my-comp \ --force-bucket-namemy-r2-bucket \ --out-namerenders/video.mp4 \ --privacyno-acl \ --s3-output-provider-endpointhttps://account-id.r2.cloudflarestorage.com \ --s3-output-provider-regionauto其中access-key-id、secret-access-key、account-id、testbed、my-comp、my-r2-bucket都要替换为你自己的值使用--s3-output-provider-endpoint时文档要求同时传--force-bucket-name和--out-name若存储商需要凭证则设置两个REMOTION_S3_OUTPUT_PROVIDER_*环境变量。这个组合属于写入外部桶的可选分支——如果你只是渲染到 Remotion 自己的桶且该桶禁用了 ACL用上面第一条--privacyno-acl命令即可。验证重新发起渲染后之前的AccessControlListNotSupported错误不再出现渲染正常完成CLI 会返回渲染结果的 S3 位置指定了本地输出路径时则下载到本地API 返回bucketName/url等结果。如果仍然报错先确认两点使用的 Remotion 版本是否支持no-aclv3.1.7 起提供privacy选项是否真的传到了发起渲染的那个调用/命令上CLI 与 API 的参数名不同注意区分。相关文档The bucket does not allow ACLs。【免费下载链接】remotion Make videos programmatically with React项目地址: https://gitcode.com/GitHub_Trending/re/remotion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价