Descubra o armazenamento de objetos com a ferramenta gcloud

Esta página mostra-lhe como realizar tarefas básicas no Cloud Storage através da ferramenta de linhas de comando gcloud.

Os custos incorridos no Cloud Storage baseiam-se nos recursos que usa. Normalmente, este guia de início rápido usa menos de 0,01 USD 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. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  4. Para inicializar a CLI gcloud, 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. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  10. Para inicializar a CLI gcloud, 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 contentor

    Os segmentos são os contentores básicos que armazenam os seus dados no Cloud Storage.

    Para criar um contentor:

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

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

      Isto usa um contentor denominado "my-awesome-bucket". Tem de escolher o seu próprio nome de contentor exclusivo a nível global.

      Se for bem-sucedido, o comando devolve:

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

    Acabou de criar um contentor onde pode armazenar os seus dados!

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

    Tente novamente com um nome de contentor diferente.

    Carregue um objeto para o seu contentor

    A imagem de um gatinho a carregar para o contentor.

    1. Clique com o botão direito do rato na imagem acima e guarde-a num local do computador, como o ambiente de trabalho.

    2. Use o comando gcloud storage cp para copiar a imagem da localização onde a guardou para o contentor que criou:

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

      Se for bem-sucedido, o comando devolve:

      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

      Acabou de armazenar um objeto no seu contentor.

    Transfira o objeto do seu contentor

    1. Use o comando gcloud storage cp para transferir a imagem que armazenou no seu contentor para algum lugar no computador, como o ambiente de trabalho:

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

      Se for bem-sucedido, o comando devolve:

      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

      Acabou de transferir algo do seu contentor.

    Copie o objeto para uma pasta no contentor

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

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

      Se for bem-sucedido, o comando devolve:

      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

      Acabou de copiar a imagem para uma nova pasta no seu contentor.

    Listar conteúdos de um contentor ou uma pasta

    1. Use o comando gcloud storage ls para apresentar o conteúdo no nível superior do seu contentor:

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

      Se for bem-sucedido, o comando devolve uma mensagem semelhante à seguinte:

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

      Acabou de ver o conteúdo ao nível superior do seu contentor.

    Liste os detalhes de um objeto

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

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

      Se for bem-sucedido, o comando devolve uma mensagem semelhante à seguinte:

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

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

    Tornar os objetos acessíveis publicamente

    1. Use o comando gcloud storage buckets add-iam-policy-binding para conceder a todos os utilizadores autorização para ler as imagens armazenadas no seu contentor:

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

      O comando é bem-sucedido se a sua resposta contiver o seguinte:

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

      Agora, qualquer pessoa pode aceder às 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 é bem-sucedido se não for devolvido nenhum erro.

      Removeu o acesso público às imagens no seu contentor.

    Conceda acesso a alguém ao seu contentor

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

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

      O comando é bem-sucedido se a sua resposta contiver o seguinte:

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

      Agora, outra pessoa pode adicionar artigos ao seu recipiente.

    2. Para remover esta autorizaçã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 é bem-sucedido se não for devolvido nenhum erro.

      Removeu o acesso do utilizador a este contentor.

    Elimine um objeto

    1. Use o comando gcloud storage rm para eliminar uma das suas imagens:

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

      Se for bem-sucedido, o comando devolve:

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

      Esta cópia da imagem já não está armazenada no Cloud Storage (embora a cópia que fez na pasta just-a-folder/ ainda exista).

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página, elimine o Google Cloud projeto com os recursos.

    1. Abra uma janela de terminal (se ainda não estiver aberta).
    2. Use o comando gcloud storage rm com a flag --recursive para eliminar o contentor e tudo o que estiver no respetivo interior:

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

      Se for bem-sucedido, o comando devolve uma mensagem semelhante à seguinte:

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

      O contentor e o respetivo conteúdo são eliminados.

    O que se segue?