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.create
storage.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 ver informações sobre a concessão de funções em contentores, consulte o artigo Use o IAM com 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 são incluídos no pedido, e carregamentos multipartes da API JSON, nos quais os dados do objeto e os metadados do objeto sã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
cURL
para chamar a API JSON com um pedido dePOST
objeto: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/related
que 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_METADATA
são metadados que quer incluir para o ficheiro, no formato JSON. No mínimo, esta secção deve incluir um atributoname
para o objeto, por exemplo,{"name": "myObject"}
.OBJECT_CONTENT_TYPE
é o tipo de conteúdo do objeto. Por exemplo,text/plain
.OBJECT_DATA
sã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
cURL
para chamar a API JSON com um pedido dePOST
objeto: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
cURL
para chamar a API XML com um pedido dePUT
objetocurl -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