如何在 React 中使用 AWS Amplify 构建视频转码器管道?
How to build a Video Transcoder Pipeline with AWS Amplify in React?
我正在使用 AWS Amplify 和 React 构建 Web 应用程序。我要实现的功能是经过身份验证的用户上传视频。 S3 存储桶有一个 lambda 触发器,可以将视频转码为多种格式供不同的观众使用。这些文件被上传到一个单独的桶中,该桶将由 React Web App 使用。
问题是 Amplify 项目可能只有一个与之关联的存储桶。我完成了关于使用无服务器平台 here 的教程,效果很好,但是当我尝试将第二个存储桶转移到我的项目中时,第二个存储桶被拒绝了。我相信直接操作 cloudformation 模板是必要的,但我不知道如何或是否可能这样做。
AWS 提供了一些媒体转码器服务,可以完成每个作业的转码,但我不知道如何通过从 React 启动的 lambda 函数启动转码器作业,然后将结果与我的 Amplify 项目相关联....
有什么建议吗?
Amplify 尚不支持多个桶。
在 Amplify 存储库上打开了 2 个问题:
这个:https://github.com/aws-amplify/amplify-cli/issues/1923
这个已关闭,建议您应该在与 "best practice".
相同的存储库上使用不同的前缀
但如果您做不到,也有一些解决方法可以完成这项工作。
这是另一张票: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
不同的操作,这是目前唯一的解决方案
我正在使用 AWS Amplify 和 React 构建 Web 应用程序。我要实现的功能是经过身份验证的用户上传视频。 S3 存储桶有一个 lambda 触发器,可以将视频转码为多种格式供不同的观众使用。这些文件被上传到一个单独的桶中,该桶将由 React Web App 使用。
问题是 Amplify 项目可能只有一个与之关联的存储桶。我完成了关于使用无服务器平台 here 的教程,效果很好,但是当我尝试将第二个存储桶转移到我的项目中时,第二个存储桶被拒绝了。我相信直接操作 cloudformation 模板是必要的,但我不知道如何或是否可能这样做。
AWS 提供了一些媒体转码器服务,可以完成每个作业的转码,但我不知道如何通过从 React 启动的 lambda 函数启动转码器作业,然后将结果与我的 Amplify 项目相关联....
有什么建议吗?
Amplify 尚不支持多个桶。
在 Amplify 存储库上打开了 2 个问题:
这个:https://github.com/aws-amplify/amplify-cli/issues/1923 这个已关闭,建议您应该在与 "best practice".
相同的存储库上使用不同的前缀但如果您做不到,也有一些解决方法可以完成这项工作。
这是另一张票: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