Noções básicas sobre recursos do Google Cloud Storage

buckets, objetos e ACLs

bucket é o local de armazenamento onde você lê e grava arquivos. É preciso sempre especificar um bucket ao usar a biblioteca de cliente do App Engine para Cloud Storage. Um projeto pode acessar vários buckets. A biblioteca de cliente não é compatível com a criação de intervalos.

As listas de controle de acesso (ACLs, na sigla em inglês) controlam o acesso aos buckets e aos objetos contidos neles. O projeto e o aplicativo do App Engine são adicionados automaticamente à ACL que permite acesso ao bucket quando você cria um bucket no projeto.

A ACL que permite o acesso ao bucket é diferente das potencialmente muitas ACLs que regem os objetos nesse bucket. Por isso, o app tem privilégios de leitura e gravação no(s) bucket(s) para o(s) qual(is) está ativado, mas só tem direitos completos sobre os objetos que ele cria no bucket. O acesso do app a objetos criados por outros apps ou pessoas é limitado aos direitos atribuídos ao app pelo criador do objeto.

Se um objeto for criado no bucket sem uma ACL definida explicitamente para ele, ele usará a ACL de objeto padrão atribuída ao bucket pelo proprietário do bucket. Se o proprietário do bucket não tiver especificado uma ACL de objeto padrão, o objeto padrão será public-read, o que significa que qualquer pessoa que tiver permissão de acesso ao bucket poderá ler o objeto.

ACLs e a biblioteca de cliente

Um app que usa a biblioteca de cliente não pode alterar a ACL do bucket, mas pode especificar uma ACL que controle o acesso aos objetos criados por ele. As configurações de ACL disponíveis estão descritas na documentação do método aberto.

Como modificar objetos do Cloud Storage

Depois de criar um objeto em um bucket, você não poderá modificar nem anexar a ele. Em vez disso, você precisa substituir o objeto por um novo objeto do mesmo nome que contenha as alterações desejadas.

Cloud Storage e subdiretórios

A biblioteca de cliente do App Engine para Cloud Storage permite fornecer delimitadores de subdiretório ao criar um objeto, mas não há subdiretórios verdadeiros no Cloud Storage. Em vez disso, um subdiretório no Cloud Storage faz parte do nome de arquivo do objeto.

Por exemplo, suponha que a criação de um objeto somewhere/over/the/rainbow.mp3 armazene o arquivo rainbow.mp3 no subdiretório somewhere/over/the/. Em vez disso, o nome do objeto é definido como somewhere/over/the/rainbow.mp3.

Esse conceito é importante para entender quando é melhor usar a filtragem listbucket.

Se o comportamento da listagem acima não for ideal para você, listbucket terá um modo de emulação do diretório opcional. Consulte listbucket para mais informações.

A seguir