REST Resource: projects.locations.jobs

Recurso: Job

Descripción del trabajo de operaciones por lotes de almacenamiento.

Representación JSON
{
  "name": string,
  "description": string,
  "loggingConfig": {
    object (LoggingConfig)
  },
  "createTime": string,
  "scheduleTime": string,
  "completeTime": string,
  "counters": {
    object (Counters)
  },
  "errorSummaries": [
    {
      object (ErrorSummary)
    }
  ],
  "state": enum (State),

  // Union field source can be only one of the following:
  "bucketList": {
    object (BucketList)
  }
  // End of list of possible types for union field source.

  // Union field transformation can be only one of the following:
  "putObjectHold": {
    object (PutObjectHold)
  },
  "deleteObject": {
    object (DeleteObject)
  },
  "putMetadata": {
    object (PutMetadata)
  },
  "rewriteObject": {
    object (RewriteObject)
  }
  // End of list of possible types for union field transformation.
}
Campos
name

string

Identificador. Nombre de recurso del trabajo.

Formato: projects/{project}/locations/global/jobs/{jobId}.

Por ejemplo: projects/123456/locations/global/jobs/job01.

jobId es único en un proyecto determinado para una ubicación determinada. Si no se especifica jobId, se asigna un identificador generado por el servidor.

description

string

Opcional. Descripción del trabajo proporcionada por el usuario.

Longitud máxima: 1024 bytes cuando se codifica en Unicode.

loggingConfig

object (LoggingConfig)

Opcional. Configuración de registro.

createTime

string (Timestamp format)

Solo de salida. Hora en la que se creó el trabajo.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

scheduleTime

string (Timestamp format)

Solo de salida. La hora a la que se programó el trabajo.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

completeTime

string (Timestamp format)

Solo de salida. La hora en la que se completó el trabajo.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

counters

object (Counters)

Solo de salida. Información sobre el progreso del trabajo.

errorSummaries[]

object (ErrorSummary)

Solo de salida. Resume los errores detectados con entradas de registro de errores de ejemplo.

state

enum (State)

Solo de salida. Estado del trabajo.

Campo de unión source. Especifica los objetos que se van a transformar. source solo puede ser una de las siguientes cosas:
bucketList

object (BucketList)

Especifica una lista de los segmentos y sus objetos que se van a transformar.

Campo de unión transformation. Operación que se va a realizar en los objetos. transformation solo puede ser una de las siguientes cosas:
putObjectHold

object (PutObjectHold)

Cambia el estado de retención de un objeto.

deleteObject

object (DeleteObject)

Eliminar objetos.

putMetadata

object (PutMetadata)

Actualiza los metadatos del objeto. Permite actualizar metadatos de clave fija y personalizados, así como metadatos de clave fija. Por ejemplo, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type y Custom-Time.

rewriteObject

object (RewriteObject)

Reescribe el objeto y actualiza los metadatos, como la clave de KMS.

BucketList

Describe la lista de los contenedores y sus objetos que se van a transformar.

Representación JSON
{
  "buckets": [
    {
      object (Bucket)
    }
  ]
}
Campos
buckets[]

object (Bucket)

Obligatorio. Lista de los contenedores y sus objetos que se van a transformar. Solo puedes especificar un segmento por tarea. Si se especifican varios segmentos, se produce un error.

Segmento

Describe la configuración de un solo segmento y sus objetos que se van a transformar.

Representación JSON
{
  "bucket": string,

  // Union field object_configuration can be only one of the following:
  "prefixList": {
    object (PrefixList)
  },
  "manifest": {
    object (Manifest)
  }
  // End of list of possible types for union field object_configuration.
}
Campos
bucket

string

Obligatorio. Nombre del segmento de los objetos que se van a transformar.

Campo de unión object_configuration. Especifica los objetos que se van a transformar. object_configuration solo puede ser una de las siguientes cosas:
prefixList

object (PrefixList)

Especifica los objetos que coinciden con un conjunto de prefijos.

manifest

object (Manifest)

Especifica objetos en un archivo de manifiesto.

PrefixList

Describe los prefijos de los objetos que se van a transformar.

Representación JSON
{
  "includedObjectPrefixes": [
    string
  ]
}
Campos
includedObjectPrefixes[]

string

Opcional. Especifica uno o varios prefijos de objeto. Por ejemplo:

  • Para que coincida con un objeto, usa un solo prefijo, prefix1.

  • Para que coincidan varios objetos, usa prefijos separados por comas, prefix1,prefix2.

  • Para que coincidan todos los objetos, usa un prefijo vacío: ''.

Archivo de manifiesto

Describe la lista de objetos que se van a transformar.

Representación JSON
{
  "manifestLocation": string
}
Campos
manifestLocation

string

Obligatorio. Especifica la ubicación del archivo de manifiesto. Por ejemplo, gs://bucket_name/path/object_name.csv. El manifiesto es un archivo CSV que se sube a Cloud Storage y que contiene un objeto o una lista de objetos que quieres procesar. Cada fila del manifiesto debe incluir el bucket y el name del objeto. También puedes especificar el generation del objeto. Si no especifica el generation, se usará la versión actual del objeto.

El archivo debe incluir una fila de encabezado con el siguiente formato: bucket,name,generation. La columna generation es opcional. Por ejemplo,

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

Nota: El archivo de manifiesto solo debe especificar objetos del segmento proporcionado al trabajo. Las filas que hacen referencia a objetos de otros segmentos se ignoran.

PutObjectHold

Describe las opciones para actualizar la retención de objetos.

Representación JSON
{
  "temporaryHold": enum (HoldStatus),
  "eventBasedHold": enum (HoldStatus)
}
Campos
temporaryHold

enum (HoldStatus)

Obligatorio. Actualiza el estado de retención temporal de un objeto. Cuando se establece una retención temporal de un objeto, este no se puede eliminar ni sustituir.

eventBasedHold

enum (HoldStatus)

Obligatorio. Actualiza el estado de las retenciones basadas en eventos de un objeto. Cuando se establece una retención basada en eventos de objetos, estos no se pueden eliminar ni sustituir. Restablece la hora del objeto en el segmento a efectos del periodo de conservación.

HoldStatus

Describe el estado de la retención.

Enumeraciones
HOLD_STATUS_UNSPECIFIED Valor predeterminado. El estado de retención del objeto no cambia.
SET Aplica la retención.
UNSET Quita la retención.

DeleteObject

Describe las opciones para eliminar un objeto.

Representación JSON
{
  "permanentObjectDeletionEnabled": boolean
}
Campos
permanentObjectDeletionEnabled

boolean

Obligatorio. Controla el comportamiento de eliminación cuando la gestión de versiones está habilitada en el segmento del objeto. Si es true, tanto los objetos activos como los no actuales se eliminarán de forma permanente. De lo contrario, los objetos activos de los segmentos con versiones dejarán de ser actuales y se omitirán los objetos que ya no lo eran. Este ajuste no tiene ningún efecto en la función de eliminación suave. Todos los objetos eliminados por este servicio se pueden restaurar durante el periodo de retención de la eliminación no definitiva si está habilitada. Si está habilitada y el manifiesto no especifica la generación de un objeto, se realizará una llamada GetObjectMetadata para determinar la generación del objeto activo.

PutMetadata

Describe las opciones para actualizar los metadatos de los objetos.

Representación JSON
{
  "customMetadata": {
    string: string,
    ...
  },
  "contentDisposition": string,
  "contentEncoding": string,
  "contentLanguage": string,
  "contentType": string,
  "cacheControl": string,
  "customTime": string
}
Campos
customMetadata

map (key: string, value: string)

Opcional. Actualiza los metadatos personalizados del objeto. Esta operación añade o define pares clave-valor de metadatos personalizados individuales. Los valores de las claves especificadas con valores vacíos se borrarán. Las claves de metadatos personalizados que ya existían y que no se incluyen en la solicitud no se modifican. Para obtener más información, consulta Custom-Metadata.

Un objeto que contiene una lista de pares "key": "value". Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }

contentDisposition

string

Opcional. Actualiza los metadatos fijos de los objetos Content-Disposition. Los valores no definidos en la solicitud se ignoran. Para borrar los metadatos, asigna un valor vacío. Para obtener más información, consulta Content-Disposition.

contentEncoding

string

Opcional. Actualiza los metadatos fijos de los objetos Content-Encoding. Los valores no definidos en la solicitud se ignoran. Para borrar los metadatos, asigna un valor vacío. Para obtener más información, consulta Content-Encoding.

contentLanguage

string

Opcional. Actualiza los metadatos de idioma de contenido fijo de los objetos. Los valores de metadatos deben usar códigos de idioma ISO 639-1. La longitud máxima de los valores de metadatos es de 100 caracteres. Los valores no definidos en la solicitud se ignoran. Para borrar los metadatos, asigna un valor vacío. Para obtener más información, consulta Content-Language.

contentType

string

Opcional. Actualiza los metadatos fijos de los objetos Content-Type. Los valores no definidos en la solicitud se ignoran. Para borrar los metadatos, asigna un valor vacío. Para obtener más información, consulta Content-Type.

cacheControl

string

Opcional. Actualiza los metadatos fijos de los objetos Cache-Control. Los valores no definidos en la solicitud se ignoran. Para borrar los metadatos, asigna un valor vacío. Además, el valor de Custom-Time no puede disminuir. Para obtener más información, consulta Cache-Control.

customTime

string

Opcional. Actualiza los metadatos de hora personalizada fija del objeto. Los valores no definidos en la solicitud se ignoran. Para borrar los metadatos, asigna un valor vacío. Para obtener más información, consulta Tiempo personalizado.

RewriteObject

Describe las opciones para reescribir objetos.

Representación JSON
{
  "kmsKey": string
}
Campos
kmsKey

string

Obligatorio. Nombre del recurso de la clave de Cloud KMS que se usa para cifrar el objeto. La clave de Cloud KMS debe estar en la misma ubicación que el objeto. Para obtener más información, consulta Encriptar un objeto con una clave de Cloud KMS.

Formato: projects/{project}/locations/{locationid}/keyRings/{keyring}/cryptoKeys/{key}

Por ejemplo: projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key. El objeto se vuelve a escribir y se le asigna la clave de KMS especificada.

LoggingConfig

Especifica el comportamiento de Cloud Logging.

Representación JSON
{
  "logActions": [
    enum (LoggableAction)
  ],
  "logActionStates": [
    enum (LoggableActionState)
  ]
}
Campos
logActions[]

enum (LoggableAction)

Obligatorio. Especifica las acciones que se registrarán.

logActionStates[]

enum (LoggableActionState)

Obligatorio. Estados en los que se registran las acciones. Si está vacío, no se generarán registros.

LoggableAction

Tipos de acciones que se pueden registrar.

Enumeraciones
LOGGABLE_ACTION_UNSPECIFIED Valor no permitido para evitar que se permita un valor predeterminado.
TRANSFORM La acción de transformación correspondiente de este trabajo.

LoggableActionState

Filtro de estados de acciones registrables.

Enumeraciones
LOGGABLE_ACTION_STATE_UNSPECIFIED Valor no permitido para evitar que se permita un valor predeterminado.
SUCCEEDED LoggableAction se ha completado correctamente. Las acciones de SUCCEEDED se registran como [INFO][google.logging.type.LogSeverity.INFO].
FAILED LoggableAction ha terminado con un error. Las acciones de FAILED se registran como [ERROR][google.logging.type.LogSeverity.ERROR].

Contadores

Describe los detalles sobre el progreso del trabajo.

Representación JSON
{
  "totalObjectCount": string,
  "succeededObjectCount": string,
  "failedObjectCount": string
}
Campos
totalObjectCount

string (int64 format)

Solo de salida. Número de objetos incluidos en la lista.

succeededObjectCount

string (int64 format)

Solo de salida. Número de objetos completados.

failedObjectCount

string (int64 format)

Solo de salida. Número de objetos que han fallado.

ErrorSummary

