Découvrir le stockage d'objets avec l'outil gcloud

Cette page explique comment effectuer des tâches de base dans Cloud Storage à l'aide de l'outil de ligne de commande gcloud.

Vous ne payez que pour les ressources que vous utilisez dans Cloud Storage. Ce guide de démarrage rapide utilise généralement moins de 0,01 USD de ressources Cloud Storage.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init

Créer un bucket

Les buckets sont les conteneurs de base dans lesquels sont stockées vos données dans Cloud Storage.

Pour créer un bucket :

  1. Ouvrez une fenêtre de terminal.
  2. Exécutez la commande gcloud storage buckets create et utilisez un nom unique pour créer un bucket :

    gcloud storage buckets create gs://my-awesome-bucket/ --uniform-bucket-level-access

    Cette commande utilise un bucket nommé "my-awesome-bucket". Vous devez choisir un nom unique pour votre bucket.

    • Les noms de buckets ne peuvent contenir que des lettres minuscules, des chiffres, des tirets (-), des traits de soulignement (_) et des points (.). Les espaces ne sont pas autorisées. Les noms contenant des points doivent être validés.
    • Les noms de buckets doivent commencer et se terminer par un chiffre ou une lettre.
    • Les noms de buckets doivent compter entre 3 et 63 caractères. Ceux qui comportent des points peuvent contenir jusqu'à 222 caractères, mais chaque composant séparé par un point ne peut pas posséder plus de 63 caractères.
    • Les noms de buckets ne peuvent pas correspondre à une adresse IP au format décimal à points (par exemple, 192.168.5.4).
    • Les noms de buckets ne peuvent pas commencer par le préfixe "goog".
    • Les noms de buckets ne peuvent pas contenir "google" ni des termes semblables tels que "g00gle".

    Si l'opération réussit, la commande renvoie le résultat suivant :

    Creating gs://my-awesome-bucket/...

Vous venez de créer un bucket dans lequel vous pouvez stocker vos données.

Creating gs://my-awesome-bucket/...
ServiceException: 409 Bucket my-awesome-bucket already exists.

Réessayez en donnant un autre nom au bucket.

Importer un objet dans un bucket

Image d'un chaton à importer dans le bucket.

  1. Cliquez avec le bouton droit sur l'image ci-dessus et enregistrez-la sur votre ordinateur, par exemple sur le bureau.

  2. Exécutez la commande gcloud storage cp pour copier l'image à partir de l'emplacement où vous l'avez enregistrée dans le bucket que vous avez créé :

    gcloud storage cp Desktop/kitten.png gs://my-awesome-bucket

    Si l'opération réussit, la commande renvoie le résultat suivant :

    Copying file://Desktop/kitten.png [Content-Type=image/png]...
    Uploading   gs://my-awesome-bucket/kitten.png:       0 B/164.3 KiB
    Uploading   gs://my-awesome-bucket/kitten.png:       164.3 KiB/164.3 KiB

    Vous venez de stocker un objet dans votre bucket.

Télécharger l'objet à partir du bucket

  1. Exécutez la commande gcloud storage cp pour télécharger l'image que vous avez stockée dans votre bucket sur votre ordinateur, par exemple sur le bureau :

    gcloud storage cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png

    Si l'opération réussit, la commande renvoie le résultat suivant :

    Copying gs://my-awesome-bucket/kitten.png...
    Downloading file://Desktop/kitten2.png:               0 B/164.3 KiB
    Downloading file://Desktop/kitten2.png:               164.3 KiB/164.3 KiB

    Vous venez de télécharger un objet à partir de votre bucket.

Copier l'objet dans un dossier du bucket

  1. Utilisez la commande gcloud storage cp pour créer un dossier et y copier l'image :

    gcloud storage cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png

    Si la commande est bien exécutée, elle renvoie le résultat suivant :

    Copying gs://my-awesome-bucket/kitten.png [Content-Type=image/png]...
    Copying     ...my-awesome-bucket/just-a-folder/kitten3.png: 164.3 KiB/164.3 KiB

    Vous venez de copier votre image dans un nouveau dossier de votre bucket.

Afficher le contenu d'un bucket ou d'un dossier

  1. Utilisez la commande gcloud storage ls pour répertorier le contenu du niveau supérieur de votre bucket :

    gcloud storage ls gs://my-awesome-bucket

    Si l'opération réussit, la commande renvoie un message semblable à celui-ci :

    gs://my-awesome-bucket/kitten.png
    gs://my-awesome-bucket/just-a-folder/

    Vous venez d'afficher le contenu du niveau supérieur de votre bucket.

Afficher les détails d'un objet

  1. Exécutez la commande gcloud storage ls avec l'option --long pour obtenir des détails sur l'une de vos images :

    gcloud storage ls gs://my-awesome-bucket/kitten.png --long

    Si l'opération réussit, la commande renvoie un message semblable à celui-ci :

    2638  2016-02-26T23:05:14Z  gs://my-awesome-bucket/kitten.png
    TOTAL: 1 objects, 168243.2 bytes (164.3 KiB)

    Vous venez d'obtenir des informations sur la taille et la date de création de l'image.

Rendre les objets accessibles au public

  1. Exécutez la commande gcloud storage buckets add-iam-policy-binding pour autoriser tous les utilisateurs à lire les images stockées dans votre bucket :

    gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer

    La commande aboutit si votre réponse contient les éléments suivants :

    bindings:
      - members:
        - allUsers
        role: roles/storage.objectViewer
    

    Désormais, tout le monde peut obtenir vos images.

  2. Pour supprimer cet accès, exécutez la commande suivante :

    gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer

    La commande aboutit si aucune erreur n'est affichée.

    Vous avez supprimé l'accès public aux images de votre bucket.

Autoriser l'accès au bucket

  1. Exécutez la commande gcloud storage buckets add-iam-policy-binding pour autoriser une adresse e-mail spécifique à ajouter des objets à votre bucket :

    gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator

    La commande aboutit si votre réponse contient les éléments suivants :

    bindings:
      - members:
        - user:jane@gmail.com
        role: roles/storage.objectCreator
    

    Un autre utilisateur peut maintenant ajouter des éléments à votre bucket.

  2. Pour supprimer cette autorisation, exécutez la commande suivante :

    gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator

    La commande aboutit si aucune erreur n'est affichée.

    Vous venez de supprimer l'accès de l'utilisateur à ce bucket.

Supprimer un objet

  1. Exécutez la commande gcloud storage rm pour supprimer l'une de vos images :

    gcloud storage rm gs://my-awesome-bucket/kitten.png

    Si l'opération réussit, la commande renvoie le résultat suivant :

    Removing gs://my-awesome-bucket/kitten.png...

    Cette copie de l'image n'est plus stockée dans Cloud Storage (mais la copie que vous en avez faite dans le dossier just-a-folder/ existe encore).

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

  1. Ouvrez une fenêtre de terminal (si aucune n'est déjà ouverte).
  2. Utilisez la commande gcloud storage rm avec l'option --recursive pour supprimer le bucket et tout ce qu'il contient :

    gcloud storage rm gs://my-awesome-bucket --recursive

    Si l'opération réussit, la commande renvoie un message semblable à celui-ci :

    Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000...
    Removing gs://my-awesome-bucket/...

    Vous venez de supprimer votre bucket et son contenu.

Étape suivante