DEV Community

Francisco Júnior
Francisco Júnior

Posted on

Google Cloud Storage com Python: Um Guia Completo

O armazenamento em nuvem desempenha um papel crucial na infraestrutura moderna de aplicativos, permitindo o armazenamento escalável e seguro de dados. O Google Cloud Storage é uma solução de armazenamento na nuvem oferecida pelo Google Cloud Platform (GCP), permitindo que desenvolvedores armazenem e recuperem dados de forma eficiente e segura. Neste artigo, exploraremos como usar o Google Cloud Storage com Python, abordando desde a configuração inicial até operações mais avançadas.

Configuração do Ambiente

Antes de começarmos, é necessário configurar o ambiente. Certifique-se de ter uma conta no Google Cloud Platform e crie um projeto. Em seguida, ative a API do Cloud Storage e gere as credenciais de serviço em JSON. Guarde esse arquivo, pois será necessário para autenticação.

Configuração do Console do Google Cloud

  1. Acesse o Console do Google Cloud.
  2. Selecione ou crie um projeto.
  3. No menu de navegação à esquerda, clique em "API e Serviços" e, em seguida, em "Credenciais".
  4. Clique em "Criar credenciais" e selecione "Chave de Conta de Serviço".
  5. Escolha um papel para a chave de serviço ou atribua uma função existente.
  6. Selecione um tipo de chave (JSON é recomendado) e clique em "Criar". O arquivo JSON com suas credenciais será baixado automaticamente.

Instalação de Dependências

Instale a biblioteca google-cloud-storage usando o gerenciador de pacotes pip:

pip install google-cloud-storage
Enter fullscreen mode Exit fullscreen mode

Autenticação

Para autenticar-se com o Google Cloud Storage, utilize as credenciais de serviço que você baixou anteriormente. O seguinte exemplo mostra como configurar a autenticação em seu código Python:

from google.cloud import storage

# Substitua 'path/to/your/credentials.json' pelo caminho do seu arquivo de credenciais.
client = storage.Client.from_service_account_json('path/to/your/credentials.json')
Enter fullscreen mode Exit fullscreen mode

Upload de Arquivos

Agora que o ambiente está configurado, vamos começar a enviar arquivos para o Cloud Storage. O código a seguir demonstra como fazer o upload de um arquivo local para um bucket específico:

def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Faz upload de um arquivo para o Google Cloud Storage."""
    bucket = client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)

    blob.upload_from_filename(source_file_name)

    print(f'Arquivo {source_file_name} enviado para {destination_blob_name} no bucket {bucket_name}.')
Enter fullscreen mode Exit fullscreen mode

Download de Arquivos

Recuperar arquivos do Cloud Storage também é simples. Veja como fazer o download de um arquivo específico:

def download_blob(bucket_name, source_blob_name, destination_file_name):
    """Baixa um arquivo do Google Cloud Storage."""
    bucket = client.get_bucket(bucket_name)
    blob = bucket.blob(source_blob_name)

    blob.download_to_filename(destination_file_name)

    print(f'Arquivo {source_blob_name} baixado para {destination_file_name}.')
Enter fullscreen mode Exit fullscreen mode

Listagem de Arquivos no Bucket

Para listar os arquivos em um bucket, utilize o seguinte código:

def list_blobs(bucket_name):
    """Lista todos os blobs em um bucket."""
    bucket = client.get_bucket(bucket_name)
    blobs = bucket.list_blobs()

    print(f'Arquivos no bucket {bucket_name}:')
    for blob in blobs:
        print(blob.name)
Enter fullscreen mode Exit fullscreen mode

Exclusão de Arquivos

Remover um arquivo do Cloud Storage é feito da seguinte maneira:

def delete_blob(bucket_name, blob_name):
    """Exclui um arquivo do Google Cloud Storage."""
    bucket = client.get_bucket(bucket_name)
    blob = bucket.blob(blob_name)

    blob.delete()

    print(f'Arquivo {blob_name} excluído do bucket {bucket_name}.')
Enter fullscreen mode Exit fullscreen mode

Conclusão

O Google Cloud Storage oferece uma solução robusta e escalável para o armazenamento de dados na nuvem. Ao integrar o Cloud Storage com Python, os desenvolvedores têm acesso a uma variedade de operações que podem ser incorporadas em seus aplicativos. Este guia fornece uma introdução abrangente para começar a trabalhar com o Google Cloud Storage usando Python, mas há muitos recursos adicionais e funcionalidades avançadas disponíveis na documentação oficial do Google Cloud Platform. Explore esses recursos para aprimorar ainda mais suas aplicações e aproveitar ao máximo o armazenamento em nuvem.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

Try REST API Generation for Snowflake

DevOps for Private APIs. Automate the building, securing, and documenting of internal/private REST APIs with built-in enterprise security on bare-metal, VMs, or containers.

  • Auto-generated live APIs mapped from Snowflake database schema
  • Interactive Swagger API documentation
  • Scripting engine to customize your API
  • Built-in role-based access control

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay