問題タブ [awss3transfermanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - AWS Java S3 SDK TransferManager を使用して SFTP ストリームからアップロードを再開する
現在、Java の S3 SDK で AWS の TransferManager を使用して、SFTP サーバーから S3 へのアップロードをトリガーしています。このアップロードをトリガーする方法を以下に示します。
(疑似コード...)
の定義は次のSftpStream
とおりです。
}
このアップロード方法は正常に機能します。ただし、マルチパート アップロードが一時停止/キャンセル/途中で中止された場合、最初からやり直すのではなく、中断したところから再開したいと考えています。を受け取る TransferManagersresumeUpload
メソッドを認識していますPersistableUpload
。
ただし、 の javadoc ではPersistableUpload
、パスがコンストラクターに渡されることを期待しており、後でそこからオブジェクト
file
を作成しようとします: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws /services/s3/transfer/PersistableUpload.htmlFile
私たちが疑問に思っているのは、このファイル オブジェクトを持たずにアップロードを再開する方法はありますChannelSftp
か? つまり、ファイルではなくストリームからアップロードを再開できますか? または、そのような再開を実行するには、低レベルの s3 API を使用するように切り替える必要があります。任意の提案をいただければ幸いです。
編集 - もう少し調べて、既存のアップロードに UploadId を渡すことさえ、ファイルがない場合、doUpload メソッドは例外をスローします。何か案は?