O repositório de objetos no Google Distributed Cloud (GDC) com isolamento físico permite transferir e recuperar arquivos, diretórios e dados com controle de versão em buckets com escopo de projeto. É possível
executar operações de arquivo único ou de várias partes pelo console do GDC ou
pela CLI gdcloud e proteger objetos com criptografia AEADKey
personalizada.
Antes de começar
Os buckets de armazenamento são recursos com escopo definido para um projeto específico. O projeto funciona como um contêiner, agrupando seus buckets e permitindo o gerenciamento deles pelo servidor de API Management. Antes de realizar as operações nesta página, crie um novo projeto ou selecione um em que você tenha permissões suficientes.
Papéis necessários do IAM
Entre em contato com o administrador do projeto do IAM para solicitar os seguintes papéis no namespace do projeto:
- Administrador de projetos de bucket (
project-bucket-admin): criar, atualizar e excluir buckets de armazenamento. - Leitor de projetos de objetos de bucket (
project-bucket-object-viewer): visualizar e verificar detalhes de buckets e objetos de armazenamento.
Para mais informações, consulte Conceder acesso ao bucket.
Preparar o ambiente
Para executar comandos no servidor da API de gerenciamento ou no servidor da API global, faça o seguinte:
- Faça login e gere o arquivo kubeconfig para o servidor de API de gerenciamento zonal, se você não tiver um.
- Para buckets birregionais, faça o seguinte:
- Verifique com o operador de infraestrutura (IO) se o recurso personalizado
BucketLocationConfigfoi criado para as zonas pareadas. - Gere o arquivo kubeconfig para o servidor de API global.
- Verifique com o operador de infraestrutura (IO) se o recurso personalizado
Diretrizes de nomenclatura de objetos
Siga estas diretrizes para nomear objetos:
- Use caracteres UTF-8 ao nomear objetos.
- Ter entre 1 e 55 caracteres.
- Não inclua informações de identificação pessoal (PII).
Fazer upload de objetos para buckets de armazenamento
Console
- No menu de navegação, clique em Repositório de objetos.
- Clique no nome do bucket em que você quer fazer upload do objeto.
- Opcional: se quiser criar uma pasta para armazenar o objeto, clique em Criar pasta > digite um nome para a pasta > clique em Criar.
- Clique em Fazer upload de arquivo diretamente ou acesse a pasta que você acabou de criar e clique em Fazer upload de arquivo.
- Selecione o arquivo desejado e clique em Abrir.
- Aguarde a mensagem de confirmação de que o upload foi concluído.
gdcloud
Para fazer upload de um objeto, execute os seguintes comandos:
gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
gdcloud storage mv s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
Os comandos a seguir exigem o FULLY_QUALIFIED_BUCKET_NAME. Use o comando GET ou DESCRIBE da seção Ver a configuração do bucket para acessar o nome totalmente qualificado do bucket.
O comando a seguir faz upload de todos os arquivos de texto do diretório local para um bucket:
gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME
O comando a seguir faz upload de vários arquivos do diretório local para um bucket:
gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME
Para fazer upload de uma pasta para um bucket, use a opção --recursive para copiar uma árvore de diretórios inteira. O comando a seguir faz upload da árvore de diretórios dir:
gdcloud storage cp DIRECTORY_NAME s3://FULLY_QUALIFIED_BUCKET_NAME --recursive
Realize uploads de várias partes para objetos grandes ou use uploads de várias partes automaticamente quando tiver um arquivo para upload maior que 15 MB. Nesse caso, o arquivo é dividido em várias partes, cada uma com 15 MB. A última parte é menor. Cada parte é enviada separadamente e reconstruída no destino quando a transferência é concluída.
Se o upload de uma parte falhar, será possível reiniciá-lo sem afetar as outras partes já enviadas.
Há duas opções relacionadas a uploads em várias partes:
--disable-multipart: desativa os uploads de várias partes para todos os arquivos.--multipart-chunk-size-mb=SIZE: define o tamanho de cada parte de um upload em várias partes.
Arquivos maiores que SIZE são enviados automaticamente como multithreaded-multipart. Arquivos menores são enviados usando o método tradicional. SIZE está em megabytes. O tamanho padrão do bloco é 15 MB. O tamanho mínimo permitido para o bloco é de 5 MB, e o máximo é de 5 GB.
Fazer o download de objetos de buckets de armazenamento
Console
- No menu de navegação, clique em Repositório de objetos.
- Clique no nome do bucket que contém os objetos.
- Marque a caixa de seleção ao lado do nome do objeto que você quer baixar.
- Clique em Fazer download.
gdcloud
Para receber objetos do bucket:
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE
Para baixar todos os arquivos de texto de um bucket para o diretório atual:
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .
Para baixar o arquivo de texto abc.txt de um bucket para o diretório atual:
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .
Para baixar uma versão mais antiga do arquivo, primeiro liste todas as versões dele:
gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions
Exemplo de saída:
s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3
Em seguida, faça o download de uma versão específica do arquivo de texto abc.txt do bucket para o diretório atual:
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .
Usar AEADKey personalizada
Para uma maior personalização, crie sua própria AEADKey e use-a diretamente ao criptografar objetos no bucket. Isso dá a você controle total sobre a chave de criptografia, ignorando o padrão. Siga as instruções em Criar uma chave para criar uma nova AEADKey e verifique se ela está no mesmo Namespace do bucket que você pretende usar. Em seguida, ao enviar a solicitação, verifique se o HEADER está configurado com x-amz-server-side-encryption: SSE-KMS e x-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME.