Este documento descreve como armazenar e obter dados através da biblioteca cliente do Cloud Storage. Pressupõe que concluiu as tarefas descritas em Configuração para o Cloud Storage para ativar um contentor do Cloud Storage e transferir as bibliotecas de cliente. Também pressupõe que sabe como criar uma aplicação do App Engine.
Para ver exemplos de código adicionais, consulte as bibliotecas de cliente do Cloud Storage
Importações necessárias
Use o fragmento de código abaixo para aceder ao Cloud Storage através da biblioteca cliente:
Especificar o contentor do Cloud Storage
Antes de realizar quaisquer operações no Cloud Storage, tem de indicar o nome do contentor.A forma mais fácil de especificar um nome do contentor é usar o contentor predefinido para o seu projeto.
A chamada para get_default_gcs_bucket_name
só é bem-sucedida se tiver criado o recipiente predefinido para o seu projeto.
Escrever no Cloud Storage
O exemplo seguinte mostra como escrever no contentor:
Tenha em conta o seguinte:
Na chamada para abrir o ficheiro para escrita, o exemplo especifica determinados cabeçalhos do Cloud Storage que escrevem metadados personalizados para o ficheiro. Estes metadados podem ser obtidos através de
cloudstorage.stat()
. Pode encontrar a lista de cabeçalhos suportados na referênciacloudstorage.open()
.O cabeçalho
x-goog-acl
não está definido. Isto significa que a ACL do Cloud Storage predefinida de leitura pública vai ser aplicada ao objeto quando for escrita no contentor.Certifique-se de que invoca a função para fechar o ficheiro depois de terminar a escrita. Se não o fizer, o ficheiro não é escrito no Cloud Storage. Tenha em atenção que, depois de chamar a função do ficheiro Python
close()
, não pode anexar conteúdo ao ficheiro. Se precisar de modificar um ficheiro, tem de chamar a função do ficheiro Pythonopen()
para abrir o ficheiro novamente no modo de escrita, o que faz uma substituição e não uma anexação.
Ler a partir do Cloud Storage
O exemplo seguinte mostra como ler um ficheiro completo do contentor:
Em ambos os exemplos, o argumento blob_name
que transmite a cloudstorage.open()
é o caminho para o seu ficheiro no formato YOUR_BUCKET_NAME/PATH_IN_GCS
. Tenha em atenção que a predefinição para cloudstorage.open()
é o modo de leitura. Não precisa de especificar um modo quando abre um ficheiro para o ler.
Listar conteúdos de contentores
O código de exemplo mostra como paginar um contentor com conteúdo do tipo blob
:
Tenha em atenção que o nome do ficheiro completo é apresentado como uma string sem delimitadores de diretório. Se quiser apresentar o ficheiro com a respetiva hierarquia de diretórios mais reconhecível, defina o parâmetro delimiter
para o delimitador de diretórios que quer usar.
Eliminar ficheiros no Cloud Storage
O código abaixo demonstra como eliminar um ficheiro do Cloud Storage através do método
cloudstorage.delete()
(importado como gcs
).
Este exemplo limpa os ficheiros que foram escritos no contentor na secção Escrever no Cloud Storage.
O que se segue?
- Visite a documentação de referência da API.
- Consulte a documentação do Cloud Storage para ver mais guias e tutoriais.