Fazer upload e download de objetos de armazenamento em projetos

Nesta página, mostramos como fazer upload e download de objetos para e de buckets de armazenamento isolados do Google Distributed Cloud (GDC).

Antes de começar

Um namespace de projeto gerencia recursos de bucket no servidor da API Management. Você precisa ter um projeto para trabalhar com buckets e objetos.

Você também precisa ter as permissões de bucket adequadas para realizar a seguinte operação. Consulte Conceder acesso ao bucket.

Diretrizes de nomenclatura de objetos

Siga estas diretrizes para nomear objetos:

  • Use caracteres UTF-8 ao nomear objetos.
  • Não inclua informações de identificação pessoal (PII).

Fazer upload de objetos para buckets de armazenamento

Console

  1. No menu de navegação, clique em Object Storage.
  2. Clique no nome do bucket em que você quer fazer upload do objeto.
  3. Opcional: se quiser criar uma pasta para armazenar o objeto, clique em Criar pasta > digite um nome > clique em Criar.
  4. Clique em Fazer upload do arquivo diretamente ou acesse a pasta que você acabou de criar e clique em Fazer upload do arquivo.
  5. Selecione o arquivo desejado e clique em Abrir.
  6. Aguarde a mensagem de confirmação informando que o upload foi concluído.

CLI

Para fazer upload de um objeto, execute os seguintes comandos:

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://REMOTE_SOURCE_PATH s3://REMOTE_MOVE_DESTINATION_PATH
gdcloud storage mv s3://REMOTE_SOURCE_PATH s3://REMOTE_MOVE_DESTINATION_PATH

Os comandos a seguir exigem o FULLY_QUALIFIED_BUCKET_NAME. Use o comando GET ou DESCRIBE na seção Ver configuração do bucket para receber 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 dir s3://FULLY_QUALIFIED_BUCKET_NAME --recursive

Faça uploads de várias partes para objetos grandes ou use uploads de várias partes automaticamente quando tiver um arquivo maior que 15 MB para enviar. 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, você poderá reiniciar o processo sem afetar nenhuma das 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 é de 15 MB. O tamanho mínimo permitido de um bloco é de 5 MB, e o máximo é de 5 GB.

Baixar objetos de buckets de armazenamento

Console

  1. No menu de navegação, clique em Object Storage.
  2. Clique no nome do bucket que contém os objetos.
  3. Marque a caixa de seleção ao lado do nome do objeto para fazer o download.
  4. Clique em Fazer download.

CLI

Para receber objetos do bucket:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE

Para fazer o download de todos os arquivos de texto de um bucket para o diretório atual:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .

Para fazer o download do arquivo de texto abc.txt de um bucket para o diretório atual:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .

Para fazer o download de 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, baixe 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 personalizado

Para mais 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 Criar uma chave para criar uma nova AEADKey e verifique se ela está no mesmo Namespace que o bucket que você pretende usar. Depois, sempre que 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.