REST Resource: transferJobs

Ressource: TransferJob

Cette ressource représente la configuration d'une tâche de transfert qui s'exécute régulièrement.

Représentation 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
}
Champs
name

string

Nom unique (dans le projet de transfert) attribué lors de la création de la tâche. Si ce champ est vide dans une requête CreateTransferJobRequest, le service de transfert de stockage attribue un nom unique. Sinon, le nom spécifié est utilisé comme nom unique pour cette tâche.

Si le nom spécifié est utilisé par une tâche, la requête de création échoue avec une erreur ALREADY_EXISTS.

Ce nom doit commencer par le préfixe "transferJobs/" et se terminer par une lettre ou un chiffre. Il ne doit pas comporter plus de 128 caractères. Pour les transferts impliquant PosixFilesystem, ce nom doit commencer par transferJobs/OPI. Pour tous les autres types de transferts, ce nom ne doit pas commencer par transferJobs/OPI.

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

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

Les applications ne doivent pas s'appuyer sur l'application des exigences d'attribution de noms impliquant l'OI.

Les noms de tâches non valides échouent avec une erreur INVALID_ARGUMENT.

description

string

Description fournie par l'utilisateur pour la tâche. Sa longueur maximale est de 1 024 octets lorsqu'elle est encodée en Unicode.

projectId

string

ID du projet Google Cloud propriétaire de la tâche.

transferSpec

object (TransferSpec)

Spécification de transfert.

replicationSpec

object (ReplicationSpec)

Spécification de la réplication.

notificationConfig

object (NotificationConfig)

Configuration des notifications.

loggingConfig

object (LoggingConfig)

Configuration de la journalisation.

schedule

object (Schedule)

Spécifie le calendrier de la tâche de transfert. Ce champ est facultatif. Lorsque le champ n'est pas défini, la tâche n'exécute jamais de transfert, sauf si vous appelez transferJobs.run ou modifiez la tâche pour qu'elle dispose d'un calendrier non vide.

eventStream

object (EventStream)

Spécifie le flux d'événements pour la tâche de transfert pour les transferts basés sur les événements. Lorsque EventStream est spécifié, les champs "Schedule" sont ignorés.

status

enum (Status)

État de la tâche. Cette valeur DOIT être spécifiée pour CreateTransferJobRequests.

Remarque:L'effet du nouvel état de la tâche se produit lors d'une exécution ultérieure de la tâche. Par exemple, si vous remplacez l'état de la tâche ENABLED par DISABLED et qu'une opération générée par le transfert est en cours d'exécution, le changement d'état n'affectera pas l'opération en cours.

creationTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle la tâche de transfert a été créée.

Utilise la norme RFC 3339, où la sortie générée est toujours normalisée avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

lastModificationTime

string (Timestamp format)

Uniquement en sortie. Heure de la dernière modification de la tâche de transfert.

Utilise la norme RFC 3339, où la sortie générée est toujours normalisée avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

deletionTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle la tâche de transfert a été supprimée.

Utilise la norme RFC 3339, où la sortie générée est toujours normalisée avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

latestOperationName

string

Nom de l'opération de transfert lancée en dernier pour cette JobConfig. Présent si une opération de transfert a été créée pour cette JobConfig.

ReplicationSpec

Spécifie la configuration d'une tâche de réplication entre buckets. La réplication entre les buckets copie les objets nouveaux ou mis à jour d'un bucket Cloud Storage source vers un bucket Cloud Storage de destination. Les objets existants du bucket source ne sont pas copiés par un nouveau job de réplication entre buckets.

Représentation 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.
}
Champs
objectConditions

object (ObjectConditions)

Conditions des objets qui déterminent les objets à transférer. Pour les tâches de réplication, seuls includePrefixes et excludePrefixes sont acceptés.

transferOptions

object (TransferOptions)

Spécifie les options de métadonnées à appliquer lors de la réplication. Les options de suppression ne sont pas acceptées. Si une option de suppression est spécifiée, la requête échoue avec une erreur INVALID_ARGUMENT.

Champ d'union data_source. Source de données à répliquer. data_source ne peut être qu'un des éléments suivants :
gcsDataSource

object (GcsData)

Bucket Cloud Storage à partir duquel répliquer des objets.

Champ d'union data_sink. Destination des objets répliqués. data_sink ne peut être qu'un des éléments suivants :
gcsDataSink

object (GcsData)

Bucket Cloud Storage dans lequel répliquer les objets.

Planification

Vous pouvez programmer des transferts récurrents ou ponctuels.

Représentation JSON
{
  "scheduleStartDate": {
    object (Date)
  },
  "scheduleEndDate": {
    object (Date)
  },
  "startTimeOfDay": {
    object (TimeOfDay)
  },
  "endTimeOfDay": {
    object (TimeOfDay)
  },
  "repeatInterval": string
}
Champs
scheduleStartDate

object (Date)

Obligatoire. Date de début d'un transfert. Les limites de date sont déterminées par rapport à l'heure UTC. Si scheduleStartDate et startTimeOfDay sont antérieurs à l'heure de création de la tâche, le transfert commence le jour suivant la planification de la demande de transfert.

Remarque:Lorsque vous démarrez des tâches à minuit ou à proximité de minuit (UTC), il est possible qu'elles démarrent plus tard que prévu. Par exemple, si vous envoyez une requête sortante le 1er juin une milliseconde avant minuit UTC et que le serveur du service de transfert de stockage la reçoit le 2 juin, il crée un TransferJob avec scheduleStartDate défini sur le 2 juin et startTimeOfDay défini sur minuit UTC. La première TransferOperation planifiée a lieu le 3 juin à minuit (UTC).

scheduleEndDate

object (Date)

Dernier jour d'exécution d'un transfert. Les limites de date sont déterminées par rapport à l'heure UTC. Un job s'exécute une fois toutes les 24 heures, conformément aux consignes suivantes:

  • Si scheduleEndDate et scheduleStartDate sont identiques et dans le futur par rapport à l'UTC, le transfert n'est exécuté qu'une seule fois.
  • Si scheduleEndDate est postérieur à scheduleStartDate et qu'il est dans le futur par rapport à l'heure UTC, la tâche s'exécute tous les jours entre startTimeOfDay et scheduleEndDate.scheduleEndDate
startTimeOfDay

object (TimeOfDay)

Heure UTC à laquelle une tâche de transfert est planifiée. Les transferts peuvent commencer plus tard.

Si startTimeOfDay n'est pas spécifié:

  • Les transferts uniques s'exécutent immédiatement.
  • Les virements récurrents sont exécutés immédiatement et tous les jours à minuit UTC, jusqu'à scheduleEndDate.

Si startTimeOfDay est spécifié:

  • Les transferts uniques s'exécutent à l'heure spécifiée.
  • Les transferts récurrents s'exécutent à l'heure spécifiée chaque jour, via scheduleEndDate.
endTimeOfDay

object (TimeOfDay)

Heure (UTC) à laquelle aucune autre opération de transfert n'est planifiée. Combiné à scheduleEndDate, endTimeOfDay spécifie la date et l'heure de fin pour démarrer de nouvelles opérations de transfert. Ce champ doit être supérieur ou égal au code temporel correspondant à la combinaison de scheduleStartDate et startTimeOfDay, et est soumis aux conditions suivantes:

  • Si endTimeOfDay n'est pas défini et que scheduleEndDate l'est, la valeur par défaut 23:59:59 est utilisée pour endTimeOfDay.

  • Si endTimeOfDay est défini et que scheduleEndDate ne l'est pas, INVALID_ARGUMENT est renvoyé.

repeatInterval

string (Duration format)

Intervalle entre le début de chaque TransferOperation planifiée. Si elle n'est pas spécifiée, la valeur par défaut est de 24 heures. Cette valeur ne peut pas être inférieure à une heure.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

Date

