Storage batch operations

En este documento, se describe cómo usar las operaciones de almacenamiento por lotes para realizar acciones en miles de millones de objetos a gran escala en un entorno sin servidores. Las configuraciones de grandes empresas pueden tener objetos distribuidos en miles de buckets. Las operaciones de almacenamiento por lotes automatizan las operaciones a gran escala en objetos. Esta automatización reduce el tiempo de desarrollo necesario para escribir y mantener secuencias de comandos para cada solicitud.

Para obtener información sobre cómo crear trabajos de operaciones de almacenamiento por lotes, consulta Crea y administra trabajos de operaciones de almacenamiento por lotes.

Descripción general

Usa las operaciones de almacenamiento por lotes para administrar grandes cantidades de archivos en tu proyecto. Para comenzar, crea una configuración de trabajo. La configuración define qué transformaciones se aplicarán a objetos específicos. Estas transformaciones incluyen colocar conservaciones de objetos, borrar objetos, actualizar metadatos y contextos de objetos, reescribir objetos y aplicar parches a los controles de acceso.

Cuando envías un trabajo de operaciones por lotes, puedes supervisar su estado para verificar cuándo el trabajo aplica todas las transformaciones especificadas.

Beneficios

Estos son los beneficios de las operaciones de almacenamiento por lotes:

  • Escalabilidad: Realiza transformaciones en millones de objetos con un solo trabajo de operaciones de almacenamiento por lotes.
  • Ejecución sin servidores: Ejecuta trabajos por lotes en un entorno sin servidores, lo que elimina la necesidad de administrar la infraestructura.
  • Automatización: Automatiza tareas complejas y repetitivas para mejorar la eficiencia operativa.
  • Reducción del tiempo de desarrollo: Evita escribir y mantener secuencias de comandos personalizadas complejas.
  • Integración del conjunto de datos de Storage Insights: Selecciona objetos directamente especificando condiciones que coincidan con los campos de tus conjuntos de datos de Storage Insights. Esta selección directa elimina la necesidad de ensamblar manualmente un manifiesto CSV manifest o ejecutar consultas para exportar tu conjunto de datos desde BigQuery.
  • Rendimiento: Completa operaciones sensibles al tiempo ejecutando varios trabajos por lotes simultáneos. Por ejemplo, puedes procesar hasta mil millones de objetos en tres horas.
  • Reintentos automáticos: Vuelve a intentar las operaciones fallidas de forma automática.
  • Supervisión de trabajos: Realiza un seguimiento detallado del progreso para supervisar el estado y la finalización de todos los trabajos.

Casos de uso

Las operaciones de almacenamiento por lotes automatizan y simplifican la administración del almacenamiento en toda la organización. En las siguientes situaciones comunes, se describe cómo ayudan a proteger, organizar y administrar tus recursos:

  • Ayuda a proteger tus datos: Administra tu postura de seguridad a gran escala. Por ejemplo, puedes rotar claves de encriptación en millones de objetos, aplicar o quitar conservaciones de objetos para aplicar la inmutabilidad y aplicar parches a las Listas de control de acceso (LCA) de forma masiva para quitar el acceso público de lectura a los datos privados.

  • Mantén el cumplimiento: Ayuda a cumplir con las reglamentaciones de retención de datos. Usa conservaciones de objetos segmentadas para aplicar reglas de retención, establecer cronogramas de vencimiento específicos y borrar objetos dentro de un período específico para satisfacer las políticas de eliminación.

  • Transforma datos a gran escala: Realiza actualizaciones masivas de las propiedades de los objetos. Por ejemplo, puedes actualizar metadatos de objetos personalizados o fijos, y etiquetar archivos para sistemas descendentes actualizando o borrando contextos personalizados de objetos.

  • Administra los costos de almacenamiento: Ayuda a optimizar tus gastos de Cloud Storage. Por ejemplo, puedes borrar de forma masiva los objetos activos innecesarios, purgar los registros obsoletos borrando de forma permanente las versiones de objetos no actuales y mover los objetos de Standard Storage a clases de almacenamiento menos activas, como Archive Storage, a gran escala.

Configuraciones del trabajo

