![](/img/trans.png)
[英]Build of React application on AWS Amplify fails in Amplify Console
[英]How to build a Video Transcoder Pipeline with AWS Amplify in React?
我正在使用 AWS Amplify 和 React 构建 web 应用程序。 我要完成的功能是经过身份验证的用户上传视频。 S3 存储桶具有 lambda 触发器,可将视频转码为多种格式以供不同的观看者使用。 这些文件被上传到一个单独的存储桶,供 React Web 应用程序使用。
问题是 Amplify 项目可能只有一个与之关联的存储桶。 我在这里完成了一个关于使用无服务器平台的教程,它运行良好,但是当我尝试将第二个存储桶转移到我的项目中时,第二个存储桶被拒绝了。 我相信直接操作 cloudformation 模板是必要的,但我不知道如何或是否可能。
AWS 提供了一些媒体转码器服务,可以完成每个作业的转码,但我不知道如何通过 lambda function 从 React 启动然后将结果与我的 Amplify 项目关联起来。
有什么建议么?
Amplify 尚不支持多个存储桶。
在 Amplify 存储库中打开了 2 个问题:
这个: https://github.com/aws-amplify/amplify-cli/issues/1923这个已关闭,建议您应该在同一存储库中使用不同的前缀作为“最佳实践”。
但如果你不能这样做,有一些解决方法可以完成工作。
这是另一张票: https://github.com/aws-amplify/amplify-js/issues/329
最简单的解决方案是,如果您只需要调用get
并且存储桶位于同一区域,那么您应该需要这样做
Storage.get(key1, {bucket: 'other-bucket'});
另一个解决方案是调用configure
Amplify.configure({
...
Storage: {
bucket: 'other-bucket', //REQUIRED - Amazon S3 bucket
region: 'XX-XXXX-X', //OPTIONAL - Amazon service region
}
});
这有点烦人,但如果桶位于不同的区域并且您需要与get
不同的操作,这是迄今为止唯一的解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.