S3 バケットにアップロードするために、(サーバーから生成された) 署名済み URL を使用しています。URLSession バックグラウンド セッションを使用して、ファイルから署名付き URL にアップロードします。
私が気付いたのは、ビデオが大きい場合 (30 または 50 MB 以上)、アップロードが非常に遅いということです。私のインターネット速度はまともで、300 Mbps 近くでリアルタイムの速度テストを行ったところ、ダウンロードとアップロードが 10 MBPS を超えていました。
ファイルからセッションとアップロードタスクを作成する方法は次のとおりです。
let sessionConfiguration : URLSessionConfiguration = URLSessionConfiguration.background(withIdentifier: "SOME_REVERSE_DOMAIN_STRING.backgroundSession")
sessionConfiguration.allowsCellularAccess = true
let backgroundSession: URLSession = URLSession(configuration: sessionConfiguration,delegate: self,delegateQueue:OperationQueue.main)
アップロード タスク、基本的な使用法はここでは何も気になりません:
uploadsSession.uploadTask(with: request, fromFile: fileUrl!)
task.resume()
AWS SDK または Amplify フレームワークを使用してアップロードする必要がありますか? 違いはありますか。