Esta página mostra como carregar objetos para o seu contentor do Cloud Storage a partir do sistema de ficheiros local. Um objeto carregado consiste nos dados que quer armazenar, juntamente com os metadados associados. Para uma vista geral conceptual, incluindo como escolher o método de carregamento ideal com base no tamanho do ficheiro, consulte o artigo Carregamentos e transferências.
Para obter instruções sobre o carregamento a partir da memória, consulte o artigo Carregue objetos a partir da memória.
Funções necessárias
Para receber as autorizações necessárias para carregar objetos para um contentor, peça ao seu administrador para lhe conceder a função de IAM de utilizador de objetos de armazenamento (roles/storage.objectUser) no contentor. Esta função
predefinida contém as autorizações necessárias para carregar um objeto para um
contentor. Para ver as autorizações exatas necessárias, expanda a secção
Autorizações necessárias:
Autorizações necessárias
storage.objects.createstorage.objects.delete- Esta autorização só é necessária para carregamentos que substituam um objeto existente.
storage.objects.get- Esta autorização só é necessária se planear usar a CLI Google Cloud para realizar as tarefas nesta página.
storage.objects.list- Esta autorização só é necessária se planear usar a CLI Google Cloud para realizar as tarefas nesta página. Esta autorização também é necessária se quiser usar a consola Google Cloud para validar os objetos que carregou.
Se planeia usar a Google Cloud consola para realizar as tarefas nesta página, também precisa da autorização storage.buckets.list, que não está incluída na função de utilizador do objeto de armazenamento (roles/storage.objectUser). Para receber esta autorização, peça ao seu administrador para lhe conceder a função de administrador do armazenamento (roles/storage.admin) no projeto.
Também pode obter estas autorizações com outras funções predefinidas ou funções personalizadas.
Para obter informações sobre como conceder funções em contentores, consulte o artigo Defina e faça a gestão de políticas de IAM em contentores.
Carregue um objeto para um contentor
Conclua os passos seguintes para carregar um objeto para um contentor:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor para o qual quer carregar um objeto.
No separador Objetos do contentor, pode:
Arraste ficheiros do ambiente de trabalho ou do gestor de ficheiros para o painel principal na consola Google Cloud .
Clique em Carregar > Carregar ficheiros, selecione os ficheiros que quer carregar na caixa de diálogo apresentada e, de seguida, clique em Abrir.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage cp:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME
Onde:
OBJECT_LOCATIONé o caminho local para o seu objeto. Por exemplo,Desktop/dog.png.DESTINATION_BUCKET_NAMEé o nome do contentor para o qual está a carregar o seu objeto. Por exemplo,my-bucket.
Se for bem-sucedido, a resposta é semelhante ao exemplo seguinte:
Completed files 1/1 | 164.3kiB/164.3kiB
Pode definir metadados de objetos de chave fixa e personalizados como parte do carregamento de objetos através de comandos de flags.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte carrega um objeto individual:
O exemplo seguinte carrega vários objetos em simultâneo:
O exemplo seguinte carrega todos os objetos com um prefixo comum em simultâneo:
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte carrega um objeto individual:
O exemplo seguinte carrega vários objetos em simultâneo:
O exemplo seguinte carrega todos os objetos com um prefixo comum em simultâneo:
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte carrega um objeto individual:
O exemplo seguinte carrega vários objetos em simultâneo:
O exemplo seguinte carrega todos os objetos com um prefixo comum em simultâneo:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Terraform
Pode usar um recurso do Terraform para carregar um objeto.
Tem de especificar content ou source.
APIs REST
API JSON
A API JSON distingue entre carregamentos de multimédia, nos quais apenas os dados do objeto estão incluídos no pedido, e carregamentos multipartes da API JSON, nos quais os dados do objeto e os metadados do objeto estão incluídos no pedido.
Carregamento de multimédia (um carregamento de pedido único sem metadados de objetos)
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization.Use
cURLpara chamar a API JSON com um pedido dePOSTobjeto:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"Onde:
OBJECT_LOCATIONé o caminho local para o seu objeto. Por exemplo,Desktop/dog.png.OBJECT_CONTENT_TYPEé o tipo de conteúdo do objeto. Por exemplo,image/png.BUCKET_NAMEé o nome do contentor para o qual está a carregar o seu objeto. Por exemplo,my-bucket.OBJECT_NAMEé o nome codificado em URL que quer dar ao seu objeto. Por exemplo,pets/dog.png, URL codificado comopets%2Fdog.png.
Carregamento multipartes da API JSON (um carregamento de pedido único que inclui metadados de objetos)
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization.Crie um ficheiro
multipart/relatedque contenha as seguintes informações:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
Onde:
BOUNDARY_STRINGé uma string que define e que identifica as diferentes partes do ficheiro multipartes. Por exemplo,separator_string.OBJECT_METADATAsão metadados que quer incluir para o ficheiro no formato JSON. No mínimo, esta secção deve incluir um atributonamepara o objeto, por exemplo,{"name": "myObject"}.OBJECT_CONTENT_TYPEé o tipo de conteúdo do objeto. Por exemplo,text/plain.OBJECT_DATAsão os dados do objeto.
Por exemplo:
--separator_string Content-Type: application/json; charset=UTF-8 {"name":"my-document.txt"} --separator_string Content-Type: text/plain This is a text file. --separator_string--Use
cURLpara chamar a API JSON com um pedido dePOSTobjeto:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"Onde:
MULTIPART_FILE_LOCATIONé o caminho local para o ficheiro multipartes que criou no passo 2. Por exemplo,Desktop/my-upload.multipart.BOUNDARY_STRINGé a string de limite que definiu no passo 2. Por exemplo,my-boundary.MULTIPART_FILE_SIZEé o tamanho total, em bytes, do ficheiro multipartes que criou no passo 2. Por exemplo,2000000.BUCKET_NAMEé o nome do contentor para o qual está a carregar o seu objeto. Por exemplo,my-bucket.
Se o pedido for bem-sucedido, o servidor devolve o código de estado HTTP 200 OK juntamente com os metadados do ficheiro.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization.Use
cURLpara chamar a API XML com um pedido dePUTobjetocurl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"Onde:
OBJECT_LOCATIONé o caminho local para o seu objeto. Por exemplo,Desktop/dog.png.OBJECT_CONTENT_TYPEé o tipo de conteúdo do objeto. Por exemplo,image/png.BUCKET_NAMEé o nome do contentor para o qual está a carregar o seu objeto. Por exemplo,my-bucket.OBJECT_NAMEé o nome codificado em URL que quer dar ao seu objeto. Por exemplo,pets/dog.png, URL codificado comopets%2Fdog.png.
Pode definir metadados de objetos adicionais como parte do carregamento de objetos
nos cabeçalhos do pedido da mesma forma que o exemplo anterior define
Content-Type. Quando trabalha com a API XML, os metadados só podem ser definidos no momento em que o objeto é escrito, como quando carrega, copia ou substitui o objeto. Para mais informações, consulte o artigo
Editar metadados de objetos.
Carregue o conteúdo de um diretório para um contentor
Conclua os passos seguintes para copiar o conteúdo de um diretório para um contentor:
Linha de comandos
Use o comando gcloud storage rsync com a flag --recursive:
gcloud storage rsync --recursive LOCAL_DIRECTORY gs://DESTINATION_BUCKET_NAME/FOLDER_NAME
Onde:
LOCAL_DIRECTORYé o caminho para o diretório que contém os ficheiros que quer carregar como objetos. Por exemplo,~/my_directory.DESTINATION_BUCKET_NAMEé o nome do contentor para o qual quer carregar objetos. Por exemplo,my-bucket.FOLDER_NAME(opcional) é o nome da pasta no contentor para o qual quer carregar objetos. Por exemplo,my-folder.
Se for bem-sucedido, a resposta é semelhante ao exemplo seguinte:
Completed files 1/1 | 5.6kiB/5.6kiB
Pode definir metadados de objetos de chave fixa e personalizados como parte do carregamento de objetos através de comandos de flags.
O que se segue?
- Saiba mais sobre os requisitos de nomenclatura para objetos.
- Saiba como usar pastas para organizar os seus objetos.
- Transfira objetos da sua instância do Compute Engine.
- Transfira dados de fornecedores de nuvem ou outras origens online, como listas de URLs.
- Controle quem tem acesso aos seus objetos e contentores.
- Veja os metadados do objeto, incluindo o URL do objeto.
Experimente
Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Cloud Storage em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Experimentar o Cloud Storage gratuitamente