Esta página descreve como criar, ver, listar, cancelar e eliminar tarefas de operações em lote de armazenamento. Também descreve como usar os registos de auditoria do Cloud com tarefas de operações em lote de armazenamento.
Antes de começar
Para criar e gerir tarefas de operações em lote de armazenamento, conclua os passos nas secções seguintes.
Configure a inteligência de armazenamento
Para criar e gerir tarefas de operações em lote de armazenamento, configure o Storage Intelligence no contentor onde quer executar a tarefa.
Configure a CLI do Google Cloud
Tem de usar a versão 516.0.0 ou posterior da CLI gcloud.
Defina o projeto predefinido
Defina o projeto no qual quer criar a tarefa de operações em lote de armazenamento.
gcloud config set project PROJECT_ID
onde PROJECT_ID é o ID do seu projeto.
Ativar API
Ative a API de operações em lote de armazenamento.
gcloud services enable storagebatchoperations.googleapis.com
Crie um manifesto
Para usar um manifesto para a seleção de objetos, crie um manifesto.
Crie uma tarefa de operações em lote de armazenamento
Esta secção descreve como criar uma tarefa de operações em lote de armazenamento.
Linha de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
No seu ambiente de programação, execute o comando
gcloud storage batch-operations jobs create
.gcloud storage batch-operations jobs create JOB_NAME --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
Onde:
JOB_NAME
é o nome da tarefa de operações em lote de armazenamento.BUCKET_NAME
é o nome do contentor que contém um ou mais objetos que quer processar.OBJECT_SELECTION_FLAG
é uma das seguintes flags:--included-object-prefixes
: especifique um ou mais prefixos de objetos. Por exemplo:- Para corresponder a um único prefixo, use:
--included-object-prefixes='prefix1'
. - Para fazer corresponder vários prefixos, use uma lista de prefixos separados por vírgulas:
--included-object-prefixes='prefix1,prefix2'
. - Para incluir todos os objetos, use um prefixo vazio:
--included-object-prefixes=''
.
- Para corresponder a um único prefixo, use:
--manifest-location
: especifique a localização do manifesto. Por exemplo,gs://bucket_name/path/object_name.csv
.
JOB_TYPE_FLAG
é um dos seguintes indicadores, consoante o tipo de tarefa.--delete-object
: elimine um ou mais objetos.--put-metadata
: atualize os metadados do objeto. Os metadados de objetos são armazenados como pares de chave-valor. Especifique o par chave-valor para os metadados que quer modificar. Pode especificar um ou mais pares de chave-valor como uma lista.--rewrite-object
: atualize as chaves de encriptação geridas pelo cliente para um ou mais objetos.--put-object-event-based-hold
: ative as retenções de objetos baseadas em eventos.--no-put-object-event-based-hold
: desative as retenções de objetos baseadas em eventos.--put-object-temporary-hold
: ative as retenções de objetos temporárias.--no-put-object-temporary-hold
: desative as retenções de objetos temporárias.
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro JSON que contenha as definições para a tarefa de operações em lote de armazenamento. Seguem-se as definições comuns a incluir:
{ "Description": "JOB_DESCRIPTION", "BucketList": { "Buckets": [ { "Bucket": "BUCKET_NAME", "Manifest": { "manifest_location": "MANIFEST_LOCATION" } "PrefixList": { "include_object_prefixes": "OBJECT_PREFIXES" } } ] }, "DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE } "RewriteObject": { "kms_key":"KMS_KEY_VALUE" } "PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE } }
Onde:
JOB_NAME
é o nome da tarefa de operações em lote de armazenamento.JOB_DESCRIPTION
é a descrição da tarefa de operações em lote de armazenamento.BUCKET_NAME
é o nome do contentor que contém um ou mais objetos que quer processar.Para especificar os objetos que quer processar, use qualquer um dos seguintes atributos no ficheiro JSON:
MANIFEST_LOCATION
é a localização do manifesto. Por exemplo,gs://bucket_name/path/object_name.csv
.OBJECT_PREFIXES
é a lista separada por vírgulas que contém um ou mais prefixos de objetos. Para fazer corresponder todos os objetos, use uma lista vazia.
Consoante a tarefa que quer processar, especifique qualquer uma das seguintes opções:
Elimine objetos:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Onde
OBJECT_DELETION_VALUE
éTRUE
para eliminar objetos.Atualize a chave de encriptação gerida pelo cliente para objetos:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
Onde
KMS_KEY_VALUE
é o valor da chave do KMS do objeto que quer atualizar.Atualize os metadados do objeto:
"PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., }
Em que
METADATA_VALUE
é o valor da chave dos metadados do objeto. Pode especificar um ou mais pares de chave-valor como uma lista.Atualize as retenções de objetos:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Onde:
TEMPORARY_HOLD_VALUE
é usado para ativar ou desativar a retenção temporária de objetos. Um valor de1
ativa a retenção e um valor de2
desativa a retenção.EVENT_BASED_HOLD_VALUE
é usado para ativar ou desativar a retenção de objetos baseada em eventos. Um valor de1
ativa a retenção e um valor de2
desativa a retenção.
Use
cURL
para chamar a API JSON com um pedido dePOST
tarefa de operações em lote de armazenamento:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?job_id=JOB_ID"
Onde:
JSON_FILE_NAME
é o nome do ficheiro JSON.PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome da tarefa de operações em lote de armazenamento.
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.
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.
APIs REST
API JSON
Obtenha detalhes da tarefa de operações em lote de armazenamento
Esta secção descreve como obter os detalhes da tarefa de operações em lote de armazenamento.
Linha de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
No seu ambiente de programação, execute o comando
gcloud storage batch-operations jobs describe
.gcloud storage batch-operations jobs describe JOB_ID
Onde:
JOB_ID
é o nome da tarefa de operações em lote de armazenamento.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 deGET
tarefa de operações em lote de armazenamento:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Onde:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome da tarefa de operações em lote de armazenamento.
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.
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.
APIs REST
API JSON
Apresente trabalhos de operações em lote de armazenamento
Esta secção descreve como listar as tarefas de operações em lote de armazenamento num projeto.
Linha de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
No seu ambiente de programação, execute o comando
gcloud storage batch-operations jobs list
.gcloud storage batch-operations jobs list
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 deLIST
tarefas de operações em lote de armazenamento:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Onde:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.
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.
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.
APIs REST
API JSON
Cancele uma tarefa de operações em lote de armazenamento
Esta secção descreve como cancelar uma tarefa de operações em lote de armazenamento num projeto.
Linha de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
No seu ambiente de programação, execute o comando
gcloud storage batch-operations jobs cancel
.gcloud storage batch-operations jobs cancel JOB_ID
Onde:
JOB_ID
é o nome da tarefa de operações em lote de armazenamento.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 pedidoCANCEL
de uma tarefa de operações em lote de armazenamento:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Onde:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome da tarefa de operações em lote de armazenamento.
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.
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.
APIs REST
API JSON
Elimine uma tarefa de operações em lote de armazenamento
Esta secção descreve como eliminar uma tarefa de operações em lote de armazenamento.
Linha de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
No seu ambiente de programação, execute o comando
gcloud storage batch-operations jobs delete
.gcloud storage batch-operations jobs delete JOB_ID
Onde:
JOB_ID
é o nome da tarefa de operações em lote de armazenamento.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 pedidoDELETE
de uma tarefa de operações em lote de armazenamento:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Onde:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome da tarefa de operações em lote de armazenamento.
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.
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.
APIs REST
API JSON
Crie uma tarefa de operações em lote de armazenamento com conjuntos de dados do Storage Insights
Para criar uma tarefa de operações em lote de armazenamento com conjuntos de dados do Storage Insights, conclua os passos nas secções seguintes.
Crie um manifesto com conjuntos de dados do Storage Insights
Pode criar o manifesto para a tarefa de operações em lote de armazenamento extraindo dados do BigQuery. Para o fazer, tem de consultar o conjunto de dados associado, exportar os dados resultantes como um ficheiro CSV e guardá-los num contentor do Cloud Storage. Em seguida, a tarefa de operações em lote de armazenamento pode usar este ficheiro CSV como manifesto.
A execução da seguinte consulta SQL no BigQuery numa visualização de propriedade do conjunto de dados do Storage Insights
obtém objetos com mais de 1 KiB denominados Temp_Training
:
EXPORT DATA OPTIONS( uri=`URI`, format=`CSV`, overwrite=OVERWRITE_VALUE, field_delimiter=',') AS SELECT bucket, name, generation FROM DATASET_VIEW_NAME WHERE bucket = BUCKET_NAME AND name LIKE (`Temp_Training%`) AND size > 1024 * 1024 AND snapshotTime = SNAPSHOT_TIME
Onde:
URI
é o URI do contentor que contém o manifesto. Por exemplo,gs://bucket_name/path_to_csv_file/*.csv
. Quando usa o caráter universal*.csv
, o BigQuery exporta o resultado para vários ficheiros CSV.OVERWRITE_VALUE
é um valor booleano. Se estiver definida comotrue
, a operação de exportação substitui os ficheiros existentes na localização especificada.DATASET_VIEW_NAME
é o nome totalmente qualificado da vista do conjunto de dados do Storage Insights no formatoPROJECT_ID.DATASET_ID.VIEW_NAME
. Para encontrar o nome do conjunto de dados, veja o conjunto de dados associado.Onde:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.DATASET_ID
é o nome do conjunto de dados. Por exemplo,objects-deletion-dataset
.VIEW_NAME
é o nome da visualização do conjunto de dados. Por exemplo,bucket_attributes_view
.
BUCKET_NAME
é o nome do contentor. Por exemplo,my-bucket
.SNAPSHOT_TIME
é a hora do instantâneo da vista do conjunto de dados do Storage Insights. Por exemplo,2024-09-10T00:00:00Z
.
Crie uma tarefa de operações em lote de armazenamento
Para criar uma tarefa de operações em lote de armazenamento para processar objetos contidos no manifesto, conclua os seguintes passos:
Linha de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
No seu ambiente de programação, execute o comando
gcloud storage batch-operations jobs create
:gcloud storage batch-operations jobs create \ JOB_ID \ --bucket=SOURCE_BUCKET_NAME \ --manifest-location=URI \ --JOB_TYPE_FLAG
Onde:
JOB_ID
é o nome da tarefa de operações em lote de armazenamento.SOURCE_BUCKET_NAME
é o contentor que contém um ou mais objetos que quer processar. Por exemplo,my-bucket
.URI
é o URI do contentor que contém o manifesto. Por exemplo,gs://bucket_name/path_to_csv_file/*.csv
. Quando usa o caráter universal*.csv
, o BigQuery exporta o resultado para vários ficheiros CSV.JOB_TYPE_FLAG
é um dos seguintes indicadores, consoante o tipo de tarefa.--delete-object
: elimine um ou mais objetos.--put-metadata
: atualize os metadados do objeto. Os metadados de objetos são armazenados como pares de chave-valor. Especifique o par chave-valor para os metadados que quer modificar. Pode especificar um ou mais pares de chave-valor como uma lista.--rewrite-object
: atualize as chaves de encriptação geridas pelo cliente para um ou mais objetos.--put-object-event-based-hold
: ative as retenções de objetos baseadas em eventos.--no-put-object-event-based-hold
: desative as retenções de objetos baseadas em eventos.--put-object-temporary-hold
: ative as retenções de objetos temporárias.--no-put-object-temporary-hold
: desative as retenções de objetos temporárias.
Integração com o VPC Service Controls
Pode fornecer uma camada adicional de segurança para os recursos de operações em lote de armazenamento através dos VPC Service Controls. Quando usa os VPC Service Controls, adiciona projetos a perímetros de serviço que protegem recursos e serviços de pedidos originados fora do perímetro. Para saber mais acerca dos detalhes do perímetro de serviço do VPC Service Controls para operações em lote de armazenamento, consulte o artigo Produtos suportados e limitações.
Use os registos de auditoria do Cloud para tarefas de operações em lote de armazenamento
As tarefas de operações em lote de armazenamento registam transformações em objetos do Cloud Storage nos registos de auditoria do Cloud do Cloud Storage. Pode usar os registos de auditoria do Cloud
com o Cloud Storage para acompanhar as transformações de objetos que
as tarefas de operações em lote de armazenamento realizam. Para obter informações sobre como ativar os registos de auditoria, consulte o artigo Ativar registos de auditoria. Na entrada do registo de auditoria, o campo de metadados callUserAgent
com o valor StorageBatchOperations
indica uma transformação de operações em lote de armazenamento.
Passos seguintes
- Saiba mais sobre os conjuntos de dados das estatísticas de armazenamento