Cloud Storage (GCS) é o serviço de object storage do GCP. Armazena objetos (arquivos) em buckets, sem hierarquia real de diretórios. O ”/” no nome de um objeto é apenas convenção.

É o equivalente ao Amazon S3 e ao Azure Data Lake Storage Gen2.

Conceitos fundamentais

  • Bucket: container de objetos. Nome globalmente único em todo o GCP.
  • Object: arquivo + metadata. Identificado por gs://bucket-name/path/to/object.
  • Prefix: simulação de “pasta” via prefixo no nome do objeto.
gs://meu-bucket/
├── raw/2026/01/eventos.json
├── raw/2026/02/eventos.json
└── processed/resultado.parquet

Classes de armazenamento

ClasseUsoMínimo de retençãoCusto de acesso
StandardDados acessados frequentementeNenhumMais baixo
NearlineAcesso ~1x por mês30 diasMédio
ColdlineAcesso ~1x por trimestre90 diasAlto
ArchiveBackups de longo prazo365 diasMuito alto

A classe pode ser definida por bucket ou sobrescrita por objeto.

Controle de acesso

Dois modelos coexistem; escolher um por bucket:

  • Uniform (recomendado): IAM controla tudo; sem ACLs por objeto
  • Fine-grained: IAM + ACLs individuais por objeto (legado)

Roles comuns:

  • roles/storage.objectViewer: leitura de objetos
  • roles/storage.objectCreator: criação de objetos
  • roles/storage.admin: controle total do bucket

Operações via CLI

# Criar bucket
gsutil mb -l southamerica-east1 gs://meu-bucket
 
# Copiar arquivo local → GCS
gsutil cp arquivo.csv gs://meu-bucket/raw/
 
# Copiar recursivo
gsutil -m cp -r ./pasta/ gs://meu-bucket/raw/
 
# Listar objetos
gsutil ls gs://meu-bucket/raw/
 
# Mover / renomear
gsutil mv gs://meu-bucket/raw/old.csv gs://meu-bucket/raw/new.csv
 
# Deletar
gsutil rm gs://meu-bucket/raw/arquivo.csv

Uso como data lake

GCS é a base de data lakes na GCP. Padrão de organização por camadas:

gs://meu-projeto-lake/
├── raw/           ← dados brutos, sem transformação
├── trusted/       ← dados limpos e validados
└── refined/       ← dados agregados, prontos para consumo

Integra nativamente com:

  • BigQuery: tabelas externas e LOAD DATA apontam para GCS
  • Dataflow: lê e escreve objetos como source/sink
  • Cloud Composer: operadores GCSToGCSOperator, GCSCreateBucketOperator
  • Terraform: google_storage_bucket e google_storage_bucket_object

Recursos importantes

Versionamento: mantém histórico de versões de objetos. Útil para auditoria e recuperação acidental.

Lifecycle rules: move objetos entre classes ou deleta automaticamente após N dias.

{
  "rule": [{
    "action": { "type": "SetStorageClass", "storageClass": "COLDLINE" },
    "condition": { "age": 90 }
  }]
}

Signed URLs: URLs temporárias para acesso sem autenticação GCP, úteis para compartilhar objetos com sistemas externos.

Pub/Sub notifications: publica eventos no Pub/Sub quando objetos são criados ou deletados. É a base para pipelines event-driven.

Ver também: gcp | gcp-bigquery | gcp-dataflow | gcp-boas-praticas | data-lake-lakehouse | terraform-cloud-gcp