REST Resource: projects.locations.jobs

Recurso: Job

La 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. Es el nombre del 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. Es una descripción que proporciona el usuario para la tarea.

Longitud máxima: 1,024 bytes cuando está codificada en Unicode.

loggingConfig

object (LoggingConfig)

Opcional. Configuración de registros.

createTime

string (Timestamp format)

Solo salida. Es la hora en la que se creó el trabajo.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas 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 salida. Es la hora en la que se programó el trabajo.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas 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 salida. Es la hora en la que se completó el trabajo.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas 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 salida. Información sobre el progreso del trabajo.

errorSummaries[]

object (ErrorSummary)

Solo salida. Resume los errores encontrados con las entradas de registro de errores de muestra.

state

enum (State)

Solo salida. Estado del trabajo.

Campo de unión source. Especifica los objetos que se transformarán. source puede ser solo uno de los siguientes:
bucketList

object (BucketList)

Especifica una lista de buckets y sus objetos que se transformarán.

Campo de unión transformation. Operación que se realizará en los objetos. transformation puede ser solo uno de los siguientes:
putObjectHold

object (PutObjectHold)

Cambia el estado de retención del objeto.

deleteObject

object (DeleteObject)

Borra objetos.

putMetadata

object (PutMetadata)

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

rewriteObject

object (RewriteObject)

Vuelve a escribir el objeto y actualiza los metadatos, como la clave de KMS.

BucketList

Describe la lista de buckets y sus objetos que se transformarán.

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

object (Bucket)

Obligatorio. Es una lista de buckets y sus objetos que se transformarán. Solo puedes especificar un bucket por trabajo. Si se especifican varios buckets, se produce un error.

Bucket

Describe la configuración de un solo bucket y sus objetos que se transformarán.

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. Es el nombre del bucket de los objetos que se transformarán.

Campo de unión object_configuration. Especifica los objetos que se transformarán. object_configuration puede ser solo uno de los siguientes:
prefixList

object (PrefixList)

Especifica 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 transformarán.

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

string

Opcional. Especifica uno o más prefijos de objetos. Por ejemplo:

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

  • Para hacer coincidir varios objetos, usa prefijos separados por comas, prefix1,prefix2.

  • Para que coincida con todos los objetos, usa un prefijo vacío,''

Manifiesto

Describe la lista de objetos que se transformarán.

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 deseas procesar. Cada fila del manifiesto debe incluir el bucket y el name del objeto. De manera opcional, puedes especificar el generation del objeto. Si no especificas el generation, se usa 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 debe especificar solo los objetos dentro del bucket proporcionado al trabajo. Se ignoran las filas que hacen referencia a objetos en otros buckets.

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 del objeto. Cuando se establece una retención temporal del objeto, este no se puede borrar ni reemplazar.

eventBasedHold

enum (HoldStatus)

Obligatorio. Actualiza el estado de las retenciones basadas en eventos del objeto. Cuando se establece una retención basada en eventos del objeto, este no se puede borrar ni reemplazar. Restablece el tiempo del objeto en el bucket para los fines del período de retención.

HoldStatus

Describe el estado de la retención.

Enums
HOLD_STATUS_UNSPECIFIED Valor predeterminado No se cambia el estado de retención del objeto.
SET Coloca la retención.
UNSET Libera la retención.

DeleteObject

Describe las opciones para borrar un objeto.

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

boolean

Obligatorio. Controla el comportamiento de eliminación cuando el control de versiones está habilitado para el bucket del objeto. Si es verdadero, se borrarán de forma permanente los objetos activos y no actuales. De lo contrario, los objetos activos en los buckets con control de versiones dejarán de ser actuales y se omitirán los objetos que ya no lo eran. Este parámetro de configuración no tiene ningún impacto en la función de eliminación temporal. Si está habilitada, todos los objetos que borre este servicio se pueden restablecer durante el período de retención de la eliminación no definitiva. Si está habilitada y el manifiesto no especifica la generación de un objeto, se realiza una llamada a GetObjectMetadata para determinar la generación de objetos en vivo.

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 agrega o establece pares clave-valor de metadatos personalizados individuales. Se borrarán los valores de las claves especificadas con valores vacíos. Las claves de metadatos personalizados existentes 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 Content-Disposition de los objetos. Se ignoran los valores no establecidos en la solicitud. Para borrar los metadatos, establece un valor vacío. Para obtener más información, consulta Content-Disposition.

contentEncoding

string

Opcional. Actualiza los metadatos fijos Content-Encoding de los objetos. Se ignoran los valores no establecidos en la solicitud. Para borrar los metadatos, establece un valor vacío. Para obtener más información, consulta Codificación de contenido.

contentLanguage

string

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

contentType

string

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

cacheControl

string

Opcional. Actualiza los metadatos fijos Cache-Control de los objetos. Se ignoran los valores no establecidos en la solicitud. Para borrar los metadatos, establece 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 tiempo personalizado fijo del objeto. Se ignoran los valores no establecidos en la solicitud. Para borrar los metadatos, establece un valor vacío. Para obtener más información, consulta Custom-Time.

RewriteObject

Describe las opciones para la reescritura de objetos.

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

string

Obligatorio. Es el nombre de recurso de la clave de Cloud KMS que se usa para encriptar el objeto. La clave de Cloud KMS debe estar ubicada en la misma ubicación que el objeto. Para obtener más información, consulta Cómo 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 establece con 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 generan registros.

LoggableAction

Tipos de acciones registrables.

Enums
LOGGABLE_ACTION_UNSPECIFIED Es un valor ilegal para evitar permitir un valor predeterminado.
TRANSFORM La acción de transformación correspondiente en este trabajo.

LoggableActionState

Filtro de estados de acciones registrables.

Enums
LOGGABLE_ACTION_STATE_UNSPECIFIED Es un valor ilegal para evitar permitir un valor predeterminado.
SUCCEEDED Se completó correctamente LoggableAction. Las acciones de SUCCEEDED se registran como [INFO][google.logging.type.LogSeverity.INFO].
FAILED LoggableAction finalizó en un estado de 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 salida. Cantidad de objetos en la lista.

succeededObjectCount

string (int64 format)

Solo salida. Cantidad de objetos completados.

failedObjectCount

string (int64 format)

Solo salida. Cantidad de objetos que fallaron

ErrorSummary

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

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

enum (Code)

Obligatorio. Es el código de error canónico.

errorCount

string (int64 format)

Obligatorio. Cantidad de errores encontrados por errorCode.

errorLogEntries[]

object (ErrorLogEntry)

Obligatorio. Ejemplos de registros de errores

Código

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

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

Enums
OK

Se muestra cuando la operación se completa correctamente.

Asignación HTTP: 200 OK

CANCELLED

La operación se canceló (por lo general, la cancela el emisor).

Asignación HTTP: 499 Solicitudes cerradas por el cliente

UNKNOWN

Error desconocido Por ejemplo, este error puede mostrarse cuando un valor Status recibido de otro espacio de direcciones pertenece a un espacio de error desconocido en este espacio de direcciones. Además, los errores generados por API que no muestran suficiente información sobre el error pueden convertirse en este error.

Asignación HTTP: Error interno del servidor 500

INVALID_ARGUMENT

El cliente especificó un argumento no válido. Ten en cuenta que esto difiere de FAILED_PRECONDITION. INVALID_ARGUMENT indica los argumentos que son problemáticos sin importar el estado del sistema (por ejemplo, un nombre de archivo con formato incorrecto).

Asignación HTTP: 400 Solicitud incorrecta

DEADLINE_EXCEEDED

El plazo venció antes de que la operación se pudiera completar. En el caso de las operaciones que cambian el estado del sistema, es probable que se muestre este error incluso si la operación se completó correctamente. Por ejemplo, una respuesta correcta desde un servidor podría haberse retrasado lo suficiente como para que el plazo venciera.

Asignación HTTP: Tiempo de espera de la puerta de enlace 504

NOT_FOUND

No se encontró alguna entidad solicitada (por ejemplo, un archivo o un directorio).

Nota para los desarrolladores de servidores: si se niega una solicitud a una clase completa de usuarios, como el lanzamiento gradual de funciones o una lista de permisos no documentada, se puede usar NOT_FOUND. Si se niega una solicitud para algunos usuarios dentro 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 un cliente intentó crear (por ejemplo, un archivo o directorio) ya existe.

Asignación HTTP: 409 Conflicto

PERMISSION_DENIED

El emisor de la llamada no tiene permiso para ejecutar la operación especificada. No se debe usar PERMISSION_DENIED para los rechazos causados por el agotamiento de algún recurso (en su lugar, usa RESOURCE_EXHAUSTED para esos errores). No se debe usar PERMISSION_DENIED si no se puede identificar al emisor (en su lugar, usa UNAUTHENTICATED para esos errores). Este código de error no sugiere que la solicitud sea válida o que la entidad solicitada exista o satisfaga otras condiciones previas.

Asignación HTTP: 403 Prohibido

UNAUTHENTICATED

La solicitud no tiene credenciales de autenticación válidas para la operación.

Asignación HTTP: 401 No autorizado

RESOURCE_EXHAUSTED

Algunos recursos se agotaron, tal vez una cuota por usuario, o tal vez se agotó el espacio de todo el sistema de archivos.

Asignación HTTP: 429 Demasiadas solicitudes

FAILED_PRECONDITION

La operación se rechazó debido a que el sistema no se encuentra en un estado necesario para la ejecución de la operación. Por ejemplo, el directorio que se borrará no está vacío, se aplicará una operación rmdir a un directorio que no sea de directorio, etcétera.

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

  • Usa UNAVAILABLE si el cliente puede reintentar solo la llamada con errores.
  • Usa ABORTED si el cliente debe reintentar en un nivel superior. Por ejemplo, cuando falla una prueba y un conjunto especificado por el cliente, lo que indica que el cliente debe reiniciar una secuencia de lectura, modificación y escritura.
  • Usa FAILED_PRECONDITION si el cliente no debe volver a intentar hasta que el estado del sistema se haya corregido de forma explícita. Por ejemplo, si un "rmdir" falla porque el directorio no está vacío, se debe mostrar FAILED_PRECONDITION, ya que el cliente no debe reintentar, a menos que se borren los archivos del directorio.

Asignación HTTP: 400 Solicitud incorrecta

ABORTED

La operación se anuló, generalmente debido a un problema de simultaneidad, como una falla en la verificación del secuenciador o la anulación de la transacción.

Consulta los lineamientos anteriores para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE.

Asignación HTTP: 409 Conflicto

OUT_OF_RANGE

La operación se intentó fuera 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 se puede solucionar si cambia el estado del sistema. 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 rango [0,2^32-1], pero generará OUT_OF_RANGE si se le pide leer. desde un desplazamiento después del tamaño de archivo actual

Hay una leve superposición entre FAILED_PRECONDITION y OUT_OF_RANGE. Recomendamos usar OUT_OF_RANGE (el error más específico) cuando se aplique para que los emisores que iteran a través de un espacio puedan buscar con facilidad un error OUT_OF_RANGE a fin de detectar cuando finalicen.

Asignación HTTP: 400 Solicitud incorrecta

UNIMPLEMENTED

La operación no se implementó, no se admite o no está habilitada en este servicio.

Asignación HTTP: 501 No implementado

INTERNAL

Errores internos. Esto significa que algunos invariantes que espera el sistema subyacente están rotos. Este código de error está reservado para errores graves.

Asignación HTTP: Error interno del servidor 500

UNAVAILABLE

El servicio no está disponible actualmente. Lo más probable es que esta sea una condición transitoria y que se pueda corregir si vuelves a intentar una retirada. Ten en cuenta que no siempre es seguro reintentar operaciones no idempotentes.

Consulta los lineamientos anteriores para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE.

Asignación HTTP: 503 Servicio no disponible

DATA_LOSS

Daño o pérdida de datos no recuperable.

Asignación HTTP: Error interno del servidor 500

ErrorLogEntry

Es una entrada que describe un error que se produjo.

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

string

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

errorDetails[]

string

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

Estado

Describe el estado de un trabajo.

Enums
STATE_UNSPECIFIED Valor predeterminado Este valor no se usa.
RUNNING En curso.
SUCCEEDED Se completó correctamente.
CANCELED Cancelado por el usuario.
FAILED Se cerró debido a una falla irrecuperable.

Métodos

cancel

Cancela un trabajo por lotes en un proyecto determinado para una ubicación determinada.

create

Crea un trabajo por lotes en un proyecto determinado para una ubicación determinada.

delete

Borra un trabajo por lotes en un proyecto determinado para una ubicación determinada.

get

Obtiene un trabajo por lotes en un proyecto determinado para una ubicación determinada.

list

Muestra una lista de todos los trabajos por lotes de un proyecto determinado para una ubicación determinada.