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
As importações no ficheiro necessárias para o App Engine e o Cloud Storage são:
google.golang.org/appengine
,google.golang.org/appengine/file
cloud.google.com/go/storage
como é mostrado no fragmento seguinte:
Especificar o contentor do Cloud Storage
Antes de poder executar qualquer operação do Cloud Storage, tem de fornecer o nome do contentor. A forma mais fácil de o fazer é usar o contentor predefinido para o seu projeto, que pode ser obtido a partir do contexto do App Engine, conforme mostrado neste fragmento:
Escrever no Cloud Storage
Para escrever um ficheiro no Cloud Storage:
Quando o ficheiro é criado, o exemplo especifica cabeçalhos do Cloud Storage (x-goog-meta-foo
e x-goog-meta-bar
). Este código opcional introduz a noção de usar cabeçalhos do Cloud Storage, que pode aplicar a:
- Afetar o comportamento dos pedidos
- Especificar o acesso ao ficheiro no contentor diferente das predefinições (consulte x-goog-acl)
- Escrever metadados de ficheiros.
Os cabeçalhos x-goog-meta-*
apresentados acima são metadados de ficheiros personalizados que pode definir. Estes cabeçalhos são sempre devolvidos com o ficheiro. Tenha em atenção que o espaço disponível para cabeçalhos personalizados e os respetivos dados está limitado a alguns kilobytes, pelo que deve usá-los com cuidado.
Uma vez que o exemplo de código não define x-goog-acl
, a ACL do Cloud Storage predefinida de leitura pública é aplicada ao objeto quando é escrita no contentor.
Por fim, repare na chamada para Close()
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 Close()
, não pode anexar nada ao ficheiro.
Ler a partir do Cloud Storage
Para ler um ficheiro do Cloud Storage:Listar conteúdos de contentores
Este exemplo de código mostra como listar o conteúdo do contentor:
Eliminar ficheiros no Cloud Storage
O código abaixo demonstra como eliminar um ficheiro do Cloud Storage através do método
ObjectHandle.delete()
.
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.