2017-07-29 1 views
1

Ich implementiere einen einfachen C# -Client, der große und kleine Dateien auf S3 hochladen muss. Ich muss benutzerdefinierte Metadaten für einen mehrteiligen S3-Upload festlegen. Für einen einfachen S3 PutObject, habe ich einfach die Metadaten über den Antrag wie folgt:AWS .NET SDK S3 Multipart Upload mit benutzerdefinierten Metadaten

putObjectRequest.Metadata.Add("my-key", "my-value") 

Ich habe durch die Dokumentation gearbeitet, Using the AWS .NET SDK for Multipart Upload, und ich bin an einem bisschen von einem Verlust auf, wie die Metadaten festlegen für einen mehrteiligen Upload.

Wie lege ich die benutzerdefinierten Metadaten für einen mehrteiligen Upload fest?

Antwort

1

Bei S3-Multipart-Uploads müssen die Benutzermetadaten angegeben werden, wenn Sie den Multipart-Upload starten (Sie können ihn später nicht mehr bereitstellen).

Die Amazon.S3.Model.InitiateMultipartUploadRequest hat eine Metadata Eigenschaft, die eine Instanz von Amazon.S3.Model.MetadataCollection ist, die Sie liefern bräuchten, wenn die InitiateMultipartUploadRequest konstruieren.

Der folgende Codeausschnitt zeigt Werte auf der Metadaten-Eigenschaft:

// Create the S3 Initiate Multipart Upload Request 
var initiateRequest = new InitiateMultipartUploadRequest 
{ 
    BucketName = "my-bucket-name", 
    Key = "my-file-name" 
}; 

// Populate the S3 Request Metadata 
initiateRequest.Metadata.Add("my-key", "my-value");