Nesta página, você aprenderá a alterar a classe de armazenamento de objetos de um bucket por meio da reescrita do objeto.
- Saiba como alterar as classes de armazenamento de objetos sem reescrever um objeto no recurso Gerenciamento do ciclo de vida de objetos.
- Para saber como o Cloud Storage pode gerenciar automaticamente as classes de armazenamento do objeto, consulte o recurso Classe automática.
Permissões necessárias
Console
As classes de armazenamento de objetos individuais não podem ser definidas no Console do Google Cloud. Em vez disso, use o Google Cloud CLI.
Linha de comando
Para concluir este guia usando um utilitário de linha de comando, você precisa ter as permissões de IAM adequadas. Se o objeto que você quer acessar existir em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte
Permissões do IAM
para comandos gcloud storage
.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Bibliotecas de cliente
Para concluir este guia usando as bibliotecas de cliente do Cloud Storage, é preciso ter as permissões de IAM adequadas. Se o objeto que você quer acessar existir em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
A menos que indicado de outra forma, as solicitações da biblioteca de cliente são feitas por meio da API JSON e exigem permissões conforme listado em Permissões do IAM para métodos JSON. Para conferir quais métodos da API JSON são invocados ao fazer solicitações usando uma biblioteca de cliente, registre as solicitações brutas.
Para conferir a lista de papéis do IAM relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
APIs REST
API JSON
Para concluir este guia usando a API JSON, é preciso ter as permissões do IAM adequadas. Se o objeto que você quer acessar existir em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para métodos JSON.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Alterar a classe de armazenamento de um objeto
Conclua as seguintes etapas para alterar a classe de armazenamento de um objeto:
Console
As classes de armazenamento de objetos individuais não podem ser definidas no Console do Google Cloud. Em vez disso, use o Google Cloud CLI.
Linha de comando
Use o comando gcloud storage objects update
com a flag --storage-class
. Exemplo:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --storage-class=STORAGE_CLASS
Em que:
BUCKET_NAME
é o nome do bucket que contém o objeto com a classe que você quer alterar. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto da classe que você quer alterar. Por exemplo,pets/dog.png
.STORAGE_CLASS
é a nova classe de armazenamento do objeto. Por exemplo,nearline
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo JSON com as informações a seguir:
{ "storageClass": "STORAGE_CLASS" }
Em que:
STORAGE_CLASS
é a nova classe de armazenamento do objeto. Por exemplo,nearline
.
Use
cURL
(em inglês) para chamar a API JSON com uma solicitação de objetoPOST
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo JSON criado na Etapa 2.BUCKET_NAME
é o nome do bucket que contém o objeto original. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL do objeto. Por exemplo,pets/dog.png
, codificado em URL comopets%2Fdog.png
.
API XML
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
(em inglês) para chamar a API XML com uma solicitação de objetoPUT
:curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-storage-class: STORAGE_CLASS" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Em que:
OBJECT
é o caminho local para o objeto da classe de armazenamento que você quer alterar. É necessário fazer novamente o upload do objeto ao alterar a classe de armazenamento com a API XML. Por exemplo,Desktop/dog.png
.OBJECT_CONTENT_TYPE
é o tipo de conteúdo do objeto. Por exemplo,image/png
.STORAGE_CLASS
é a nova classe de armazenamento do objeto. Por exemplo,nearline
.BUCKET_NAME
é o nome do bucket que contém o objeto que você está reescrevendo. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL do objeto que você está reescrevendo. Por exemplo,pets/dog.png
, codificado em URL comopets%2Fdog.png
.
A seguir
- Saiba mais sobre as classes de armazenamento disponíveis.
- Altere classes de armazenamento de objetos com o Gerenciamento do ciclo de vida de objetos.
- Explore outros recursos do ciclo de vida de dados do Cloud Storage.
- Saiba mais sobre os metadados de objetos.
- Saiba como usar pré-condições de solicitação para evitar disputas.