En esta página, se describe cómo crear, ver, enumerar, cancelar y borrar trabajos de operaciones por lotes de almacenamiento. También se describe cómo usar los registros de auditoría de Cloud con trabajos de operaciones por lotes de almacenamiento.
Antes de comenzar
Para crear y administrar trabajos de operaciones por lotes de almacenamiento, completa los pasos que se indican en las siguientes secciones.
Configura Storage Intelligence
Para crear y administrar trabajos de operaciones por lotes de almacenamiento, configura Storage Intelligence en el bucket en el que deseas ejecutar el trabajo.
Configura Google Cloud CLI
Debes usar la versión 516.0.0 o posterior de Google Cloud CLI.
Configura el proyecto predeterminado
Establece el proyecto en el que deseas crear el trabajo de operaciones por lotes de almacenamiento.
gcloud config set project PROJECT_ID
En el ejemplo anterior, PROJECT_ID es el ID de tu proyecto.
Habilitar API
Habilita la API de operaciones por lotes de almacenamiento.
gcloud services enable storagebatchoperations.googleapis.com
Crea un manifiesto
Para usar un manifiesto para la selección de objetos, crea un manifiesto.
Crea un trabajo de operaciones por lotes de almacenamiento
En esta sección, se describe cómo crear un trabajo de operaciones por lotes de almacenamiento.
Línea 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.
En tu entorno de desarrollo, ejecuta el comando
gcloud storage batch-operations jobs create
.gcloud storage batch-operations jobs create JOB_NAME --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
Aquí:
JOB_NAME
es el nombre del trabajo de operaciones por lotes de almacenamiento.BUCKET_NAME
es el nombre del bucket que contiene uno o más objetos que deseas procesar.OBJECT_SELECTION_FLAG
es una de las siguientes marcas:--included-object-prefixes
: Especifica uno o más prefijos de objetos. Por ejemplo:- Para que coincida un solo prefijo, usa
--included-object-prefixes='prefix1'
. - Para hacer coincidir varios prefijos, usa una lista de prefijos separados por comas:
--included-object-prefixes='prefix1,prefix2'
. - Para incluir todos los objetos, usa un prefijo vacío:
--included-object-prefixes=''
.
- Para que coincida un solo prefijo, usa
--manifest-location
: Especifica la ubicación del manifiesto. Por ejemplo,gs://bucket_name/path/object_name.csv
.
JOB_TYPE_FLAG
es una de las siguientes marcas, según el tipo de trabajo.--delete-object
: Borra uno o más objetos.--put-metadata
: Actualiza los metadatos del objeto. Los metadatos del objeto se almacenan como pares clave-valor. Especifica el par clave-valor de los metadatos que deseas modificar. Puedes especificar uno o más pares clave-valor como una lista.--rewrite-object
: Actualiza las claves de encriptación administradas por el cliente para uno o más objetos.--put-object-event-based-hold
: Habilita las retenciones de objetos basadas en eventos.--no-put-object-event-based-hold
: Inhabilita las retenciones de objetos basadas en eventos.--put-object-temporary-hold
: Habilita las retenciones de objetos temporales.--no-put-object-temporary-hold
: Inhabilita las retenciones de objetos temporales.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Crea un archivo JSON que contenga la configuración del trabajo de operaciones por lotes de almacenamiento. A continuación, se indican las opciones de configuración comunes que puedes 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 } }
Aquí:
JOB_NAME
es el nombre del trabajo de operaciones por lotes de almacenamiento.JOB_DESCRIPTION
es la descripción del trabajo de operaciones por lotes de almacenamiento.BUCKET_NAME
es el nombre del bucket que contiene uno o más objetos que deseas procesar.Para especificar los objetos que deseas procesar, usa cualquiera de los siguientes atributos en el archivo JSON:
MANIFEST_LOCATION
es la ubicación del manifiesto. Por ejemplo,gs://bucket_name/path/object_name.csv
.OBJECT_PREFIXES
es la lista separada por comas que contiene uno o más prefijos de objetos. Para que coincidan todos los objetos, usa una lista vacía.
Según el trabajo que quieras procesar, especifica una de las siguientes opciones:
Borra objetos:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Aquí,
OBJECT_DELETION_VALUE
esTRUE
para borrar objetos.Actualiza la clave de encriptación administrada por el cliente para los objetos:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
Aquí,
KMS_KEY_VALUE
es el valor de la clave de KMS del objeto que deseas actualizar.Actualiza los metadatos del objeto:
"PutMetadata": { METADATA_KEY= METADATA_VALUE, ..., }
Aquí
METADATA_VALUE
es el valor de la clave de los metadatos del objeto. Puedes especificar uno o más pares clave-valor como una lista.Actualiza las conservaciones de objetos:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Aquí:
TEMPORARY_HOLD_VALUE
se usa para habilitar o inhabilitar la conservación temporal del objeto. Un valor de1
habilita la retención, y un valor de2
la inhabilita.EVENT_BASED_HOLD_VALUE
se usa para habilitar o inhabilitar la conservación de objetos basada en eventos. Un valor de1
habilita la retención, y un valor de2
la inhabilita.
Usa
cURL
para llamar a la API de JSON con una solicitud dePOST
trabajo de operaciones por lotes de almacenamiento: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"
Aquí:
JSON_FILE_NAME
es el nombre del archivo JSON.PROJECT_ID
es el ID o el número del proyecto. Por ejemplo,my-project
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
Obtén detalles del trabajo de operaciones por lotes de almacenamiento
En esta sección, se describe cómo obtener los detalles del trabajo de operaciones por lotes de almacenamiento.
Línea 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.
En tu entorno de desarrollo, ejecuta el comando
gcloud storage batch-operations jobs describe
.gcloud storage batch-operations jobs describe JOB_ID
Aquí:
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de trabajo de operaciones por lotes de almacenamientoGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?JOB_ID"
Aquí:
PROJECT_ID
es el ID o el número del proyecto. Por ejemplo,my-project
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
Enumera los trabajos de operaciones de almacenamiento por lotes
En esta sección, se describe cómo enumerar los trabajos de operaciones por lotes de almacenamiento en un proyecto.
Línea 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.
En tu entorno de desarrollo, ejecuta el comando
gcloud storage batch-operations jobs list
.gcloud storage batch-operations jobs list
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de trabajos de operaciones por lotes de almacenamientoLIST
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Aquí:
PROJECT_ID
es el ID o el número del proyecto. Por ejemplo,my-project
Cancela un trabajo de operaciones por lotes de almacenamiento
En esta sección, se describe cómo cancelar un trabajo de operaciones por lotes de almacenamiento dentro de un proyecto.
Línea 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.
En tu entorno de desarrollo, ejecuta el comando
gcloud storage batch-operations jobs cancel
.gcloud storage batch-operations jobs cancel JOB_ID
Aquí:
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud deCANCEL
un trabajo de operaciones por lotes de almacenamiento:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Aquí:
PROJECT_ID
es el ID o el número del proyecto. Por ejemplo,my-project
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
Borra un trabajo de operaciones por lotes de almacenamiento
En esta sección, se describe cómo borrar un trabajo de operaciones por lotes de almacenamiento.
Línea 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.
En tu entorno de desarrollo, ejecuta el comando
gcloud storage batch-operations jobs delete
.gcloud storage batch-operations jobs delete JOB_ID
Aquí:
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud deDELETE
un trabajo de operaciones por lotes de almacenamiento:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Aquí:
PROJECT_ID
es el ID o el número del proyecto. Por ejemplo,my-project
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.
Crea un trabajo de operaciones por lotes de almacenamiento con conjuntos de datos de Storage Insights
Para crear un trabajo de operaciones por lotes de almacenamiento con conjuntos de datos de Storage Insights, completa los pasos que se indican en las siguientes secciones.
Crea un manifiesto con conjuntos de datos de Storage Insights
Puedes crear el manifiesto para tu trabajo de operaciones por lotes de almacenamiento extrayendo datos de BigQuery. Para ello, deberás consultar el conjunto de datos vinculado, exportar los datos resultantes como un archivo CSV y guardarlos en un bucket de Cloud Storage. Luego, el trabajo de operaciones por lotes de almacenamiento puede usar este archivo CSV como manifiesto.
Ejecutar la siguiente consulta en SQL en BigQuery en una vista del conjunto de datos de Storage Insights recupera los objetos de más de 1 KiB que se denominan 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
Aquí:
URI
es el URI del bucket que contiene el manifiesto. Por ejemplo,gs://bucket_name/path_to_csv_file/*.csv
Cuando usas el comodín*.csv
, BigQuery exporta el resultado a varios archivos CSV.OVERWRITE_VALUE
es un valor booleano. Si se configura comotrue
, la operación de exportación reemplaza los archivos existentes en la ubicación especificada.DATASET_VIEW_NAME
es el nombre completamente calificado de la vista del conjunto de datos de Storage Insights en formatoPROJECT_ID.DATASET_ID.VIEW_NAME
. Para encontrar el nombre de tu conjunto de datos, consulta el conjunto de datos vinculado.Aquí:
PROJECT_ID
es el ID o el número del proyecto. Por ejemplo,my-project
DATASET_ID
es el nombre del conjunto de datos. Por ejemplo,objects-deletion-dataset
VIEW_NAME
es el nombre de la vista del conjunto de datos. Por ejemplo,bucket_attributes_view
BUCKET_NAME
es el nombre del depósito. Por ejemplo,my-bucket
SNAPSHOT_TIME
es la fecha y hora de la instantánea de la vista del conjunto de datos de Storage Insights. Por ejemplo,2024-09-10T00:00:00Z
Crea un trabajo de operaciones por lotes de almacenamiento
Para crear un trabajo de operaciones por lotes de almacenamiento que procese los objetos incluidos en el manifiesto, completa los siguientes pasos:
Línea 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.
En tu entorno de desarrollo, ejecuta el 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
Aquí:
JOB_ID
es el nombre del trabajo de operaciones por lotes de almacenamiento.SOURCE_BUCKET_NAME
es el bucket que contiene uno o más objetos que deseas procesar. Por ejemplo,my-bucket
URI
es el URI del bucket que contiene el manifiesto. Por ejemplo,gs://bucket_name/path_to_csv_file/*.csv
Cuando usas el comodín*.csv
, BigQuery exporta el resultado a varios archivos CSV.JOB_TYPE_FLAG
es una de las siguientes marcas, según el tipo de trabajo.--delete-object
: Borra uno o más objetos.--put-metadata
: Actualiza los metadatos del objeto. Los metadatos del objeto se almacenan como pares clave-valor. Especifica el par clave-valor de los metadatos que deseas modificar. Puedes especificar uno o más pares clave-valor como una lista.--rewrite-object
: Actualiza las claves de encriptación administradas por el cliente para uno o más objetos.--put-object-event-based-hold
: Habilita las retenciones de objetos basadas en eventos.--no-put-object-event-based-hold
: Inhabilita las retenciones de objetos basadas en eventos.--put-object-temporary-hold
: Habilita las retenciones de objetos temporales.--no-put-object-temporary-hold
: Inhabilita las retenciones de objetos temporales.
Integración con los Controles del servicio de VPC
Puedes proporcionar una capa adicional de seguridad para los recursos de operaciones por lotes de almacenamiento con los Controles del servicio de VPC. Cuando usas los Controles del servicio de VPC, agregas proyectos a los perímetros de servicio que protegen los recursos y servicios de las solicitudes que se originan fuera del perímetro. Para obtener más información sobre los detalles del perímetro de servicio de los Controles del servicio de VPC para las operaciones por lotes de almacenamiento, consulta Productos admitidos y limitaciones.
Usa los Registros de auditoría de Cloud para los trabajos de operaciones por lotes de almacenamiento
Los trabajos de operaciones por lotes de almacenamiento registran transformaciones en objetos de Cloud Storage en los registros de auditoría de Cloud de Cloud Storage. Puedes usar los Registros de auditoría de Cloud con Cloud Storage para hacer un seguimiento de las transformaciones de objetos que realizan los trabajos de operaciones por lotes de almacenamiento. Para obtener información sobre cómo habilitar los registros de auditoría, consulta Habilita los registros de auditoría. En la entrada de registro de auditoría, el campo de metadatos callUserAgent
con el valor StorageBatchOperations
indica una transformación de operaciones por lotes de almacenamiento.
Próximos pasos
- Más información sobre los conjuntos de datos de Storage Insights