Neste documento, você verá a descrição de como armazenar e recuperar dados usando a biblioteca de cliente do App Engine para Cloud Storage. O ideal é que você já tenha concluído as tarefas descritas na seção Como configurar o Google Cloud Storage para ativar um bucket do Cloud Storage e fazer o download das bibliotecas de cliente. Também é necessário que você saiba criar um aplicativo do App Engine, conforme descrito em Guia de início rápido do ambiente padrão do App Engine para Python 2.
Importações obrigatórias
O arquivo main.py
contém as importações típicas usadas para acessar o Cloud Storage
pela biblioteca de cliente:
Você precisa do módulo os
e da API app_identity
para receber o nome do
bucket padrão
no ambiente de execução. Observe que será preciso encontrar outra maneira de fornecer o nome do bucket caso o bucket padrão não seja usado.
Como especificar o bucket do Cloud Storage
Antes de realizar qualquer operação no Cloud Storage, é necessário fornecer o nome do bucket. A maneira mais fácil de fazer isso é usando o bucket padrão do projeto, que pode ser recebido da seguinte maneira:A chamada para get_default_gcs_bucket_name
terá êxito se você tiver criado o bucket padrão para seu projeto.
Como gravar no Cloud Storage
No exemplo a seguir, mostramos como gravar no bucket:
Observe que, na chamada para abrir o arquivo para gravação, a amostra especifica determinados
cabeçalhos do Cloud Storage que gravam metadados personalizados para o arquivo. Esses metadados
podem ser recuperados usando cloudstorage.stat()
. Encontre a lista de cabeçalhos compatíveis na referência cloudstorage.open()
.
Observe também que o cabeçalho x-goog-acl
não está definido. Isso significa que a ACL
padrão do Cloud Storage de leitura pública será
aplicada ao objeto quando ele for gravado no bucket.
Por último, observe a chamada para fechar o arquivo depois de terminar a gravação. Se não a usar, o arquivo não será gravado no Cloud Storage. Depois de
chamar a função do arquivo em Python close()
, não será possível anexar ao arquivo. Se
você precisar modificar um arquivo, precisará chamar a função do arquivo em Python open()
para abrir o arquivo novamente no modo de gravação, o que gera uma substituição, não um anexo.
Como fazer a leitura do Cloud Storage
No exemplo a seguir, mostramos como ler um arquivo pelo bucket:
Para ler as linhas selecionadas no arquivo, use seek()
:
Em ambos os exemplos, o argumento filename
que você transmite para
cloudstorage.open()
é o caminho para seu arquivo no
formato YOUR_BUCKET_NAME/PATH_IN_GCS
. O
padrão para cloudstorage.open()
é o modo somente leitura. Não é preciso
especificar um modo ao abrir um arquivo para lê-lo.
Como listar conteúdo do bucket
No código de exemplo, veja como percorrer um bucket com muitos arquivos
usando os parâmetros marker
e max_keys
, que percorrem
uma lista do conteúdo do bucket:
Observe que o nome completo do arquivo é exibido como uma string sem delimitadores de diretório. Se você quiser exibir o arquivo com a hierarquia de diretórios mais reconhecível, defina o parâmetro delimiter
como o delimitador de diretório que quer usar.
Como excluir arquivos no Cloud Storage
O código abaixo demonstra como excluir um arquivo do Cloud Storage usando o método cloudstorage.delete()
(importado como gcs
).
Este exemplo limpa os arquivos que foram gravados no bucket na seção Como gravar no Cloud Storage.
A seguir
- Visite a página da documentação de referência da API (em inglês).
- Consulte a documentação do Cloud Storage para mais guias e tutoriais.