Représente une date du calendrier entière ou partielle, par exemple un anniversaire. L'heure de la journée et le fuseau horaire sont spécifiés ailleurs, ou ne sont pas significatifs. La date est donnée selon le calendrier grégorien. Il peut s'agir de l'un des éléments suivants:

  • Une date complète, avec des valeurs non nulles pour l'année, le mois et le jour.
  • un mois et un jour, avec une année nulle (par exemple, un anniversaire) ;
  • une année seule, avec un mois et un jour nuls ;
  • Une année et un mois, avec un jour zéro (par exemple, la date d'expiration d'une carte de crédit).

Types associés:

Représentation JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Champs
year

integer

Année de la date. Elle doit être comprise entre 1 et 9999, ou égale à 0 si vous spécifiez une date sans année.

month

integer

Mois d'une année. Il doit être compris entre 1 et 12, ou égal à 0 pour spécifier une année sans mois ni jour.

day

integer

Jour d'un mois. Il doit être compris entre 1 et 31, et valide pour l'année et le mois, ou égal à 0 pour spécifier une année seule, ou une année et un mois où le jour n'est pas significatif.

TimeOfDay

Représente une heure de la journée. La date et le fuseau horaire sont spécifiés ailleurs, ou ne sont pas significatifs. Une API peut choisir d'autoriser des secondes intercalaires. Les types associés sont google.type.Date et google.protobuf.Timestamp.

Représentation JSON
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Champs
hours

integer

Heures d'une journée au format 24 heures. Doit être supérieure ou égale à 0 et généralement inférieure ou égale à 23. Une API peut choisir d'autoriser la valeur "24:00:00" pour des cas tels que l'heure de fermeture des bureaux.

minutes

integer

Minutes d'une heure. Doit être supérieur ou égal à 0 et inférieur ou égal à 59.

seconds

integer

Secondes d'une minute. Doit être supérieure ou égale à 0 et généralement inférieure ou égale à 59. Une API peut autoriser la valeur 60 si elle autorise les secondes intercalaires.

nanos

integer

Fractions de secondes, en nanosecondes. Doit être supérieur ou égal à 0 et inférieur ou égal à 999 999 999.

EventStream

Spécifie les options de transfert basées sur des événements. Les transferts basés sur des événements écoutent un flux d'événements pour transférer les fichiers mis à jour.

Représentation JSON
{
  "name": string,
  "eventStreamStartTime": string,
  "eventStreamExpirationTime": string
}
Champs
name

string

Obligatoire. Spécifie un nom unique de la ressource, tel que l'ARN AWS SQS au format "arn:aws:sqs:region:account_id:queue_name" ou le nom de la ressource d'abonnement Pub/Sub au format "projects/{project}/subscriptions/{sub}".

eventStreamStartTime

string (Timestamp format)

Indique la date et l'heure auxquelles le service de transfert de stockage commence à écouter les événements de ce flux. Si aucune heure de début n'est spécifiée ou si l'heure de début est antérieure, le service de transfert de stockage commence à écouter immédiatement.

Utilise la norme RFC 3339, où la sortie générée est toujours normalisée avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

eventStreamExpirationTime

string (Timestamp format)

Indique la date et l'heure auxquelles le service de transfert de stockage cesse d'écouter les événements de ce flux. Passé ce délai, tous les transferts en cours seront finalisés, mais aucun nouveau transfert ne sera lancé.

Utilise la norme RFC 3339, où la sortie générée est toujours normalisée avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

État

État de la tâche de transfert.

Enums
STATUS_UNSPECIFIED La valeur zéro n'est pas autorisée.
ENABLED Les nouveaux transferts sont effectués en fonction du calendrier.
DISABLED Aucun nouveau transfert n'est programmé.
DELETED Il s'agit d'un état de suppression réversible. Une fois qu'un job de transfert est défini sur cet état, le job et toutes les exécutions de transfert sont soumis au nettoyage des données inutiles. Les tâches de transfert peuvent être supprimées 30 jours après que leur état a été défini sur DELETED.

Méthodes

create

Crée une tâche de transfert qui s'exécute régulièrement.

delete

Supprime une tâche de transfert.

get

Récupère une tâche de transfert.

list

Répertorie les tâches de transfert.

patch

Met à jour une tâche de transfert.

run

Démarre une nouvelle opération pour la tâche de transfert spécifiée.