Verwenden von S3 Transfer Utility - AWS SDK für Mobilgeräte

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von S3 Transfer Utility

S3 Transfer Utility erleichtert das Hoch- und Herunterladen von Dateien nach bzw. aus S3 mit der Xamarin-Anwendung.

Initialisieren des TransferUtility

Erstellen Sie einen S3-Client, übergeben Sie die AWS-Anmeldeinformationen und dann den S3-Client an das Dienstprogramm für die Datenübertragung, z. B.:

var s3Client = new AmazonS3Client(credentials,region); var transferUtility = new TransferUtility(s3Client);

(optional) Konfigurieren der TransferUtility

Es gibt drei optionale Eigenschaften, die Sie konfigurieren können:

  • ConcurrentServiceRequests – Bestimmt, wie viele aktive Threads oder die Anzahl der gleichzeitigen asynchronen Webanforderungen zum Hochladen/Herunterladen der Datei verwendet werden. Der Standardwert lautet 10.

  • MinSizeBeforePartUpload – Ruft die minimale Teilegröße für das Hochladen von Teilen in Bytes ab oder legt sie fest. Der Standardwert ist 16 MB. Durch Absenken der minimalen Komponentengröße werden mehrteilige Hochladeoperationen in eine größere Zahl kleinerer Komponenten aufgeteilt. Wenn dieser Wert zu niedrig eingestellt und dadurch die Übertragungsgeschwindigkeit beeinträchtigt wird, verursacht dies zusätzliche Latenz und Netzwerkkommunikation für jede Komponente.

  • NumberOfUploadThreads – Ruft die Anzahl der ausgeführten Threads ab oder legt sie fest. Diese Eigenschaft bestimmt, wie viele aktive Threads verwendet werden, um die Datei hochzuladen. Der Standardwert lautet 10 Threads.

Um den S3 TransferUtility zu konfigurieren, erstellen Sie ein Konfigurationsobjekt, legen Sie Ihre Eigenschaften fest und übergeben Sie das Objekt wie folgt an Ihren TransferUtility Konstruktor:

var config = new TransferUtilityConfig(); config.ConcurrentServiceRequests = 10; config.MinSizeBeforePartUpload=16*1024*1024; config.NumberOfUploadThreads=10; var s3Client = new AmazonS3Client(credentials); var utility = new TransferUtility(s3Client,config);

Herunterladen einer Datei

Um eine Datei aus S3 herunterzuladen, rufen Sie Download für das Transfer Utility-Objekt auf und übergeben dabei die folgenden Parameter:

  • file: Name der herunterzuladenden Datei als String

  • bucketName: Name des S3-Bucket, aus dem die Datei heruntergeladen werden soll

  • key: String, der den Namen des herunterzuladenden S3-Objekts (in diesem Fall eine Datei) angibt

transferUtility.Download( Path.Combine(Environment.SpecialFolder.ApplicationData,"file"), "bucketName", "key" );

Hochladen einer Datei

Um eine Datei nach S3 hochzuladen, rufen Sie Upload für das Transfer Utility-Objekt auf und übergeben dabei die folgenden Parameter:

  • file: Name der hochzuladenden Datei als String

  • bucketName: Name des S3-Bucket, in dem die Datei gespeichert werden soll, als String

transferUtility.Upload( Path.Combine(Environment.SpecialFolder.ApplicationData,"file"), "bucketName" );

Im Code oben wird davon ausgegangen, dass sich eine Datei im Verzeichnis Environment.SpecialFolder.ApplicationData befindet. Beim Hochladen wird automatisch die S3-Funktion für mehrteiliges Hochladen großer Dateien verwendet, um den Durchsatz zu verbessern.