3

私はAmazonAWSとGlacierを初めて使用します。アーカイブされたバックアップデータを氷河クラウドにアップロードするWPFWindowsベースのC#クライアントを作成しようとしています。ただし、APIリファレンスはキャンセルコマンドを提供していないようです。アップロード、ダウンロード、リストのみ。

私がやろうとしているのは、TPLを使用して非同期で各アップロード操作(大きなファイルでは1時間以上かかる場合があります)を実行することです。ただし、アップロードをキャンセルできるようにしたいのですが、.NET 4.5はうまくサポートしますが、AmazonAPIはサポートしていません。

とにかくそれを行う方法はありますか?

ありがとう。

4

1 に答える 1

3

Amazon Glacier(およびAmazon S3も同様)でシナリオを処理するための推奨される方法は、マルチパートアップロードを介してアーカイブを部分的にアップロードすることです。AmazonGlacierでのアーカイブのアップロードを参照してください。

アップロードするデータのサイズに応じて、AmazonGlacierは次のオプションを提供します。

  • 大きなアーカイブをパーツでアップロードする(マルチパートアップロード) — 1回の操作で、1バイトから最大4GBのサイズのアーカイブをアップロードできます。ただし、Amazon Glacierのお客様は、マルチパートアップロードを使用して100MBを超えるアーカイブをアップロードすることをお勧めします。[...] [強調鉱山]

  • アーカイブを部分的にアップロードする— Multipart upload APIを使用すると、最大約40,000 GB(10,000 * 4 GB)の大きなアーカイブをアップロードできます。

大規模なアーカイブをパーツにアップロードする(マルチパートアップロード)には、後者の詳細、特に完全(または中止)マルチパートアップロードに関する詳細が記載されています。

すべてのアーカイブパーツをアップロードした後、完全な操作を使用します。[...]

マルチパートアップロードを中止すると、そのマルチパートアップロードIDを使用してそれ以上パーツをアップロードすることはできません。中止されたマルチパートアップロードに関連するパーツによって消費されたすべてのストレージが解放されます。パーツのアップロードが進行中の場合は、中止した後でも成功または失敗する可能性があります。 [強調鉱山]

そのため、進行中のパーツのアップロードを中止することはできません。したがって、必要なユーザーエクスペリエンスやネットワーク帯域幅の削減の鍵は、十分に小さいパーツサイズを選択することです。

ユースケースによっては、List Multipart Uploads(GET multipart-uploads)にもチェックインすることをお勧めします。

このマルチパートアップロード操作は、指定されたボールトの進行中のマルチパートアップロードを一覧表示します。進行中のマルチパートアップロードは、マルチパートアップロードの開始(POST multipart-uploads)要求によって開始されたが、まだ完了または中止されていないマルチパートアップロードです。[...]

于 2012-09-28T06:51:22.243 に答える