0

.NET SDK を使用して Amazon Glacier にファイルをアップロードしようとすると、次の例外が発生し続けます。

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Amazon.Glacier.Model.Internal.MarshallTransformations.UploadArchiveResponseUnmarshaller.UnmarshallException(JsonUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode)
   at Amazon.Runtime.Internal.Transform.JsonResponseUnmarshaller.UnmarshallException(UnmarshallerContext input, Exception innerException, HttpStatusCode statusCode)
   at Amazon.Runtime.AmazonWebServiceClient.handleHttpWebErrorResponse(AsyncResult asyncResult, WebException we)
   at Amazon.Runtime.AmazonWebServiceClient.getResponseCallback(IAsyncResult result)
   at Amazon.Runtime.AmazonWebServiceClient.endOperation[T](IAsyncResult result)
   at Amazon.Glacier.Transfer.Internal.SinglepartUploadCommand.Execute()
   at Amazon.Glacier.Transfer.ArchiveTransferManager.Upload(String vaultName, String archiveDescription, String filepath, UploadOptions options)
   at UClaim.TaskRunner.Tasks.ArchiveDocuments.Execute() in c:\Projects\uclaim\src\UClaim.TaskRunner\Tasks\ArchiveDocuments.cs:line 55

なぜそれが起こっているのか、それが何を意味するのか、私にはわかりません。グーグルでは何も見つかりません。私が使用しているコードは特別なものではありませんが、完全を期すためにここに示します。

var document = GetDocumentToArchive();
var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.EUWest1);
document.ArchiveId = manager.Upload(
    "archivedDocs",
    string.Format("#{0}: {1}", document.Claim.Id, document.Description),
    document.GeneratePathOnServer()).ArchiveId;
4

1 に答える 1

0

わかりました、これはばかげた間違いでした。ボールトが存在しない場合、SDK はボールトを作成すると思っていましたが、ボールトを検索しようとして失敗したと思います。管理コンソールにログインして「archivedDocs」ボールトを作成したところ、正常に動作するようになりました

于 2013-11-05T17:10:26.863 に答える