簡體   English   中英

如何在 React 中使用 AWS Amplify 構建視頻轉碼器管道?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM