Esta página descreve como criar, visualizar, listar, cancelar e excluir jobs de operações em lote de armazenamento. Também descreve como usar os registros de auditoria do Cloud com trabalhos de operações em lote de armazenamento.
Antes de começar
Para criar e gerenciar trabalhos de operações em lote de armazenamento, siga as etapas nas seções a seguir.
Configurar o Storage Intelligence
Para criar e gerenciar jobs de operações em lote de armazenamento, configure o Storage Intelligence no bucket em que você quer executar o job.
Configurar a Google Cloud CLI
É necessário usar a Google Cloud CLI versão 516.0.0 ou mais recente.
Definir o projeto padrão
Defina o projeto em que você quer criar o job de operações em lote de armazenamento.
gcloud config set project PROJECT_ID
onde PROJECT_ID é o código de seu projeto.
Ativar API
Ative a API Storage Batch Operations.
gcloud services enable storagebatchoperations.googleapis.com
Criar um manifesto
Para usar um manifesto para a seleção de objetos, crie um manifesto.
Criar um job de operações em lote de armazenamento
Esta seção descreve como criar um job de operações em lote de armazenamento.
Linha de comando
-
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 ambiente de desenvolvimento, 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
Em que:
JOB_NAME
é o nome do job de operações em lote do armazenamento.BUCKET_NAME
é o nome do bucket que contém um ou mais objetos que você quer processar.OBJECT_SELECTION_FLAG
é uma das seguintes flags:--included-object-prefixes
: especifique um ou mais prefixos de objeto. Exemplo:- Para corresponder a um único prefixo, use:
--included-object-prefixes='prefix1'
. - Para corresponder a 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
: especifica o local do manifesto. Por exemplo,gs://bucket_name/path/object_name.csv
.
JOB_TYPE_FLAG
é uma das flags a seguir, dependendo do tipo de job.--delete-object
: excluir um ou mais objetos.--put-metadata
: atualizar os metadados do objeto. Os metadados do objeto são armazenados como pares de chave-valor. Especifique o par de chave-valor dos metadados que você quer modificar. É possível especificar um ou mais pares de chave-valor como uma lista.--rewrite-object
: atualize as chaves de criptografia gerenciadas pelo cliente de um ou mais objetos.--put-object-event-based-hold
: ativar retenção de objetos baseada em eventos.--no-put-object-event-based-hold
: desative as retenções de objeto baseadas em eventos.--put-object-temporary-hold
: ativa retenção temporária de objetos.--no-put-object-temporary-hold
: desative as retenções temporárias de objeto.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um arquivo JSON com as configurações do job de operações em lote de armazenamento. Veja a seguir configurações comuns a serem incluídas:
{ "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 } }
Em que:
JOB_NAME
é o nome do job de operações em lote de armazenamento.JOB_DESCRIPTION
é a descrição do job de operações em lote do armazenamento.BUCKET_NAME
é o nome do bucket que contém um ou mais objetos que você quer processar.Para especificar os objetos que você quer processar, use um dos seguintes atributos no arquivo JSON:
MANIFEST_LOCATION
é o local 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 objeto. Para corresponder a todos os objetos, use uma lista vazia.
Dependendo do job que você quer processar, especifique uma das seguintes opções:
Excluir objetos:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Em que
OBJECT_DELETION_VALUE
éTRUE
para excluir objetos.Atualize a chave de criptografia gerenciada pelo cliente para objetos:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
Em que
KMS_KEY_VALUE
é o valor da chave KMS do objeto que você quer atualizar.Atualize os metadados do objeto:
"PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., }
Em que
METADATA_VALUE
é o valor da chave dos metadados do objeto. É possível 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 }
Em que:
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
a desativa.EVENT_BASED_HOLD_VALUE
é usado para ativar ou desativar a retenção de objeto baseada em eventos. Um valor de1
ativa a retenção, e um valor de2
a desativa.
Use
cURL
para chamar a API JSON com uma solicitação dePOST
job 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/project=PROJECT_ID/locations/global/jobs?job_id=JOB_ID"
Em que:
JSON_FILE_NAME
é o nome do arquivo JSON.PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome do job de operações em lote do armazenamento.
Receber detalhes do job de operações em lote de armazenamento
Esta seção descreve como conferir os detalhes do job de operações em lote de armazenamento.
Linha de comando
-
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 ambiente de desenvolvimento, execute o comando
gcloud storage batch-operations jobs describe
.gcloud storage batch-operations jobs describe JOB_ID
Em que:
JOB_ID
é o nome do job de operações em lote de armazenamento.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação deGET
job 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"
Em que:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome do job de operações em lote do armazenamento.
Listar jobs de operações em lote do armazenamento
Esta seção descreve como listar os jobs de operações em lote de armazenamento em um projeto.
Linha de comando
-
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 ambiente de desenvolvimento, execute o comando
gcloud storage batch-operations jobs list
.gcloud storage batch-operations jobs list
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação deLIST
jobs 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"
Em que:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.
Cancelar um job de operações em lote de armazenamento
Esta seção descreve como cancelar um job de operações em lote de armazenamento em um projeto.
Linha de comando
-
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 ambiente de desenvolvimento, execute o comando
gcloud storage batch-operations jobs cancel
.gcloud storage batch-operations jobs cancel JOB_ID
Em que:
JOB_ID
é o nome do job de operações em lote de armazenamento.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação deCANCEL
um job 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"
Em que:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome do job de operações em lote do armazenamento.
Excluir um job de operações em lote de armazenamento
Esta seção descreve como excluir um job de operações em lote de armazenamento.
Linha de comando
-
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 ambiente de desenvolvimento, execute o comando
gcloud storage batch-operations jobs delete
.gcloud storage batch-operations jobs delete JOB_ID
Em que:
JOB_ID
é o nome do job de operações em lote do armazenamento.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação deDELETE
um job 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"
Em que:
PROJECT_ID
é o ID ou o número do projeto. Por exemplo,my-project
.JOB_ID
é o nome do job de operações em lote do armazenamento.
Criar um job de operações em lote de armazenamento usando conjuntos de dados do Storage Insights
Para criar um job de operações em lote de armazenamento usando conjuntos de dados do Storage Insights, siga as etapas nas seções a seguir.
Criar um manifesto usando conjuntos de dados do Storage Insights
É possível criar o manifesto para o job de operações em lote de armazenamento extraindo dados do BigQuery. Para isso, consulte o conjunto de dados vinculado, exporte os dados resultantes como um arquivo CSV e salve-o em um bucket do Cloud Storage. O job de operações em lote do armazenamento pode usar esse arquivo CSV como manifesto.
A execução da consulta SQL a seguir no BigQuery em uma visualização de conjunto de dados do Storage Insights recupera objetos maiores que 1 KiB com o nome 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
Em que:
URI
é o URI do bucket que contém o manifesto. Por exemplo,gs://bucket_name/path_to_csv_file/*.csv
. Quando você usa o caractere curinga*.csv
, o BigQuery exporta o resultado para vários arquivos CSV.OVERWRITE_VALUE
é um valor booleano. Se definido comotrue
, a operação de exportação substitui os arquivos atuais no local especificado.DATASET_VIEW_NAME
é o nome totalmente qualificado da visualização do conjunto de dados do Storage Insights no formatoPROJECT_ID.DATASET_ID.VIEW_NAME
. Para encontrar o nome do conjunto de dados, acesse o conjunto de dados vinculado.Em que:
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 bucket. Por exemplo,my-bucket
.SNAPSHOT_TIME
é o horário do snapshot da visualização do conjunto de dados do Storage Insights. Por exemplo,2024-09-10T00:00:00Z
.
Criar um job de operações em lote de armazenamento
Para criar um job de operações em lote de armazenamento para processar objetos contidos no manifesto, siga estas etapas:
Linha de comando
-
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 ambiente para desenvolvedores, 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
Em que:
JOB_ID
é o nome do job de operações em lote de armazenamento.SOURCE_BUCKET_NAME
é o bucket que contém um ou mais objetos que você quer processar. Por exemplo,my-bucket
.URI
é o URI do bucket que contém o manifesto. Por exemplo,gs://bucket_name/path_to_csv_file/*.csv
. Quando você usa o caractere curinga*.csv
, o BigQuery exporta o resultado para vários arquivos CSV.JOB_TYPE_FLAG
é uma das flags a seguir, dependendo do tipo de job.--delete-object
: excluir um ou mais objetos.--put-metadata
: atualizar os metadados do objeto. Os metadados do objeto são armazenados como pares de chave-valor. Especifique o par de chave-valor dos metadados que você quer modificar. É possível especificar um ou mais pares de chave-valor como uma lista.--rewrite-object
: atualize as chaves de criptografia gerenciadas pelo cliente de um ou mais objetos.--put-object-event-based-hold
: ativar retenção de objetos baseada em eventos.--no-put-object-event-based-hold
: desative as retenções de objeto baseadas em eventos.--put-object-temporary-hold
: ativa a retenção temporária de objetos.--no-put-object-temporary-hold
: desative as retenções temporárias de objeto.
Usar os Registros de auditoria do Cloud para trabalhos de operações em lote de armazenamento
Os jobs de operações em lote do armazenamento registram transformações em objetos do Cloud Storage nos Registros de auditoria do Cloud Storage. Use os Registros de auditoria do Cloud
com o Cloud Storage para acompanhar as transformações de objetos que
os jobs de operações em lote de armazenamento executam. Para informações sobre como ativar os registros de auditoria, consulte Como ativar os registros de auditoria. Na entrada do registro de auditoria, o campo de metadados callUserAgent
com o valor StorageBatchOperations
indica uma
transformação de operações em lote de armazenamento.
Próximas etapas
- Saiba mais sobre os conjuntos de dados do Storage Insights.