REST Resource: transferJobs

Recurso: TransferJob

Este recurso representa la configuración de un trabajo de transferencia que se ejecuta periódicamente.

Representación JSON
{
  "name": string,
  "description": string,
  "projectId": string,
  "transferSpec": {
    object (TransferSpec)
  },
  "replicationSpec": {
    object (ReplicationSpec)
  },
  "notificationConfig": {
    object (NotificationConfig)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "schedule": {
    object (Schedule)
  },
  "eventStream": {
    object (EventStream)
  },
  "status": enum (Status),
  "creationTime": string,
  "lastModificationTime": string,
  "deletionTime": string,
  "latestOperationName": string
}
Campos
name

string

Es un nombre único (dentro del proyecto de transferencia) que se asigna cuando se crea el trabajo. Si este campo está vacío en una CreateTransferJobRequest, el servicio de transferencia de almacenamiento le asigna un nombre único. De lo contrario, el nombre especificado se usa como el nombre único de este trabajo.

Si un trabajo está usando el nombre especificado, la solicitud de creación fallará con un error ALREADY_EXISTS.

Este nombre debe comenzar con el prefijo "transferJobs/" y terminar con una letra o un número, y no debe tener más de 128 caracteres. En el caso de las transferencias que involucran PosixFilesystem, este nombre debe comenzar con transferJobs/OPI específicamente. Para todos los demás tipos de transferencia, este nombre no debe comenzar con transferJobs/OPI.

Ejemplo de no PosixFilesystem: "transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$"

Ejemplo de PosixFilesystem: "transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$"

Las aplicaciones no deben depender de la aplicación forzosa de los requisitos de nombres que involucran la OPI.

Los nombres de trabajo no válidos fallan con un error INVALID_ARGUMENT.

description

string

Es una descripción que proporciona el usuario para el trabajo. Su longitud máxima es de 1,024 bytes cuando está codificada en Unicode.

projectId

string

El ID del proyecto de Google Cloud al que pertenece la tarea

transferSpec

object (TransferSpec)

Especificación de transferencia.

replicationSpec

object (ReplicationSpec)

Especificación de replicación.

notificationConfig

object (NotificationConfig)

Configuración de notificaciones.

loggingConfig

object (LoggingConfig)

Configuración de registros.

schedule

object (Schedule)

Especifica el programa para el trabajo de transferencia. Este paso es opcional, Cuando el campo no está configurado, el trabajo nunca ejecuta una transferencia, a menos que invoques transferJobs.run o lo actualices para que tenga un programa no vacío.

eventStream

object (EventStream)

Especifica el flujo de eventos para el trabajo de transferencia de transferencias basadas en eventos. Cuando se especifica EventStream, se ignoran los campos de programación.

status

enum (Status)

Estado del trabajo. Este valor DEBE especificarse para CreateTransferJobRequests.

Nota: El efecto del nuevo estado de la tarea se produce durante una ejecución posterior. Por ejemplo, si cambias el estado del trabajo de ENABLED a DISABLED y se está ejecutando una operación generada por la transferencia, el cambio de estado no afectará la operación actual.

creationTime

string (Timestamp format)

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

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".

lastModificationTime

string (Timestamp format)

Solo salida. Es la hora en la que se modificó por última vez el trabajo de transferencia.

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".

deletionTime

string (Timestamp format)

Solo salida. Es la hora en que se borró el trabajo de transferencia.

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".

latestOperationName

string

Es el nombre de la TransferOperation iniciada más recientemente de este JobConfig. Está presente si se creó una TransferOperation para esta JobConfig.

ReplicationSpec

Especifica la configuración de un trabajo de replicación entre buckets. La replicación entre buckets copia objetos nuevos o actualizados de un bucket de Cloud Storage de origen a uno de destino. Una nueva tarea de replicación entre buckets no copia los objetos existentes en el bucket de origen.

Representación JSON
{
  "objectConditions": {
    object (ObjectConditions)
  },
  "transferOptions": {
    object (TransferOptions)
  },

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

  // Union field data_sink can be only one of the following:
  "gcsDataSink": {
    object (GcsData)
  }
  // End of list of possible types for union field data_sink.
}
Campos
objectConditions

object (ObjectConditions)

Condiciones de objetos que determinan qué objetos se transfieren. Para los trabajos de replicación, solo se admiten includePrefixes y excludePrefixes.

transferOptions

object (TransferOptions)

Especifica las opciones de metadatos que se aplicarán durante la replicación. No se admiten las opciones de eliminación. Si se especifica una opción de eliminación, la solicitud fallará con un error INVALID_ARGUMENT.

Campo de unión data_source. Es la fuente de datos que se replicará. data_source puede ser solo uno de los siguientes:
gcsDataSource

object (GcsData)

Es el bucket de Cloud Storage desde el que se replicarán los objetos.

Campo de unión data_sink. Es el destino de los objetos replicados. data_sink puede ser solo uno de los siguientes:
gcsDataSink

object (GcsData)

El bucket de Cloud Storage al que se replicarán los objetos.

Programar

Las transferencias se pueden programar para que se repitan o se ejecuten solo una vez.

Representación JSON
{
  "scheduleStartDate": {
    object (Date)
  },
  "scheduleEndDate": {
    object (Date)
  },
  "startTimeOfDay": {
    object (TimeOfDay)
  },
  "endTimeOfDay": {
    object (TimeOfDay)
  },
  "repeatInterval": string
}
Campos
scheduleStartDate

object (Date)

Obligatorio. Es la fecha de inicio de una transferencia. Los límites de fecha se determinan en función de la hora UTC. Si scheduleStartDate y startTimeOfDay son anteriores a la hora de creación del trabajo, la transferencia comenzará al día siguiente de que programes la solicitud de transferencia.

Nota: Cuando se inician trabajos a la medianoche (UTC) o cerca de esta, es posible que se inicien más tarde de lo esperado. Por ejemplo, si envías una solicitud saliente el 1 de junio un milisegundo antes de la medianoche (UTC) y el servidor del Servicio de transferencia de almacenamiento recibe la solicitud el 2 de junio, se crea un TransferJob con scheduleStartDate establecido en el 2 de junio y un startTimeOfDay establecido en la medianoche (UTC). El primer TransferOperation programado se realizará el 3 de junio a la medianoche (UTC).

scheduleEndDate

object (Date)

Es el último día en que se ejecuta una transferencia. Los límites de fecha se determinan en función de la hora UTC. Una tarea se ejecuta una vez cada 24 horas según los siguientes lineamientos:

  • Si scheduleEndDate y scheduleStartDate son iguales y en el futuro en relación con UTC, la transferencia se ejecuta solo una vez.
  • Si scheduleEndDate es posterior a scheduleStartDate y scheduleEndDate es una hora futura en relación con UTC, la tarea se ejecuta todos los días a partir de startTimeOfDay hasta scheduleEndDate.
startTimeOfDay

object (TimeOfDay)

La hora en UTC a la que se programó la ejecución de un trabajo de transferencia. Es posible que las transferencias comiencen más tarde.

Si no se especifica startTimeOfDay, sucede lo siguiente:

  • Las transferencias únicas se ejecutan de inmediato.
  • Las transferencias recurrentes se ejecutan de inmediato y todos los días a la medianoche (UTC) a través de scheduleEndDate.

Si se especifica startTimeOfDay:

  • Las transferencias únicas se ejecutan a la hora especificada.
  • Las transferencias recurrentes se ejecutan a la hora especificada todos los días a través de scheduleEndDate.
endTimeOfDay

object (TimeOfDay)

La hora en UTC en la que no se programan más operaciones de transferencia. Junto con scheduleEndDate, endTimeOfDay especifica la fecha y hora de finalización para iniciar nuevas operaciones de transferencia. Este campo debe ser mayor o igual que la marca de tiempo correspondiente a la combinación de scheduleStartDate y startTimeOfDay, y está sujeto a lo siguiente:

  • Si no se establece endTimeOfDay y se establece scheduleEndDate, se usa un valor predeterminado de 23:59:59 para endTimeOfDay.

  • Si se establece endTimeOfDay y no se establece scheduleEndDate, se muestra INVALID_ARGUMENT.

repeatInterval

string (Duration format)

Es el intervalo entre el inicio de cada TransferOperation programada. Si no se especifica, el valor predeterminado es de 24 horas. Este valor no puede ser inferior a 1 hora.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

Fecha

Representa una fecha de calendario completa o parcial, como un cumpleaños. La hora del día y la zona horaria se especifican en otro lugar o son insignificantes. La fecha está relacionada con el calendario gregoriano. Puede representar una de las siguientes opciones:

  • Una fecha completa con valores para el año, mes y día que no sean cero.
  • Un mes y un día, con cero año (por ejemplo, un aniversario).
  • Un año por sí solo, con un mes cero y un día cero.
  • Es un año y un mes, con un día cero (por ejemplo, la fecha de vencimiento de una tarjeta de crédito).

Tipos relacionados:

Representación JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Año de la fecha. Debe ser entre 1 y 9,999, o bien 0 para especificar una fecha sin año.

month

integer

Mes del año. Debe ser del 1 al 12 o 0 para especificar un año sin un mes ni un día.

day

integer

Día del mes. Debe ser entre 1 y 31 y ser válido para el año y el mes o bien 0 para especificar un año solo o un año y un mes en los que el día no sea significativo.

TimeOfDay

Representa una hora del día. La fecha y la zona horaria no son significativas o se especifican en otro lugar. Una API puede optar por permitir segundos bisiestos. Los tipos relacionados son google.type.Date y google.protobuf.Timestamp.

Representación JSON
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Campos
hours

integer

Horas de un día en formato de 24 horas. Debe ser mayor o igual que 0 y, por lo general, debe ser menor o igual que 23. Una API puede permitir el valor “24:00:00” para casos como el horario de cierre de empresas.

minutes

integer

Minutos de una hora. Debe ser mayor o igual que 0 y menor o igual que 59.

seconds

integer

Son los segundos de un minuto. Debe ser mayor o igual que 0 y, por lo general, debe ser menor o igual que 59. Una API puede permitir el valor 60 si permite segundos bisiestos.

nanos

integer

Fracciones de segundos, en nanosegundos. Debe ser mayor o igual que 0 y menor o igual que 999,999,999.

EventStream

Especifica las opciones de transferencia centradas en eventos. Las transferencias controladas por eventos escuchan un flujo de eventos para transferir archivos actualizados.

Representación JSON
{
  "name": string,
  "eventStreamStartTime": string,
  "eventStreamExpirationTime": string
}
Campos
name

string

Obligatorio. Especifica un nombre único del recurso, como el ARN de AWS SQS en el formato "arn:aws:sqs:region:account_id:queue_name" o el nombre del recurso de suscripción de Pub/Sub en el formato "projects/{project}/subscriptions/{sub}".

eventStreamStartTime

string (Timestamp format)

Especifica la fecha y la hora en que el Servicio de transferencia de almacenamiento comienza a escuchar eventos de este flujo. Si no se especifica una hora de inicio o si esta ya pasó, el servicio de transferencia de almacenamiento comenzará a escuchar de inmediato.

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".

eventStreamExpirationTime

string (Timestamp format)

Especifica la fecha y la hora en la que el Servicio de transferencia de almacenamiento deja de detectar eventos de este flujo. Después de este tiempo, se completarán las transferencias en curso, pero no se iniciarán transferencias nuevas.

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".

Estado

Es el estado del trabajo de transferencia.

Enums
STATUS_UNSPECIFIED Cero es un valor no permitido.
ENABLED Las transferencias nuevas se realizan según el programa.
DISABLED No se programan transferencias nuevas.
DELETED Este es un estado de eliminación no definitiva. Una vez que se establece un trabajo de transferencia en este estado, el trabajo y todas las ejecuciones de transferencia están sujetas a la recolección de elementos no utilizados. Las tareas de transferencia se vuelven aptas para la recolección de elementos no utilizados 30 días después de que su estado se establece en DELETED.

Métodos

create

Crea un trabajo de transferencia que se ejecuta de forma periódica.

delete

Borra un trabajo de transferencia.

get

Obtiene un trabajo de transferencia.

list

Muestra una lista de los trabajos de transferencia.

patch

Actualiza un trabajo de transferencia.

run

Inicia una operación nueva para el trabajo de transferencia especificado.