2

このサンプルhttp://aws.amazon.com/articles/0006282245644577に基づいて、AWS iOS SDK を使用してマルチパート アップロードを使用する方法は明らかです。ただし、中断されたアップロードを再開しようとすると、アップロードが正しく結合されていないようです。

以下のコードを使用して、アップロードを再開します。これは、マルチパート アップロードのアップロード ID を設定する正しい方法ですか?

S3InitiateMultipartUploadRequest *initiateRequest = [[S3InitiateMultipartUploadRequest alloc] initWithKey:key inBucket:bucketName];
S3InitiateMultipartUploadResponse *initiateResponse = [self.amazonS3Client initiateMultipartUpload:initiateRequest];
self.multipartUpload = [initiateResponse multipartUpload];

// Set upload id to resume upload
self.multipartUpload.uploadId = uploadId;

助けや指針をいただければ幸いです。

4

1 に答える 1

1

コードは、どの部分がアップロードされたかを追跡する必要がある場合に対処できるように、十分に堅牢である必要があります。マルチパート アップロードのパート アップロードは、さまざまな方法で行うことができます (並列、マルチスレッド方式、または順番に 1 つずつ)。

上記の方法が何であれ、listParts API を使用して、正常にアップロードされたパーツの数を確認できます。アップロード ID は既にあるため、次のパーツのアップロードから続行する機能をデザインがサポートしている必要があります。

  GET /ObjectName?uploadId=UploadId HTTP/1.1
  Host: BucketName.s3.amazonaws.com
  Date: Date
  Authorization: Signature

マルチパート アップロードの最適化に役立つもう 1 つの有用なリソース: http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html

于 2012-07-21T23:05:42.040 に答える