0

私はaws-sdk宝石を使用しており、基本的に非常に大きなファイルをアップロードしようとしています (2 日かかります)。

ファイルはチャンクでアップロードされますが、スクリプトがクラッシュすることがあり、アップロードを再開したいと思います (次のチャンク)。

アップロード中に、マルチパート アップロードを閉じcloseます (これまでにアップロードされた s3 データにアクセスできるようにします)。

マルチパートアップロードが終了した後にパートを追加することはできますか? (翌日と言います)基本的にアップロードを再開しますか?

4

1 に答える 1

2

マルチパートアップロードが終了した後にパートを追加することはできますか? (翌日と言います)基本的にアップロードを再開しますか?

そうではありませんが、希望する効果をシミュレートできます。

バックグラウンド

マルチパート アップロード API を使用してオブジェクトを アップロードすると、単一のオブジェクトを一連のパーツとしてアップロードできます

各パーツは、オブジェクトのデータの連続した部分です。これらのオブジェクト パーツを個別に任意の順序でアップロードできます。一部の送信に失敗した場合、他の部分に影響を与えずにその部分を再送信できます。オブジェクトのすべての部分がアップロードされると、Amazon S3 はこれらの部分を組み立ててオブジェクトを作成します。 [鉱山を強調]

これは、完全なマルチパート アップロードでさらに詳しく説明されています。

最初にマルチパート アップロードを開始してから、[パーツのアップロード] 操作を使用してすべてのパーツをアップロードします (「パーツのアップロード」を参照)。[...]このリクエストを受け取ると、Amazon S3 はパーツ番号の昇順ですべてのパーツを連結し、新しいオブジェクトを作成します。[...] パーツ リストが完全であることを確認する必要があります。この操作により、リストに指定したパーツが連結されます。[...] [私の強調]

つまり、アップロード操作はここで終了し、別のパーツをアップロードして再開することはできません。(技術的に言えば、upload ID開始されたマルチパート アップロードでの操作に必要な は、もはや利用できません/有効ではありません)。

解決

新しいマルチパート アップロードを簡単に開始し、以前にアップロードした S3 オブジェクトをこの新しいマルチパート オブジェクトの最初の部分としてアップロードすることができます。アップロード パーツ - コピー操作では、データ ソースとして既存のオブジェクトからデータをコピーしてパーツをアップロードします

于 2012-05-03T23:45:33.567 に答える