Utilizzo di S3 Transfer Utility - AWS Mobile SDK

L'SDKAWS Mobile per Xamarin è ora incluso inAWS SDK for .NET. Questa guida fa riferimento alla versione archiviata di Mobile SDK per Xamarin.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di S3 Transfer Utility

S3 Transfer Utility semplifica il caricamento e il download di file su S3 dall'applicazione Xamarin.

Inizializzare ilTransferUtility

Crea un client S3, passandolo al tuo oggetto credenziali AWS, quindi passa il client S3 all'utilità di trasferimento, in questo modo:

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

(facoltativo) Configurare ilTransferUtility

Sono disponibili tre proprietà opzionali che è possibile configurare:

  • ConcurrentServiceRichieste- Determina il numero di thread attivi o il numero di richieste Web asincrone simultanee che verranno utilizzate per caricare/scaricare il file. Il valore predefinito è 10.

  • MinSizeBeforePartCaricamento- Ottiene o imposta la dimensione minima della parte per caricare le parti in byte. Il valore predefinito è 16 MB. La riduzione delle dimensioni minime della parte fa sì che i caricamenti di più parti vengano suddivisi in un numero maggiore di parti più piccole. L'impostazione di questo valore troppo basso ha un effetto negativo sulle velocità di trasferimento, causando ulteriore latenza e comunicazione di rete per ogni parte.

  • NumberOfUploadThreads- Ottiene o imposta il numero di thread in esecuzione. Questa proprietà determina quanti thread attivi verranno utilizzati per caricare il file. Il valore predefinito è 10 thread.

Per configurare S3TransferUtilityclient, crea un oggetto di configurazione, imposta le tue proprietà e passa l'oggetto al tuoTransferUtilitycostruttore in questo modo:

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);

Download di un file

Per scaricare un file da S3, chiamareDownloadsull'oggetto Transfer Utility, passando i seguenti parametri:

  • file- Nome stringa del file da scaricare

  • bucketName- Nome stringa del bucket S3 da cui si desidera scaricare il file

  • key- Una stringa che rappresenta il nome dell'oggetto S3 (in questo caso un file) da scaricare

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

Caricamento di un file

Per caricare un file su S3, chiamaUploadsull'oggetto Transfer Utility, passando i seguenti parametri:

  • file- Nome stringa del file da caricare

  • bucketName- Nome stringa del bucket S3 per archiviare il file

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

Il codice precedente presuppone che ci sia un file nella directory Environment.SpecialFolder.ApplicationData. I caricamenti utilizzano automaticamente la funzionalità di caricamento multiparte di S3 su file di grandi dimensioni per migliorare il throughput.