Un resumen de los errores por código de error, además de un recuento y ejemplos de entradas de registro de errores.

Representación JSON
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
Campos
errorCode

enum (Code)

Obligatorio. El código de error canónico.

errorCount

string (int64 format)

Obligatorio. Número de errores detectados por errorCode.

errorLogEntries[]

object (ErrorLogEntry)

Obligatorio. Registros de errores de ejemplo.

Código

Define los códigos de error que se usan para gestionar las respuestas de la API gRPC.

Cuando se apliquen varios códigos de error, devuelve el más específico. Por ejemplo, dale preferencia a OUT_OF_RANGE sobre FAILED_PRECONDITION si se aplican ambos códigos. Del mismo modo, prefiere NOT_FOUND o ALREADY_EXISTS en lugar de FAILED_PRECONDITION.

Enumeraciones
OK

Se devuelve cuando la operación se completa correctamente.

Asignación HTTP: 200 OK

CANCELLED

La operación se canceló. Normalmente, lo hizo la persona que llama.

Asignación HTTP: 499 El cliente cerró la petición

UNKNOWN

Error desconocido. Por ejemplo, este error puede devolverse cuando un valor Status recibido de otro espacio de direcciones pertenece a un espacio de errores que no se conoce en este espacio de direcciones. Asimismo, los errores generados por las API que no devuelven suficiente información del error pueden convertirse a este error.

Asignación HTTP: 500 Error interno del servidor

INVALID_ARGUMENT

El cliente especificó un argumento no válido. Ten en cuenta que es diferente de FAILED_PRECONDITION. INVALID_ARGUMENT indica argumentos que dan problemas independientemente del estado del sistema (por ejemplo, un nombre de archivo con formato incorrecto).

Asignación HTTP: 400 Petición incorrecta

DEADLINE_EXCEEDED

El tiempo de espera se ha agotado antes de que la operación se completara. En el caso de operaciones que cambian el estado del sistema, puede que se devuelva este error incluso si la operación se ha completado correctamente. Por ejemplo, una respuesta correcta de un servidor podría haberse retrasado el tiempo suficiente para que se agote el tiempo de espera.

Asignación HTTP: 504 Tiempo de espera de la pasarela

NOT_FOUND

No se ha encontrado alguna entidad solicitada (por ejemplo, un archivo o un directorio).

Nota para los desarrolladores de servidores: si se deniega una solicitud para toda una clase de usuarios (por ejemplo, en el caso de un lanzamiento gradual de una función o de una lista de permitidos no documentada), se puede usar NOT_FOUND. Si se deniega una solicitud a algunos usuarios de una clase de usuarios, como el control de acceso basado en usuarios, se debe usar PERMISSION_DENIED.

Asignación HTTP: 404 No encontrado

ALREADY_EXISTS

La entidad que ha intentado crear un cliente (por ejemplo, un archivo o un directorio) ya existe.

Asignación HTTP: 409 Conflicto

PERMISSION_DENIED

La persona que llama no tiene permiso para ejecutar la operación especificada. PERMISSION_DENIED no debe usarse para los rechazos provocados por el agotamiento de recursos (en su lugar, utiliza RESOURCE_EXHAUSTED para esos errores). No se debe usar PERMISSION_DENIED si no se puede identificar al llamante (en su lugar, usa UNAUTHENTICATED para esos errores). Este código de error no implica que la petición sea válida o que la entidad solicitada exista o cumpla otras condiciones previas.

Asignación HTTP: 403 Prohibido

UNAUTHENTICATED

La petición no cuenta con credenciales de autenticación válidas para la operación.

Asignación HTTP: 401 No autorizado

RESOURCE_EXHAUSTED

Algunos recursos se han agotado; es posible que una cuota por usuario, o tal vez todo el sistema de archivos, esté sin espacio.

Asignación HTTP: 429 Demasiadas peticiones

FAILED_PRECONDITION

Se ha rechazado la operación porque el sistema no se encuentra en un estado requerido para la ejecución de dicha operación. Por ejemplo, el directorio que se va a eliminar no está vacío, una operación rmdir no se aplica a un directorio, etc.

