Acerca dos objetos do Cloud Storage

Esta página descreve os objetos, um recurso no Cloud Storage. Para uma vista geral de como funciona o Cloud Storage, consulte a vista geral do produto Cloud Storage.

Objetos

Os objetos são os elementos individuais de dados que armazena no Cloud Storage. Não existe limite para o número de objetos que pode criar num contentor.

Os objetos têm dois componentes: dados de objetos e metadados de objetos. Os dados de objetos são normalmente um ficheiro que quer armazenar no Cloud Storage e são completamente opacos para o Cloud Storage. Os metadados de objetos são uma coleção de pares de nome-valor que descrevem várias qualidades de objetos.

Dois elementos importantes dos metadados de objetos comuns a todos os objetos são o nome do objeto e o respetivo número de geração. Quando adiciona um objeto a um contentor do Cloud Storage, especifica o nome do objeto e o Cloud Storage atribui o número de geração. Em conjunto, o nome e a geração identificam de forma exclusiva o objeto nesse contentor.

Pode usar listas de controlo de acesso (ACLs) para controlar o acesso a objetos individuais. Também pode usar a gestão de identidade e de acesso (IAM) para controlar o acesso a todos os objetos num contentor ou numa pasta gerida.

Considerações sobre a nomenclatura

Ao atribuir nomes a objetos no Cloud Storage, é essencial cumprir requisitos específicos para garantir a compatibilidade e evitar erros. Estes requisitos aplicam-se a contentores de espaço de nomes simples e a contentores com o espaço de nomes hierárquico ativado.

Requisitos gerais

  • Os nomes de objetos podem conter qualquer sequência de carateres Unicode válidos.
  • Os nomes dos objetos não podem conter carateres de retorno ou de alimentação de linha.
    • Tenha em atenção que as barras invertidas enviadas através de interfaces, como a CLI gcloud e a Google Cloud consola, são ignoradas nos bastidores. Por exemplo, \n torna-se \\n. A restrição de retorno de carro e alimentação de linha refere-se estritamente a carateres de escape ANSI.
  • Os nomes de objetos não podem começar por .well-known/acme-challenge/.
  • Os objetos não podem ter o nome . nem ...

Limites de tamanho de objetos específicos do espaço de nomes

O tamanho máximo do nome de um objeto varia consoante o espaço de nomes do contentor:

  • Tamanho do nome do objeto num contentor de espaço de nomes simples: 1 a 1024 bytes quando codificado em UTF-8.
  • Tamanho do nome do objeto em contentores ativados com o espaço de nomes hierárquico: os nomes dos objetos podem ser divididos em duas partes:

    • Nome da pasta: o nome da pasta na qual o objeto reside. O tamanho máximo do nome da pasta é de 512 bytes quando codificado em UTF-8.
    • Nome base: o nome do objeto que reside na pasta. O tamanho máximo do nome base é de 512 bytes quando codificado em UTF-8.

    Por exemplo, o caminho my-folder/my-object.txt representa um objeto com um nome base my-object.txt armazenado numa pasta denominada my-folder/.

Recomendações