Para crear un trabajo de operaciones de almacenamiento por lotes, establece las siguientes configuraciones del trabajo. Las configuraciones del trabajo son parámetros que controlan cómo el trabajo procesa los objetos.

  • Nombre del trabajo: Es un nombre único para identificar el trabajo de operaciones de almacenamiento por lotes. Usa este nombre para realizar un seguimiento del trabajo, supervisarlo y hacer referencia a él. Los nombres de los trabajos son alfanuméricos, por ejemplo, job-01.

  • Descripción del trabajo (opcional): Es una breve descripción del propósito del trabajo. Esta descripción te ayuda a comprender y documentar lo que hace el trabajo. Por ejemplo, Deletes all objects in a bucket.

  • Lista de buckets: Es una lista separada por comas de uno o más nombres de bucket que contienen los objetos que deseas procesar. Puedes especificar hasta 1,000 buckets de cualquier proyecto, siempre que cada bucket esté inscrito en un plan de Storage Intelligence.

  • Selección de objetos: Son los criterios de selección que definen qué objetos se procesarán. Puedes especificar los criterios con cualquiera de las siguientes opciones:

    • Filtros de conjuntos de datos: Usa Common Expression Language (CEL) para filtrar objetos según los campos de metadatos de tu conjunto de datos de Storage Insights. Puedes ejecutar trabajos por lotes en objetos en varios buckets de un proyecto. Cuando usas filtros de conjuntos de datos para la selección de objetos, las operaciones de almacenamiento por lotes segmentan los objetos que están activos y actuales a partir de la instantánea del conjunto de datos seleccionado. En consecuencia, el trabajo solo incluye objetos que tienen un valor NULL para softDeleteTime y timeDeleted en el momento de la instantánea. Para obtener más información, consulta Crea un trabajo con filtros avanzados.

    • Manifiesto: Crea un manifiesto y especifica su ubicación cuando crees el trabajo de operaciones de almacenamiento por lotes. El manifiesto es un archivo CSV subido a Google Cloud que contiene la lista de objetos que se procesarán. Cada fila del manifiesto debe incluir el bucket y el name del objeto. De manera opcional, puedes especificar la generation del objeto. Si omites el valor generation, el trabajo procesa la versión publicada del objeto.

      El archivo de manifiesto debe incluir una fila de encabezado con el siguiente formato:

      bucket,name,generation

      El siguiente es un ejemplo del manifiesto:

      bucket,name,generation
      bucket_1,object_1,generation_1
      bucket_1,object_2,generation_2
      bucket_2,object_3,generation_3
      

      También puedes crear un manifiesto con conjuntos de datos de Storage Insights. Para obtener más información, consulta Crea un manifiesto con conjuntos de datos de Storage Insights.

    • Prefijos de objetos: Especifica una lista de prefijos para filtrar objetos en el bucket. El trabajo solo procesa los objetos que coinciden con estos prefijos. Si dejas vacía la lista de prefijos, el trabajo procesa todos los objetos del bucket.

  • Tipo de trabajo: Las operaciones de almacenamiento por lotes admiten los siguientes tipos de trabajos, que ejecutan un solo trabajo por operación por lotes.

    • Borrado de objetos: Borra objetos dentro de un bucket para ayudar a optimizar los costos, administrar el ciclo de vida de tus datos y cumplir con las políticas de borrado de datos.

    • Actualizaciones de metadatos: Puedes modificar los siguientes metadatos de objetos:

      • Metadatos personalizados: Puedes actualizar cualquier par clave-valor definido por el usuario asociado con el objeto.

      • Metadatos fijos: Puedes actualizar Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time, y la configuración de retención. Para modificar las conservaciones de objetos, usa el tipo de trabajo de actualizaciones de conservaciones de objetos.

    • Actualizaciones de conservaciones de objetos: Puedes habilitar o inhabilitar las conservaciones de objetos. Las conservaciones de objetos impiden que los objetos se borren o modifiquen. Estas conservaciones son esenciales para el cumplimiento y la retención de datos.

    • Actualizaciones de claves de encriptación de objetos: Puedes administrar las claves de encriptación administradas por el cliente para uno o más objetos. Esta capacidad incluye aplicar o cambiar claves de encriptación con el método de reescritura de objetos.

    • Actualizaciones de contexto de objetos: Administra los contextos de objetos asociados con los objetos. Puedes borrar todos los contextos de objetos existentes o realizar actualizaciones específicas, como quitar claves o insertar y actualizar pares clave-valor.

    • Actualizaciones de clases de almacenamiento de objetos: Puedes cambiar la clase de almacenamiento de los objetos de forma masiva para ayudar a optimizar los costos.

    • Actualizaciones de listas de control de acceso (LCA) de objetos: Puedes aplicar parches a las LCA de objetos para agregar, actualizar o quitar permisos para entidades como allUsers y allAuthenticatedUsers.

  • Ejecución de prueba (opcional): Usa el modo de ejecución de prueba para evitar configuraciones incorrectas accidentales a gran escala. Una ejecución de prueba simula la operación sin realizar transformaciones. Esta simulación te ayuda a validar la configuración del trabajo antes de ejecutar el trabajo real. Los resultados de la ejecución de prueba proporcionan una vista previa de los siguientes detalles antes de ejecutar el trabajo:

    • La cantidad de objetos que afecta el trabajo

    • Posibles errores

    • El tamaño total de los objetos afectados, si filtras por prefijos de objetos.

Precios

Para estimar los cargos de tu trabajo o ejecución de prueba, consulta los Precios de Cloud Storage.

Puedes usar una ejecución de prueba para validar tu configuración sin incurrir en costos de operación, aunque la ejecución de prueba puede generar costos de lista de objetos.

Limitaciones

Las operaciones de almacenamiento por lotes tienen las siguientes limitaciones:

  • Los trabajos de operaciones de almacenamiento por lotes tienen una duración máxima de 14 días. Cualquier trabajo en curso que no se complete dentro de los 14 días de su creación se cancelará automáticamente.

  • Puedes incluir un máximo de 1,000 prefijos de objetos en un solo trabajo.

  • Ejecutar más de 10 trabajos simultáneos en el mismo bucket degrada el rendimiento de cada trabajo.

  • Puedes ejecutar un solo trabajo por lotes en un máximo de 1,000 buckets en un proyecto.

  • Los filtros de buckets y los filtros de objetos están limitados a un máximo de 150 caracteres cada uno.

  • Las operaciones de almacenamiento por lotes seleccionan automáticamente la hora de la instantánea del conjunto de datos de Storage Insights según el manifiesto global. Esta selección hace coincidir todos los buckets segmentados con la misma hora de instantánea para el descubrimiento de objetos. La hora de la instantánea global seleccionada se muestra en la respuesta de la API. Si la hora de la instantánea tiene más de dos días, falla la creación del trabajo. Para obtener información sobre cómo resolver esta falla, consulta Soluciona problemas de operaciones de almacenamiento por lotes.

  • Las operaciones de almacenamiento por lotes no son compatibles con los buckets que tienen habilitados los pagos del solicitante.

  • Cuando usas conjuntos de datos de Storage Insights para la selección de objetos, las operaciones de almacenamiento por lotes segmentan los objetos que están activos y actuales a partir de la instantánea del conjunto de datos seleccionado.

¿Qué sigue?