Utilisation de l'utilitaire de transfert de S3 - Kit SDK AWS Mobile

Le SDKAWS mobile pour Xamarin est désormais inclus dans leAWS SDK for .NET. Ce guide fait référence à la version archivée du SDK mobile pour Xamarin.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'utilitaire de transfert de S3

L'utilitaire de transfert S3 facilite le téléchargement et le chargement des fichiers vers S3 à partir de votre application Xamarin.

Initialisez leTransferUtility

Créez un client S3, passez-lui l'objet des informations d'identification AWS, puis passez le client S3 à l'utilitaire de transfert, comme suit :

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

(facultatif) Configurer leTransferUtility

Vous pouvez configurer trois propriétés facultatives :

  • ConcurrentServiceRequêtes— Détermine le nombre de threads actifs ou le nombre de demandes asynchrones simultanées qui seront utilisés pour télécharger le fichier. La valeur par défaut est 10.

  • MinSizeBeforePartCharger— Obtient ou définit la taille partielle minimum pour les chargements partiels en octets. La valeur par défaut est 16 Mo. La réduction de la taille partielle minimum entraîne des chargements en plusieurs parties qui seront fractionnés en un nombre plus grand de petites parties. Une valeur trop faible a des répercussions négatives sur les vitesses de transfert, ce qui entraîne une latence et une communication réseau supplémentaires pour chaque partie.

  • NumberOfUploadThreads— Obtient ou définit le nombre de threads en cours d'exécution. Cette propriété détermine le nombre de threads actifs qui seront utilisés pour charger le fichier. La valeur par défaut est de 10 threads.

Pour configurer le S3TransferUtilityclient, créez un objet de configuration, définissez vos propriétés et passez l'objet à votreTransferUtilityconstructeur comme ça :

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

Télécharger un fichier

Pour télécharger un fichier depuis S3, appelez Download sur l'objet Transfer Utility (Utilitaire de transfert) avec les paramètres suivants :

  • file : nom de chaîne du fichier que vous souhaitez télécharger

  • bucketName : nom de chaîne du compartiment S3 à partir duquel vous voulez télécharger le fichier

  • key : chaîne représentant le nom de l'objet S3 (un fichier dans le cas présent) à télécharger

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

Charger un fichier

Pour charger un fichier dans S3, appelez Upload sur l'objet Transfer Utility (Utilitaire de transfert) avec les paramètres suivants :

  • file : nom de chaîne du fichier que vous souhaitez charger

  • bucketName : nom de chaîne du compartiment S3 destiné au stockage du fichier

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

Pour le code ci-dessus, vous devez avoir un fichier dans le répertoire Environment.SpecialFolder.ApplicationData. Les chargements utilisent automatiquement la fonctionnalité de téléchargement en plusieurs parties de S3 sur les fichiers volumineux pour améliorer le débit.