Los implementadores de servicios pueden usar las siguientes directrices para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE:

  • Usa UNAVAILABLE si el cliente puede volver a intentar solo la llamada que ha fallado.
  • Usa ABORTED si el cliente debe volver a intentarlo a un nivel superior. Por ejemplo, cuando falla una prueba y un conjunto especificados por el cliente, lo que indica que el cliente debe reiniciar una secuencia de lectura-modificación-escritura.
  • Usa FAILED_PRECONDITION si el cliente no debe volver a intentarlo hasta que se haya corregido explícitamente el estado del sistema. Por ejemplo, si se produce un error en "rmdir" porque el directorio no está vacío, se debe devolver FAILED_PRECONDITION, ya que el cliente no debe volver a intentarlo a menos que se eliminen los archivos del directorio.

Asignación HTTP: 400 Petición incorrecta

ABORTED

La operación se anuló, normalmente debido a un problema de simultaneidad, como un error en la verificación del secuenciador o la cancelación de una transacción.

Consulta las directrices anteriores para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE.

Asignación HTTP: 409 Conflicto

OUT_OF_RANGE

Se intentó realizar la operación más allá del rango válido. Por ejemplo, buscar o leer más allá del final del archivo.

A diferencia de INVALID_ARGUMENT, este error indica un problema que puede corregirse si el estado del sistema cambia. Por ejemplo, un sistema de archivos de 32 bits generará INVALID_ARGUMENT si se le pide que lea en un desplazamiento que no esté en el intervalo [0,2^32-1], pero generará OUT_OF_RANGE si se le pide que lea desde un desplazamiento posterior al tamaño del archivo actual.

Hay una pequeña superposición entre FAILED_PRECONDITION y OUT_OF_RANGE. Se recomienda usar OUT_OF_RANGE (el error más específico) cuando se aplique, de modo que las personas que llaman y repliquen a través de un espacio puedan buscar con facilidad un error de OUT_OF_RANGE para detectar que han acabado.

Asignación HTTP: 400 Petición incorrecta

UNIMPLEMENTED

La operación no se ha desplegado, no es compatible o no está habilitada en este servicio.

Asignación HTTP: 501 No desplegado

INTERNAL

Errores internos. Indica que se han roto algunas invariables previstas por el sistema. Este código de error se reserva para los errores graves.

Asignación HTTP: 500 Error interno del servidor

UNAVAILABLE

El servicio no está disponible en este momento. Es muy probable que se trate de una condición transitoria, que puede corregirse volviendo a intentarlo con una interrupción. Ten en cuenta que no siempre es seguro volver a intentar operaciones no idempotentes.

Consulta las directrices anteriores para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE.

Asignación HTTP: 503 Servicio no disponible

DATA_LOSS

Datos dañados o pérdida irrecuperable de datos.

Asignación HTTP: 500 Error interno del servidor

ErrorLogEntry

Una entrada que describe un error que se ha producido.

Representación JSON
{
  "objectUri": string,
  "errorDetails": [
    string
  ]
}
Campos
objectUri

string

Obligatorio. Solo de salida. URL del objeto. Por ejemplo, gs://my_bucket/object.txt

errorDetails[]

string

Opcional. Solo de salida. Se registran un máximo de 5 entradas de registro de errores por código de error en cada trabajo.

Estado

Describe el estado de un trabajo.

Enumeraciones
STATE_UNSPECIFIED Valor predeterminado. Este valor no se usa.
RUNNING En curso.
SUCCEEDED Se ha completado correctamente.
CANCELED Cancelada por el usuario.
FAILED Se ha terminado debido a un error irrecuperable.

Métodos

cancel

Cancela una tarea por lotes de un proyecto y una ubicación concretos.

create

Crea una tarea por lotes en un proyecto y una ubicación determinados.

delete

Elimina una tarea por lotes de un proyecto y una ubicación determinados.

get

Obtiene una tarea por lotes de un proyecto y una ubicación determinados.

list

Muestra todas las tareas por lotes de un proyecto determinado en una ubicación concreta.