Amazon Simple Storage Service (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.

Amazon Simple Storage Service (S3)

Qu'est-ce qu'S3 ?

Amazon Simple Storage Service (Amazon S3) offre aux développeurs un espace de stockage d'objets sécurisé, durable et hautement évolutif. Amazon S3 est facile à utiliser et doté d'une interface de services Web simple pour stocker et récupérer toute quantité de données depuis n'importe où sur le Web. Avec Amazon S3, vous ne payez que le stockage que vous utilisez réellement. Il n'y a aucun frais minimum ni frais d'installation.

Amazon S3 fournit un espace de stockage d'objets économique pour de nombreux et divers cas d'utilisation, notamment les applications cloud, la diffusion de contenu, la sauvegarde et l'archivage, la reprise après sinistre et les analyses Big Data.

Pour en savoir plus sur la disponibilité des régions pour AWS S3, consultez la page Disponibilité des régions pour les services AWS.

Concepts clés

Compartiment

Chaque objet que vous stockez dans Amazon S3 réside dans un compartiment. Vous pouvez utiliser des compartiments pour regrouper des objets connexes, comme lorsque vous utilisez un répertoire pour regrouper des fichiers dans un système de fichiers. Les compartiments ont des propriétés, telles que les autorisations d'accès et l'état de la gestion des versions, et vous pouvez spécifier où vous souhaitez qu'ils résident.

Pour en savoir plus sur les compartiments S3, consultez la page Utilisation des compartiments dans le Manuel du développeur S3.

Objets

Les objets correspondent aux données que vous stockez dans Amazon S3. Chaque objet réside dans un compartiment que vous créez dans une région AWS spécifique.

Les objets stockés dans une région ne quittent jamais la région, à moins que vous ne les transfériez explicitement vers une autre région. Par exemple, les objets stockés dans la région UE (Irlande) ne la quittent jamais. Les objets stockés dans une région Amazon S3 restent physiquement dans cette région. Amazon S3 ne conserve pas de copies et ne les déplace pas dans une autre région. Toutefois, vous pouvez accéder aux objets depuis n'importe où, tant que vous disposez des autorisations nécessaires.

Les objets peuvent correspondre à tout type de fichier : images, données de sauvegarde, films, etc. Un objet peut être aussi volumineux que 5 To. Vous pouvez disposer d'un nombre illimité d'objets dans un compartiment.

Avant de pouvoir charger un objet dans Amazon S3, vous devez disposer d'autorisations en écriture pour un compartiment. Pour plus d'informations sur la définition des autorisations de compartiment, consultez la page Gérer les autorisations d'un compartiment dans le Manuel du développeur S3.

Pour en savoir plus sur les compartiments S3, consultez la page Utilisation des objets dans le Manuel du développeur S3.

Métadonnées d'objet

Chaque objet dans Amazon S3 possède un ensemble de paires clé-valeur qui représente ses métadonnées. Il existe deux types de métadonnées :

  • Métadonnées système : parfois traitées par Amazon S3, par exemple, Content-Type et Content-Length.

  • Métadonnées utilisateur : jamais traitées par Amazon S3. Les métadonnées utilisateur sont stockées avec l'objet et renvoyées avec lui. La taille maximum des métadonnées utilisateur est de 2 Ko, et leurs clés et valeurs doivent respecter les normes US-ASCII.

Pour en savoir plus sur les métadonnées d'un objet S3, consultez la page Modification des métadonnées d'un objet.

Configuration du projet

Prérequis

Pour utiliser Amazon S3 dans votre application, vous devez ajouter le kit SDK à votre projet. Pour ce faire, suivez les instructions de la section Configurer le kit SDK AWS Mobile pour .NET et Xamarin.

Création d'un compartiment S3

Amazon S3 stocke les ressources de votre application dans des compartiments Amazon S3. Ces conteneurs de stockage cloud résident dans une région spécifique. Chaque compartiment Amazon S3 doit avoir un nom unique dans le monde entier. Vous pouvez utiliser la console Amazon S3 pour créer un compartiment.

  1. Connectez-vous à la console Amazon S3, puis cliquez sur Créer un compartiment.

  2. Saisissez le nom du compartiment, sélectionnez une région, puis cliquez sur Créer.

Définir les autorisations pour S3

La stratégie de rôle IAM par défaut autorise votre application à accéder à Amazon Mobile Analytics et Amazon Cognito Sync. Pour que votre pool d'identités Cognito puisse accéder à Amazon S3, vous devez modifier les rôles de ce pool d'identités.

  1. Accédez à la console Identity and Access Management et cliquez sur Rôles dans le volet de gauche.

  2. Entrez le nom du pool d'identités dans la zone de recherche. Deux rôles seront répertoriés : un premier pour les utilisateurs authentifiés et un second pour les utilisateurs non authentifiés.

  3. Cliquez sur le rôle pour les utilisateurs non authentifiés (unauth sera ajouté au nom du pool d'identités).

  4. Cliquez sur Créer une stratégie de rôle, sélectionnez Générateur de stratégies, puis cliquez sur Sélectionner.

  5. Sur la page Modifier les autorisations, entrez les paramètres affichés dans l'image suivante, en remplaçant le nom de ressource Amazon (ARN) par le vôtre. L'ARN d'un compartiment S3 ressemble à ceci : arn:aws:s3:::examplebucket/*. Il se compose de la région dans laquelle se trouve le compartiment et du nom du compartiment. Les paramètres ci-dessous accordent au pool d'identités complet l'accès à toutes les actions pour le compartiment spécifié.

  1. Cliquez sur le bouton Ajouter une instruction, puis sur Étape suivante.

  2. L'Assistant vous indiquera la configuration qui aura été générée. Cliquez sur Apply Policy.

Pour plus d'informations sur l'octroi d'accès à S3, consultez Octroi d'accès à un compartiment Amazon S3.

(facultatif) Configurer la version de Signature pour les requêtes S3

Chaque interaction avec Amazon S3 est authentifiée ou anonyme. AWS utilise les algorithmes Signature Version 4 ou Signature Version 2 pour authentifier les appels au service.

Toutes les nouvelles régions AWS créées après janvier 2014 prennent en charge Signature Version 4 uniquement. Cependant, de nombreuses régions plus anciennes prennent encore en charge les demandes de Signature Version 4 et Signature Version 2.

Si votre compartiment se trouve dans une région qui ne prend pas en charge les requêtes Signature Version 2 (une liste de ces régions est disponible surCette pageVous devez définir laAWSConfigsS3.UseSignaturePropriété Version4 à « true » comme ceci :

AWSConfigsS3.UseSignatureVersion4 = true;

Pour plus d'informations sur les versions d'AWS Signature, consultez la page Demandes d'authentification (AWS Signature Version 4).

Intégration de S3 à votre application

Il existe deux façons d'interagir avec S3 dans votre application Xamarin. Les deux méthodes sont étudiées en détail dans les rubriques suivantes :

Rubriques