REST Resource: transferJobs

Recurso: TransferJob

Esse recurso representa a configuração de um job de transferência executado periodicamente.

Representação 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

Um nome exclusivo (no projeto de transferência) atribuído quando o job é criado. Se esse campo estiver vazio em uma CreateTransferJobRequest, o serviço de transferência de armazenamento vai atribuir um nome exclusivo. Caso contrário, o nome especificado será usado como o nome exclusivo para esse job.

Se o nome especificado estiver em uso por um job, a solicitação de criação vai falhar com um erro ALREADY_EXISTS.

O nome precisa começar com o prefixo "transferJobs/" e terminar com uma letra ou um número, e não pode ter mais de 128 caracteres. Para transferências que envolvem o PosixFilesystem, esse nome precisa começar com transferJobs/OPI. Para todos os outros tipos de transferência, esse nome não pode começar com transferJobs/OPI.

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

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

Os aplicativos não podem depender da aplicação de requisitos de nomenclatura que envolvam OPI.

Os nomes de jobs inválidos apresentam falha com um erro INVALID_ARGUMENT.

description

string

Uma descrição fornecida pelo usuário para o job. O comprimento máximo é de 1.024 bytes quando codificado em Unicode.

projectId

string

O ID do projeto do Google Cloud proprietário do job.

transferSpec

object (TransferSpec)

Especificação de transferência.

replicationSpec

object (ReplicationSpec)

Especificação de replicação.

notificationConfig

object (NotificationConfig)

Configuração de notificação.

loggingConfig

object (LoggingConfig)

Configuração da geração de registros.

schedule

object (Schedule)

Especifica a programação do job de transferência. Esse campo é opcional. Quando o campo não está definido, o job nunca executa uma transferência, a menos que você invoque transferJobs.run ou atualize o job para ter uma programação não vazia.

eventStream

object (EventStream)

Especifica o fluxo de eventos para o job de transferência de transferências orientadas por eventos. Quando o EventStream é especificado, os campos de programação são ignorados.

status

enum (Status)

Status do job. Esse valor PRECISA ser especificado para CreateTransferJobRequests.

Observação:o efeito do novo status do job ocorre durante uma execução subsequente. Por exemplo, se você mudar o status do job de ENABLED para DISABLED e uma operação gerada pela transferência estiver em execução, a mudança de status não afetará a operação atual.

creationTime

string (Timestamp format)

Apenas saída. A hora em que o job de transferência foi criado.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

lastModificationTime

string (Timestamp format)

Apenas saída. A hora em que o job de transferência foi modificado pela última vez.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

deletionTime

string (Timestamp format)

Apenas saída. O horário em que o job de transferência foi excluído.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

latestOperationName

string

O nome da TransferOperation iniciada mais recentemente deste JobConfig. Presente se uma TransferOperation foi criada para essa JobConfig.

ReplicationSpec

Especifica a configuração de um job de replicação entre buckets. A replicação entre buckets copia objetos novos ou atualizados de um bucket de origem do Cloud Storage para um bucket de destino do Cloud Storage. Os objetos existentes no bucket de origem não são copiados por um novo job de replicação entre buckets.

Representação 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)

Condições de objeto que determinam quais objetos são transferidos. Para jobs de replicação, apenas includePrefixes e excludePrefixes são aceitos.

transferOptions

object (TransferOptions)

Especifica as opções de metadados a serem aplicadas durante a replicação. Não é possível excluir opções. Se uma opção de exclusão for especificada, a solicitação falhará com um erro INVALID_ARGUMENT.

Campo de união data_source. A fonte de dados a ser replicada. data_source pode ser apenas de um dos tipos a seguir:
gcsDataSource

object (GcsData)

O bucket do Cloud Storage para replicar objetos.

Campo de união data_sink. O destino dos objetos replicados. data_sink pode ser apenas de um dos tipos a seguir:
gcsDataSink

object (GcsData)

O bucket do Cloud Storage para replicar objetos.

Programar

As transferências podem ser programadas para serem recorrentes ou executadas apenas uma vez.

Representação JSON
{
  "scheduleStartDate": {
    object (Date)
  },
  "scheduleEndDate": {
    object (Date)
  },
  "startTimeOfDay": {
    object (TimeOfDay)
  },
  "endTimeOfDay": {
    object (TimeOfDay)
  },
  "repeatInterval": string
}
Campos
scheduleStartDate

object (Date)

Obrigatório. A data de início de uma transferência. Os limites de data são determinados em relação ao horário UTC. Se scheduleStartDate e startTimeOfDay forem anteriores à data de criação do job, a transferência vai começar no dia seguinte ao agendamento do pedido.

Observação:ao iniciar jobs à meia-noite UTC ou perto dela, é possível que um job seja iniciado mais tarde do que o esperado. Por exemplo, se você enviar uma solicitação de saída em 1º de junho um milissegundo antes da meia-noite no horário UTC e o servidor do serviço de transferência do Storage receber a solicitação em 2 de junho, ele vai criar um TransferJob com scheduleStartDate definido como 2 de junho e um startTimeOfDay definido como meia-noite no horário UTC. A primeira TransferOperation programada vai acontecer no dia 3 de junho à meia-noite UTC.

scheduleEndDate

object (Date)

O último dia em que uma transferência é executada. Os limites de data são determinados em relação ao horário UTC. Um job é executado uma vez a cada 24 horas de acordo com as seguintes diretrizes:

  • Se scheduleEndDate e scheduleStartDate forem iguais e no futuro em relação ao UTC, a transferência será executada apenas uma vez.
  • Se scheduleEndDate for posterior a scheduleStartDate e scheduleEndDate for futuro em relação ao UTC, o job será executado todos os dias de startTimeOfDay a scheduleEndDate.
startTimeOfDay

object (TimeOfDay)

O horário em UTC em que um job de transferência está programado para ser executado. As transferências podem começar depois desse horário.

Se startTimeOfDay não for especificado:

  • As transferências únicas são executadas imediatamente.
  • As transferências recorrentes são executadas imediatamente e todos os dias à meia-noite (UTC) até scheduleEndDate.

Se startTimeOfDay for especificado:

  • As transferências únicas são executadas no horário especificado.
  • As transferências recorrentes são executadas no horário especificado todos os dias até scheduleEndDate.
endTimeOfDay

object (TimeOfDay)

O horário em UTC em que nenhuma outra operação de transferência está programada. Em conjunto com scheduleEndDate, endTimeOfDay especifica a data e a hora de término para iniciar novas operações de transferência. Esse campo precisa ser maior ou igual ao carimbo de data/hora correspondente à combinação de scheduleStartDate e startTimeOfDay e está sujeito ao seguinte:

  • Se endTimeOfDay não estiver definido e scheduleEndDate estiver definido, um valor padrão de 23:59:59 será usado para endTimeOfDay.

  • Se endTimeOfDay estiver definido e scheduleEndDate não estiver definido, INVALID_ARGUMENT será retornado.

repeatInterval

string (Duration format)

Intervalo entre o início de cada TransferOperation programada. Se não for especificado, o valor padrão será 24 horas. Esse valor não pode ser menor que uma hora.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

Data

Representa uma data inteira ou parcial do calendário, como um aniversário. A hora do dia e o fuso horário são especificados em outro lugar ou são insignificantes. A data é referente ao calendário gregoriano. Isso pode representar uma das seguintes opções:

  • uma data completa, com valores de ano, mês e dia diferentes de zero;
  • um mês e dia, com um ano zero (por exemplo, uma data comemorativa);
  • um ano sozinho, com um mês zero e um dia zero;
  • um ano e mês, com um dia zero (por exemplo, uma data de validade de cartão de crédito).

Tipos relacionados:

Representação JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano.

month

integer

Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia.

day

integer

Dia do mês. Precisa ser de 1 a 31 e válido para o ano e o mês, ou 0 para especificar um ano sozinho ou um ano e mês em que o dia não é significativo.

TimeOfDay

Representa um horário do dia. A data e o fuso horário não são relevantes ou são especificados em outro lugar. Uma API pode permitir segundos bissextos. Os tipos relacionados são google.type.Date e google.protobuf.Timestamp.

Representação JSON
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Campos
hours

integer

Horas de um dia no formato de 24 horas. Precisa ser maior ou igual a 0 e normalmente precisa ser menor ou igual a 23. Uma API pode permitir o valor "24:00:00" para o horário de fechamento da empresa, por exemplo.

minutes

integer

Minutos de uma hora. Precisa ser maior ou igual a 0 e menor ou igual a 59.

seconds

integer

Segundos de um minuto. Precisa ser maior ou igual a 0 e normalmente precisa ser menor ou igual a 59. Uma API pode permitir o valor 60 se permitir segundos bissextos.

nanos

integer

Frações de segundos em nanossegundos. Precisa ser maior ou igual a 0 e menor ou igual a 999.999.999.

EventStream

Especifica as opções de transferência baseadas em eventos. As transferências orientadas por eventos detectam um fluxo de eventos para transferir arquivos atualizados.

Representação JSON
{
  "name": string,
  "eventStreamStartTime": string,
  "eventStreamExpirationTime": string
}
Campos
name

string

Obrigatório. Especifica um nome exclusivo do recurso, como o ARN do AWS SQS no formato 'arn:aws:sqs:region:account_id:queue_name' ou o nome do recurso de assinatura do Pub/Sub no formato 'projects/{project}/subscriptions/{sub}'.

eventStreamStartTime

string (Timestamp format)

Especifica a data e a hora em que o Serviço de transferência do Storage começa a detectar eventos desse stream. Se nenhum horário de início for especificado ou se ele estiver no passado, o serviço de transferência de armazenamento vai começar a ouvir imediatamente.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

eventStreamExpirationTime

string (Timestamp format)

Especifica a data e a hora em que o Serviço de transferência do Storage para de detectar eventos desse fluxo. Após esse período, as transferências em andamento serão concluídas, mas nenhuma nova transferência será iniciada.

Usa o RFC 3339, em que a saída gerada é sempre normalizada em Z e usa dígitos fracionários 0, 3, 6 ou 9. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Status

O status do job de transferência.

Enums
STATUS_UNSPECIFIED Zero é um valor ilegal.
ENABLED As novas transferências são realizadas com base na programação.
DISABLED As novas transferências não são programadas.
DELETED Esse é um estado de exclusão reversível. Depois que um job de transferência é definido para esse estado, ele e todas as execuções de transferência estão sujeitos à coleta de lixo. Os jobs de transferência se tornam qualificados para a coleta de lixo 30 dias após o status ser definido como DELETED.

Métodos

create

Cria um job de transferência que é executado periodicamente.

delete

Exclui um job de transferência.

get

Recebe um job de transferência.

list

Lista jobs de transferência.

patch

Atualiza um job de transferência.

run

Inicia uma nova operação para o job de transferência especificado.