Descobrir o armazenamento de objetos com a ferramenta gcloud

Nesta página, mostraremos como executar tarefas básicas no Cloud Storage usando a ferramenta de linha de comando gcloud.

Os custos gerados no Cloud Storage são baseados nos recursos que você usa. Este guia de início rápido geralmente usa menos de US$ 0,01 em recursos do Cloud Storage.

Antes de começar

  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. Install the Google Cloud CLI.

  3. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

  4. Para inicializar a gcloud CLI, execute o seguinte comando:

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/storage.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: Your project ID.
    • USER_IDENTIFIER: The identifier for your user account. For example, myemail@example.com.
    • ROLE: The IAM role that you grant to your user account.
  8. Install the Google Cloud CLI.

  9. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

  10. Para inicializar a gcloud CLI, execute o seguinte comando:

    gcloud init
  11. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Verify that billing is enabled for your Google Cloud project.

  13. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/storage.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: Your project ID.
    • USER_IDENTIFIER: The identifier for your user account. For example, myemail@example.com.
    • ROLE: The IAM role that you grant to your user account.
  14. Crie um bucket

    Buckets são os contêineres básicos que armazenam seus dados no Cloud Storage.

    Para criar um bucket:

    1. Abra uma janela de terminal.
    2. Use o comando gcloud storage buckets create e um nome exclusivo para criar um bucket:

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

      Esse comando usa um bucket chamado "my-awesome-bucket". Escolha seu próprio nome de bucket globalmente exclusivo.

      Se funcionar, o comando retornará:

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

    Você acabou de criar um bucket para armazenar seus dados!

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

    Tente novamente com outro nome de bucket.

    Faça upload de um objeto no seu bucket

    Imagem de um gatinho para fazer upload no bucket.

    1. Clique com o botão direito do mouse na imagem acima e salve-a em algum lugar do computador, por exemplo, na área de trabalho.

    2. Use o comando gcloud storage cp para copiar a imagem do local em que você a salvou para o bucket criado:

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

      Se o comando estiver correto, ele retornará:

      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

      Você acabou de armazenar um objeto no bucket.

    Faça o download do objeto do seu bucket

    1. Use o comando gcloud storage cp para fazer o download da imagem armazenada no bucket em algum lugar do computador, como a área de trabalho:

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

      Se o comando estiver correto, ele retornará:

      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

      Você acabou de transferir algo do seu bucket.

    Copie o objeto para uma pasta no bucket

    1. Use o comando gcloud storage cp para criar uma pasta e copiar a imagem nela:

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

      Se o comando estiver correto, ele retornará:

      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

      Você acabou de copiar a imagem para uma nova pasta no seu bucket.

    Liste o conteúdo de um bucket ou pasta

    1. Use o comando gcloud storage ls para listar o conteúdo no nível superior do bucket:

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

      Se o comando estiver correto, ele retornará uma mensagem como esta:

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

      Você acabou de ver o conteúdo no nível superior do seu bucket.

    Liste detalhes para um objeto

    1. Use o comando gcloud storage ls, com a flag --long para ver alguns detalhes sobre uma das imagens:

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

      Se o comando estiver correto, ele retornará uma mensagem como esta:

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

      Você acabou de obter informações sobre o tamanho e a data de criação da imagem.

    Torne os objetos acessíveis publicamente

    1. Use o comando gcloud storage buckets add-iam-policy-binding para conceder a todos os usuários permissão para ler as imagens armazenadas no seu bucket:

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

      O comando será bem-sucedido se a resposta contiver o seguinte:

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

      Agora qualquer pessoa pode acessar suas imagens.

    2. Para remover este acesso, use o comando:

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

      O comando será bem-sucedido se nenhum erro for retornado.

      Você removeu o acesso público às imagens em seu bucket.

    Conceda acesso ao bucket

    1. Use o comando gcloud storage buckets add-iam-policy-binding para conceder permissão a um endereço de e-mail específico para adicionar objetos ao seu bucket:

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

      O comando será bem-sucedido se a resposta contiver o seguinte:

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

      Agora outra pessoa pode adicionar itens ao seu bucket.

    2. Para remover essa permissão, use o comando:

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

      O comando será bem-sucedido se nenhum erro for retornado.

      Você removeu o acesso do usuário a esse bucket.

    Excluir um objeto

    1. Use o comando gcloud storage rm para excluir uma de suas imagens:

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

      Se o comando estiver correto, ele retornará:

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

      Essa cópia da imagem não está mais armazenada no Cloud Storage. No entanto, a cópia feita na pasta just-a-folder/ ainda existe.

    Limpar

    Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud e os recursos.

    1. Abra uma janela do terminal se já não estiver aberta.
    2. Use o gcloud storage rm com a flag --recursive para excluir o bucket e tudo o que estiver dentro dele:

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

      Se o comando estiver correto, ele retornará uma mensagem como esta:

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

      Seu bucket e o conteúdo dele foram excluídos.

    A seguir