Recomendamos vivamente que evite o seguinte nos nomes dos objetos:

  • Carateres de controlo que são ilegais em XML 1.0 (#x7F–#x84 e #x86–#x9F): estes carateres causam problemas de listagem XML quando tenta listar os seus objetos.
  • O caráter #: os comandos da Google Cloud CLI interpretam os nomes de objetos que terminam com #<string numérica> como identificadores de versão, pelo que a inclusão de # nos nomes de objetos pode dificultar ou impossibilitar a realização de operações nesses objetos com versões através da gcloud CLI.
  • Os carateres [, ], * ou ?: os comandos da CLI do Google Cloud interpretam estes carateres como carateres universais, pelo que a inclusão dos mesmos nos nomes dos objetos pode dificultar ou impossibilitar a realização de operações com carateres universais. Além disso, * e ? não são carateres válidos para nomes de ficheiros no Windows.
  • Os carateres :, ", <, > ou |: estes não são carateres válidos para nomes de ficheiros no Windows. Por isso, as tentativas de transferir um objeto que use esses carateres no nome para um ficheiro do Windows falham, a menos que o método de transferência inclua a mudança do nome do ficheiro do Windows resultante. O caráter /, embora também não seja um caráter válido para nomes de ficheiros no Windows, é normalmente aceitável para utilização em nomes de objetos para imitar uma estrutura de diretórios. As ferramentas, como a Google Cloud CLI, convertem automaticamente o caráter em \ quando fazem a transferência para um ambiente Windows.
  • Informações sensíveis ou de identificação pessoal (IIP): os nomes dos objetos são mais visíveis do que os dados dos objetos. Por exemplo, os nomes dos objetos aparecem nos URLs do objeto e quando lista objetos num contentor.

Não é possível mudar diretamente o nome dos objetos existentes, mas pode mudar indiretamente o nome de um objeto copiando e eliminando o objeto original.

Espaço de nomes do objeto

Pode armazenar objetos nos seguintes espaços de nomes:

Espaço de nomes simples

Os contentores configurados para armazenar objetos num espaço de nomes simples criam sempre objetos diretamente no contentor. Em contentores de espaço de nomes simples, não existe hierarquia no contentor, nem existem diretórios ou pastas nos quais os objetos existam.

Para maior comodidade, existem várias formas de tratar os objetos em contentores de espaço de nomes simples como se estivessem armazenados numa hierarquia de pastas:

  • As pastas geridas são um recurso do Cloud Storage que oferece acesso expandido a grupos de objetos com um prefixo de nome partilhado.

  • Ferramentas como o Google Cloud console e a CLI do Google Cloud interpretam o caráter de barra (/) no nome de um objeto como um delimitador, de modo a simular pastas em contentores que usam um espaço de nomes simples para objetos.

Por exemplo, se criar um objeto com o nome folder1/file.txt no contentor your-bucket, o caminho para o objeto é your-bucket/folder1/file.txt e o Cloud Storage não tem nenhuma pasta com o nome folder1 armazenada no mesmo. Do ponto de vista do Cloud Storage, a string folder1/ faz parte do nome do objeto.

No entanto, como o objeto tem um / no nome, algumas ferramentas implementam a apresentação de pastas. Por exemplo, quando usa a Google Cloud consola, navega para o objeto folder1/file1.txt como se fosse um objeto com o nome file1.txt numa pasta com o nome folder1. Da mesma forma, pode criar uma pasta gerida denominada folder1. Em seguida, file1.txt fica sujeita à política de acesso definida por esta pasta gerida.

Tenha em atenção que, uma vez que os objetos residem num espaço de nomes simples, as estruturas aninhadas profundamente semelhantes a diretórios não têm o desempenho que um sistema de ficheiros nativo tem quando lista subdiretórios aninhados profundamente.

Consulte as práticas recomendadas da taxa de pedidos para ver recomendações sobre como otimizar o desempenho evitando nomes sequenciais durante carregamentos em grande escala. É provável que os objetos carregados com nomes sequenciais alcancem o mesmo servidor de back-end e restrinjam o desempenho.

Pastas simuladas

Para ajudar a organizar objetos nos seus contentores do Cloud Storage, algumas ferramentas simulam pastas, e as APIs JSON e XML têm capacidades que lhe permitem criar o seu próprio esquema de nomenclatura para simular pastas. Clique nos separadores seguintes para ver como diferentes ferramentas processam pastas simuladas.

Consola

A Google Cloud consola cria uma representação visual de pastas que se assemelha a um explorador de ficheiros local.

Na Google Cloud consola, pode criar uma pasta vazia num contentor ou carregar uma pasta existente.

Quando carrega uma pasta existente, o nome da pasta passa a fazer parte do caminho de todos os objetos contidos na pasta. Todas as subpastas e os objetos que contêm também são incluídos no carregamento.

Para criar uma pasta: