REST Resource: transferJobs

Risorsa: TransferJob

Questa risorsa rappresenta la configurazione di un job di trasferimento che viene eseguito periodicamente.

Rappresentazione 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
}
Campi
name

string

Un nome univoco (all'interno del progetto di trasferimento) assegnato al momento della creazione del job. Se questo campo è vuoto in una richiesta CreateTransferJobRequest, Storage Transfer Service assegna un nome univoco. In caso contrario, il nome specificato viene utilizzato come nome univoco per questo job.

Se il nome specificato è in uso da un job, la richiesta di creazione non va a buon fine con un errore ALREADY_EXISTS.

Questo nome deve iniziare con il prefisso "transferJobs/" e terminare con una lettera o un numero e non deve contenere più di 128 caratteri. Per i trasferimenti che coinvolgono PosixFilesystem, questo nome deve iniziare specificamente con transferJobs/OPI. Per tutti gli altri tipi di trasferimento, questo nome non deve iniziare con transferJobs/OPI.

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

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

Le applicazioni non devono fare affidamento sull'applicazione dei requisiti di denominazione che coinvolgono OPI.

I nomi dei job non validi non vengono eseguiti e viene visualizzato un errore INVALID_ARGUMENT.

description

string

Una descrizione fornita dall'utente per il job. La lunghezza massima è di 1024 byte se codificata in Unicode.

projectId

string

L'ID del progetto Google Cloud proprietario del job.

transferSpec

object (TransferSpec)

Specifiche di trasferimento.

replicationSpec

object (ReplicationSpec)

Specifica di replica.

notificationConfig

object (NotificationConfig)

Configurazione delle notifiche.

loggingConfig

object (LoggingConfig)

Configurazione del logging.

schedule

object (Schedule)

Specifica la pianificazione del job di trasferimento. Questo è un campo facoltativo. Se il campo non è impostato, il job non esegue mai un trasferimento, a meno che non chiami transferJobs.run o aggiorni il job in modo che abbia una pianificazione non vuota.

eventStream

object (EventStream)

Specifica lo stream di eventi per il job di trasferimento per i trasferimenti basati su eventi. Quando viene specificato EventStream, i campi della pianificazione vengono ignorati.

status

enum (Status)

Stato del job. Questo valore DEVE essere specificato per CreateTransferJobRequests.

Nota:l'effetto del nuovo stato del job si verifica durante un'esecuzione successiva del job. Ad esempio, se modifichi lo stato del job da ENABLED a DISABLED e un'operazione generata dal trasferimento è in esecuzione, la modifica dello stato non influisce sull'operazione corrente.

creationTime

string (Timestamp format)

Solo output. L'ora in cui è stato creato il job di trasferimento.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

lastModificationTime

string (Timestamp format)

Solo output. L'ora dell'ultima modifica del job di trasferimento.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

deletionTime

string (Timestamp format)

Solo output. L'ora in cui è stato eliminato il job di trasferimento.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

latestOperationName

string

Il nome dell'operazione TransferOperation di questo JobConfig avviata più di recente. Presente se è stata creata una TransferOperation per questa JobConfig.

ReplicationSpec

Specifica la configurazione di un job di replica tra bucket. La replica tra bucket copia gli oggetti nuovi o aggiornati da un bucket Cloud Storage di origine a un bucket Cloud Storage di destinazione. Gli oggetti esistenti nel bucket di origine non vengono copiati da un nuovo job di replica tra bucket.

Rappresentazione 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.
}
Campi
objectConditions

object (ObjectConditions)

Condizioni degli oggetti che determinano quali oggetti vengono trasferiti. Per i job di replica, sono supportati solo includePrefixes e excludePrefixes.

transferOptions

object (TransferOptions)

Specifica le opzioni di metadati da applicare durante la replica. Le opzioni di eliminazione non sono supportate. Se viene specificata un'opzione di eliminazione, la richiesta non va a buon fine con un errore INVALID_ARGUMENT.

Campo unione data_source. L'origine dati da replicare. data_source può essere solo uno dei seguenti:
gcsDataSource

object (GcsData)

Il bucket Cloud Storage da cui replicare gli oggetti.

Campo unione data_sink. La destinazione per gli oggetti replicati. data_sink può essere solo uno dei seguenti:
gcsDataSink

object (GcsData)

Il bucket Cloud Storage a cui replicare gli oggetti.

Pianificazione

I trasferimenti possono essere pianificati per essere eseguiti periodicamente o una sola volta.

Rappresentazione JSON
{
  "scheduleStartDate": {
    object (Date)
  },
  "scheduleEndDate": {
    object (Date)
  },
  "startTimeOfDay": {
    object (TimeOfDay)
  },
  "endTimeOfDay": {
    object (TimeOfDay)
  },
  "repeatInterval": string
}
Campi
scheduleStartDate

object (Date)

Obbligatorio. La data di inizio di un trasferimento. I limiti di data vengono determinati in base all'ora UTC. Se scheduleStartDate e startTimeOfDay si riferiscono al passato rispetto all'ora di creazione del job, il trasferimento inizia il giorno successivo alla pianificazione della richiesta di trasferimento.

Nota: quando avvii i job a mezzanotte o poco prima, è possibile che un job inizi più tardi del previsto. Ad esempio, se invii una richiesta in uscita il 1° giugno un millisecondo prima della mezzanotte UTC e il server di Storage Transfer Service riceve la richiesta il 2 giugno, viene creato un TransferJob con scheduleStartDate impostato su 2 giugno e un startTimeOfDay impostato su mezzanotte UTC. Il primo TransferOperation pianificato avrà luogo il 3 giugno a mezzanotte UTC.

scheduleEndDate

object (Date)

L'ultimo giorno in cui viene eseguito un trasferimento. I limiti di data vengono determinati in base all'ora UTC. Un job viene eseguito una volta ogni 24 ore nel rispetto delle seguenti linee guida:

  • Se scheduleEndDate e scheduleStartDate sono uguali e in futuro rispetto a UTC, il trasferimento viene eseguito una sola volta.
  • Se scheduleEndDate è successivo a scheduleStartDate e scheduleEndDate è nel futuro rispetto a UTC, il job viene eseguito ogni giorno dalle ore startTimeOfDay alle ore scheduleEndDate.
startTimeOfDay

object (TimeOfDay)

L'ora in UTC in cui è pianificata l'esecuzione di un job di trasferimento. I trasferimenti potrebbero iniziare dopo questa ora.

Se startTimeOfDay non è specificato:

  • I trasferimenti una tantum vengono eseguiti immediatamente.
  • I trasferimenti ricorrenti vengono eseguiti immediatamente e ogni giorno a mezzanotte (UTC) fino al giorno scheduleEndDate.

Se è specificato startTimeOfDay:

  • I trasferimenti una tantum vengono eseguiti all'ora specificata.
  • I trasferimenti ricorrenti vengono eseguiti ogni giorno all'ora specificata fino al giorno scheduleEndDate.
endTimeOfDay

object (TimeOfDay)

L'ora in UTC in cui non sono programmate altre operazioni di trasferimento. Se combinato con scheduleEndDate, endTimeOfDay specifica la data e l'ora di fine per l'avvio di nuove operazioni di trasferimento. Questo campo deve essere maggiore o uguale al timestamp corrispondente alla combinazione di scheduleStartDate e startTimeOfDay ed è soggetto a quanto segue:

  • Se endTimeOfDay non è impostato e scheduleEndDate è impostato, per endTimeOfDay viene utilizzato un valore predefinito di 23:59:59.

  • Se endTimeOfDay è impostato e scheduleEndDate non è impostato, viene restituito INVALID_ARGUMENT.

repeatInterval

string (Duration format)

Intervallo tra l'inizio di ogni TransferOperation pianificata. Se non specificato, il valore predefinito è 24 ore. Questo valore non può essere inferiore a 1 ora.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

Data

Rappresenta una data di calendario intera o parziale, ad esempio un compleanno. L'ora del giorno e il fuso orario sono specificati altrove o non sono significativi. La data è relativa al calendario gregoriano. Può rappresentare uno dei seguenti elementi:

  • Una data completa, con valori di anno, mese e giorno diversi da zero.
  • Un mese e un giorno, con un anno pari a zero (ad esempio un anniversario).
  • Un anno da solo, con un mese e un giorno pari a zero.
  • Un anno e un mese, con un giorno pari a zero (ad esempio, la data di scadenza di una carta di credito).

Tipi correlati:

Rappresentazione JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campi
year

integer

Anno della data. Deve essere compreso tra 1 e 9999 oppure 0 per specificare una data senza anno.

month

integer

Mese di un anno. Deve essere compreso tra 1 e 12 oppure 0 per specificare un anno senza mese e giorno.

day

integer

Giorno di un mese. Deve essere compreso tra 1 e 31 e valido per l'anno e il mese oppure 0 per specificare un anno da solo o un anno e un mese in cui il giorno non è significativo.

TimeOfDay

Rappresenta un'ora del giorno. La data e il fuso orario non sono significativi o sono specificati altrove. Un'API può scegliere di consentire i secondi intercalari. I tipi correlati sono google.type.Date e google.protobuf.Timestamp.

Rappresentazione JSON
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Campi
hours

integer

Ore di un giorno nel formato 24 ore. Deve essere maggiore o uguale a 0 e in genere deve essere minore o uguale a 23. Un'API potrebbe scegliere di consentire il valore "24:00:00" per scenari come l'orario di chiusura dell'attività.

minutes

integer

Minuti di un'ora. Deve essere maggiore o uguale a 0 e minore o uguale a 59.

seconds

integer

Secondi di un minuto. Deve essere maggiore o uguale a 0 e in genere deve essere inferiore o uguale a 59. Un'API potrebbe consentire il valore 60 se consente i secondi intercalari.

nanos

integer

Frazioni di secondo, in nanosecond. Deve essere maggiore o uguale a 0 e minore o uguale a 999.999.999.

EventStream

Specifica le opzioni di trasferimento basato su eventi. I trasferimenti basati su eventi ascoltano uno stream di eventi per trasferire i file aggiornati.

Rappresentazione JSON
{
  "name": string,
  "eventStreamStartTime": string,
  "eventStreamExpirationTime": string
}
Campi
name

string

Obbligatorio. Specifica un nome univoco della risorsa, ad esempio l'ARN AWS SQS nel formato "arn:aws:sqs:region:account_id:queue_name" o il nome della risorsa dell'abbonamento Pub/Sub nel formato "projects/{project}/subscriptions/{sub}".

eventStreamStartTime

string (Timestamp format)

Specifica la data e l'ora in cui Storage Transfer Service inizia a monitorare gli eventi di questo stream. Se non viene specificata alcuna ora di inizio o se l'ora di inizio è nel passato, Storage Transfer Service inizia immediatamente l'ascolto.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

eventStreamExpirationTime

string (Timestamp format)

Specifica la data e l'ora in cui Storage Transfer Service smette di ascoltare gli eventi di questo stream. Dopo questo orario, tutti i trasferimenti in corso verranno completati, ma non verranno avviati nuovi trasferimenti.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Stato

Lo stato del job di trasferimento.

Enum
STATUS_UNSPECIFIED Zero è un valore non valido.
ENABLED I nuovi trasferimenti vengono eseguiti in base alla pianificazione.
DISABLED I nuovi trasferimenti non sono pianificati.
DELETED Si tratta di uno stato di eliminazione temporanea. Dopo che un job di trasferimento è impostato su questo stato, il job e tutte le esecuzioni di trasferimento sono soggetti alla raccolta dei rifiuti. I job di trasferimento diventano idonei per il garbage collection 30 giorni dopo che il relativo stato è impostato su DELETED.

Metodi

create

Crea un job di trasferimento che viene eseguito periodicamente.

delete

Consente di eliminare un job di trasferimento.

get

Recupera un job di trasferimento.

list

Elenca i job di trasferimento.

patch

Aggiorna un job di trasferimento.

run

Avvia una nuova operazione per il job di trasferimento specificato.