Importer et télécharger des objets de stockage dans des projets

Cette page explique comment importer et télécharger des objets vers et depuis des buckets de stockage isolés Google Distributed Cloud (GDC).

Avant de commencer

Un espace de noms de projet gère les ressources de bucket sur le serveur de l'API Management. Vous devez disposer d'un projet pour travailler avec des buckets et des objets.

Vous devez également disposer des autorisations de bucket appropriées pour effectuer l'opération suivante. Consultez Accorder l'accès à un bucket.

Consignes de dénomination des objets

Suivez les consignes ci-dessous pour nommer les objets :

  • Utilisez des caractères UTF-8 pour nommer les objets.
  • N'incluez aucune information permettant d'identifier personnellement l'utilisateur.

Importer des objets dans des buckets de stockage

Console

  1. Dans le menu de navigation, cliquez sur Stockage d'objets.
  2. Cliquez sur le nom du bucket dans lequel vous souhaitez importer l'objet.
  3. Facultatif : Si vous souhaitez créer un dossier pour stocker votre objet, cliquez sur Créer un dossier > saisissez un nom de dossier > cliquez sur Créer.
  4. Cliquez directement sur Importer un fichier ou accédez au dossier que vous venez de créer, puis cliquez sur Importer un fichier.
  5. Sélectionnez le fichier souhaité, puis cliquez sur Ouvrir.
  6. Attendez le message de confirmation indiquant que l'importation a réussi.

CLI

Pour importer un objet, exécutez les commandes suivantes :

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://REMOTE_SOURCE_PATH s3://REMOTE_MOVE_DESTINATION_PATH
gdcloud storage mv s3://REMOTE_SOURCE_PATH s3://REMOTE_MOVE_DESTINATION_PATH

Les commandes suivantes nécessitent FULLY_QUALIFIED_BUCKET_NAME. Utilisez la commande GET ou DESCRIBE de la section Afficher la configuration du bucket pour obtenir le nom complet du bucket.

La commande suivante importe tous les fichiers texte du répertoire local dans un bucket :

gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME

La commande suivante importe plusieurs fichiers du répertoire local vers un bucket :

gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME

Pour importer un dossier dans un bucket, utilisez l'option --recursive afin de copier une arborescence de répertoires entière. La commande suivante importe l'arborescence de répertoires dir :

gdcloud storage cp dir s3://FULLY_QUALIFIED_BUCKET_NAME --recursive

Effectuez des importations en plusieurs parties pour les objets volumineux ou utilisez-les automatiquement lorsque vous avez un fichier de plus de 15 Mo à importer. Dans ce cas, le fichier est divisé en plusieurs parties de 15 Mo chacune. La dernière partie est plus petite. Chaque partie est importée séparément et reconstruite à la destination une fois le transfert terminé.

Si l'importation d'une partie échoue, vous pouvez la relancer sans affecter les autres parties déjà importées.

Deux options sont disponibles pour les importations multiparties :

  • --disable-multipart : désactive les importations en plusieurs parties pour tous les fichiers.
  • --multipart-chunk-size-mb=SIZE : définit la taille de chaque bloc d'une importation multipartie.

Les fichiers de plus de SIZE sont automatiquement importés en tant que fichiers multipart multithread. Les fichiers moins volumineux sont importés à l'aide de la méthode traditionnelle. SIZE est exprimée en mégaoctets. La taille de bloc par défaut est de 15 Mo. La taille minimale autorisée pour un bloc est de 5 Mo, et la taille maximale est de 5 Go.

Télécharger des objets à partir de buckets de stockage

Console

  1. Dans le menu de navigation, cliquez sur Stockage d'objets.
  2. Cliquez sur le nom du bucket contenant les objets.
  3. Cochez la case à côté du nom de l'objet à télécharger.
  4. Cliquez sur Télécharger.

CLI

Pour obtenir des objets à partir du bucket :

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE

Pour télécharger tous les fichiers texte d'un bucket dans votre répertoire actuel :

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .

Pour télécharger le fichier texte abc.txt depuis un bucket vers votre répertoire actuel :

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .

Pour télécharger une ancienne version du fichier, commencez par lister toutes les versions du fichier :

gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions

Exemple de résultat :

s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3

Ensuite, téléchargez une version spécifique du fichier texte abc.txt du bucket vers votre répertoire actuel :

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .

Utiliser AEADKey personnalisé

Pour une personnalisation plus poussée, vous pouvez créer votre propre AEADKey et l'utiliser directement lorsque vous chiffrez des objets dans votre bucket. Vous disposez ainsi d'un contrôle total sur la clé de chiffrement, en contournant la clé par défaut. Suivez Créer une clé pour créer une AEADKey et assurez-vous qu'elle se trouve dans le même Namespace que le bucket que vous souhaitez utiliser. Ensuite, chaque fois que vous envoyez la requête, assurez-vous que HEADER est configuré avec x-amz-server-side-encryption: SSE-KMS et x-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME.