REST Resource: projects.locations.jobs

Risorsa: Job

Descrizione del job di operazioni batch di archiviazione.

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

string

Identificatore. Il nome della risorsa del job.

Formato: projects/{project}/locations/global/jobs/{jobId}.

Ad esempio: projects/123456/locations/global/jobs/job01.

jobId è univoco in un determinato progetto per una determinata località. Se jobId non è specificato, viene assegnato un identificatore generato dal server.

description

string

Facoltativo. Una descrizione del lavoro fornita dall'utente.

Lunghezza massima: 1024 byte se codificata in Unicode.

loggingConfig

object (LoggingConfig)

Facoltativo. Configurazione del logging.

createTime

string (Timestamp format)

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

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. 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".

scheduleTime

string (Timestamp format)

Solo output. L'ora in cui è stato pianificato il job.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. 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".

completeTime

string (Timestamp format)

Solo output. L'ora in cui è stato completato il job.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. 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".

counters

object (Counters)

Solo output. Informazioni sull'avanzamento del job.

errorSummaries[]

object (ErrorSummary)

Solo output. Riepiloga gli errori riscontrati con le voci di log degli errori di esempio.

state

enum (State)

Solo output. Stato del job.

Campo unione source. Specifica gli oggetti da trasformare. source può essere solo uno dei seguenti valori:
bucketList

object (BucketList)

Specifica un elenco di bucket e dei relativi oggetti da trasformare.

Campo unione transformation. Operazione da eseguire sugli oggetti. transformation può essere solo uno dei seguenti valori:
putObjectHold

object (PutObjectHold)

Modifica lo stato del blocco oggetto.

deleteObject

object (DeleteObject)

Elimina gli oggetti.

putMetadata

object (PutMetadata)

Aggiorna i metadati dell'oggetto. Consente di aggiornare i metadati a chiave fissa e personalizzati e i metadati a chiave fissa. Ad esempio, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time e object retention.

rewriteObject

object (RewriteObject)

Riscrive l'oggetto e aggiorna i metadati come la chiave KMS.

BucketList

Descrive l'elenco dei bucket e dei relativi oggetti da trasformare.

Rappresentazione JSON
{
  "buckets": [
    {
      object (Bucket)
    }
  ]
}
Campi
buckets[]

object (Bucket)

Obbligatorio. Elenco dei bucket e dei relativi oggetti da trasformare. Puoi specificare un solo bucket per job. Se vengono specificati più bucket, si verifica un errore.

Bucket

Descrive la configurazione di un singolo bucket e dei relativi oggetti da trasformare.

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

string

Obbligatorio. Nome del bucket per gli oggetti da trasformare.

Campo unione object_configuration. Specifica gli oggetti da trasformare. object_configuration può essere solo uno dei seguenti valori:
prefixList

object (PrefixList)

Specifica gli oggetti che corrispondono a un insieme di prefissi.

manifest

object (Manifest)

Specifica gli oggetti in un file manifest.

PrefixList

Descrive i prefissi degli oggetti da trasformare.

Rappresentazione JSON
{
  "includedObjectPrefixes": [
    string
  ]
}
Campi
includedObjectPrefixes[]

string

Facoltativo. Specifica uno o più prefissi degli oggetti. Ad esempio:

  • Per trovare la corrispondenza di un oggetto, utilizza un singolo prefisso, prefix1.

  • Per trovare più oggetti, utilizza prefissi separati da virgole, prefix1,prefix2.

  • Per trovare la corrispondenza con tutti gli oggetti, utilizza un prefisso vuoto,''

Manifest

Descrive l'elenco degli oggetti da trasformare.

Rappresentazione JSON
{
  "manifestLocation": string
}
Campi
manifestLocation

string

Obbligatorio. Specifica la posizione del file manifest, ad esempio gs://bucket_name/path/object_name.csv. Il manifest è un file CSV, caricato in Cloud Storage, che contiene un oggetto o un elenco di oggetti che vuoi elaborare. Ogni riga del manifest deve includere bucket e name dell'oggetto. Puoi specificare facoltativamente il generation dell'oggetto. Se non specifichi generation, viene utilizzata la versione corrente dell'oggetto.

Il file deve includere una riga di intestazione con il seguente formato: bucket,name,generation. La colonna generation è facoltativa. Ad esempio,

bucket,name,generation
bucket_1,object_1,generation_1
bucket_1,object_2,generation_2
bucket_1,object_3,generation_3

Nota: il file manifest deve specificare solo gli oggetti all'interno del bucket fornito al job. Le righe che fanno riferimento a oggetti in altri bucket vengono ignorate.

PutObjectHold

Descrive le opzioni per aggiornare la sospensione dell'oggetto.

Rappresentazione JSON
{
  "temporaryHold": enum (HoldStatus),
  "eventBasedHold": enum (HoldStatus)
}
Campi
temporaryHold

enum (HoldStatus)

Obbligatorio. Aggiorna lo stato di blocco temporaneo dell'oggetto. Quando viene impostato il blocco temporaneo dell'oggetto, quest'ultimo non può essere eliminato o sostituito.

eventBasedHold

enum (HoldStatus)

Obbligatorio. Aggiorna lo stato dei blocchi basati su eventi degli oggetti. Quando è impostato il blocco basato su eventi dell'oggetto, l'oggetto non può essere eliminato o sostituito. Reimposta la durata dell'oggetto nel bucket ai fini del periodo di conservazione.

HoldStatus

Descrive lo stato della sospensione.

Enum
HOLD_STATUS_UNSPECIFIED Valore predefinito. Lo stato del blocco dell'oggetto non viene modificato.
SET Inserisce la conservazione.
UNSET Rilascia la sospensione.

DeleteObject

Descrive le opzioni per eliminare un oggetto.

Rappresentazione JSON
{
  "permanentObjectDeletionEnabled": boolean
}
Campi
permanentObjectDeletionEnabled

boolean

Obbligatorio. Controlla il comportamento di eliminazione quando il controllo delle versioni è abilitato per il bucket dell'oggetto. Se è true, gli oggetti attivi e non correnti verranno eliminati definitivamente. In caso contrario, gli oggetti attivi nei bucket sottoposti al controllo delle versioni diventeranno non correnti e gli oggetti già non correnti verranno ignorati. Questa impostazione non ha alcun impatto sulla funzionalità di eliminazione temporanea. Se abilitata, tutti gli oggetti eliminati da questo servizio possono essere ripristinati per la durata della conservazione dell'eliminazione temporanea. Se è abilitato e il manifest non specifica la generazione di un oggetto, viene effettuata una chiamata GetObjectMetadata per determinare la generazione dell'oggetto live.

PutMetadata

Descrive le opzioni per aggiornare i metadati degli oggetti.

Rappresentazione JSON
{
  "customMetadata": {
    string: string,
    ...
  },
  "contentDisposition": string,
  "contentEncoding": string,
  "contentLanguage": string,
  "contentType": string,
  "cacheControl": string,
  "customTime": string
  "objectRetention": {
    object (ObjectRetention)
  }
}
Campi
customMetadata

map (key: string, value: string)

Facoltativo. Aggiorna i metadati personalizzati dell'oggetto. Questa operazione aggiunge o imposta singole coppie chiave-valore dei metadati personalizzati. I valori delle chiavi specificate con valori vuoti verranno cancellati. Le chiavi dei metadati personalizzati esistenti non incluse nella richiesta rimangono invariate. Per i dettagli, consulta Custom-Metadata.

Un oggetto contenente un elenco di coppie "key": "value". Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contentDisposition

string

Facoltativo. Aggiorna gli oggetti Content-Disposition metadati fissi. I valori non impostati nella richiesta vengono ignorati. Per cancellare i metadati, imposta un valore vuoto. Per maggiori dettagli, vedi Content-Disposition.

contentEncoding

string

Facoltativo. Aggiorna i metadati fissi degli oggetti Content-Encoding. I valori non impostati nella richiesta vengono ignorati. Per cancellare i metadati, imposta un valore vuoto. Per maggiori dettagli, vedi Content-Encoding.

contentLanguage

string

Facoltativo. Aggiorna i metadati della lingua dei contenuti fissa degli oggetti. I valori dei metadati devono utilizzare i codici lingua ISO 639-1. La lunghezza massima per i valori dei metadati è di 100 caratteri. I valori non impostati nella richiesta vengono ignorati. Per cancellare i metadati, imposta un valore vuoto. Per maggiori dettagli, vedi Content-Language.

contentType

string

Facoltativo. Aggiorna gli oggetti Content-Type metadati fissi. I valori non impostati nella richiesta vengono ignorati. Per cancellare i metadati, imposta un valore vuoto. Per maggiori dettagli, vedi Content-Type.

cacheControl

string

Facoltativo. Aggiorna i metadati fissi degli oggetti Cache-Control. I valori non impostati nella richiesta vengono ignorati. Per cancellare i metadati, imposta un valore vuoto. Inoltre, il valore di Custom-Time non può diminuire. Per maggiori dettagli, vedi Cache-Control.

customTime

string

Facoltativo. Aggiorna i metadati della data/ora personalizzata fissa dell'oggetto. I valori non impostati nella richiesta vengono ignorati. Per cancellare i metadati, imposta un valore vuoto. Per maggiori dettagli, vedi Custom-Time.

objectRetention

object (ObjectRetention)

Facoltativo. Aggiorna la configurazione della conservazione di un oggetto. I valori non impostati vengono ignorati. Per cancellare la conservazione di un oggetto, retentionMode deve essere nello stato UNLOCKED e retainUntilTime deve essere impostato su una stringa vuota. Non è possibile cancellare la conservazione di un oggetto con modalità di conservazione LOCKED né ridurre il valore di retainUntilTime. Per ulteriori informazioni, vedi retainUntilTime.

ObjectRetention

Descrive la configurazione della conservazione degli oggetti.

Rappresentazione JSON
{
  "retainUntilTime": string,
  "retentionMode": enum (RetentionMode)
}
Campi
retainUntilTime

string

Obbligatorio. Il tempo di scadenza della conservazione dell'oggetto, durante il quale l'oggetto è protetto dall'eliminazione o dalla sovrascrittura. L'ora deve essere specificata nel formato RFC 3339, ad esempio YYYY-MM-DD'T'HH:MM:SS.SS'Z'. Per cancellare la conservazione di un oggetto, retentionMode deve essere UNLOCKED e retainUntilTime deve essere impostato su una stringa vuota.

retentionMode

enum (RetentionMode)

Obbligatorio. La modalità di conservazione.

RetentionMode

La modalità di conservazione.

Enum
RETENTION_MODE_UNSPECIFIED La modalità di conservazione non è specificata.
LOCKED Quando la modalità di conservazione è LOCKED, non è possibile rimuovere o ridurre retainUntilTime.
UNLOCKED Quando la modalità di conservazione è UNLOCKED, il retainUntilTime può essere rimosso o modificato.

RewriteObject

Descrive le opzioni per la riscrittura degli oggetti.

Rappresentazione JSON
{
  "kmsKey": string
}
Campi
kmsKey

string

Obbligatorio. Nome della risorsa della chiave Cloud KMS utilizzata per criptare l'oggetto. La chiave Cloud KMS deve trovarsi nella stessa posizione dell'oggetto. Per informazioni dettagliate, consulta Criptare un oggetto con una chiave Cloud KMS.

Formato: projects/{project}/locations/{locationid}/keyRings/{keyring}/cryptoKeys/{key}

Ad esempio: projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key. L'oggetto viene riscritto e impostato con la chiave KMS specificata.

LoggingConfig

Specifica il comportamento di Cloud Logging.

Rappresentazione JSON
{
  "logActions": [
    enum (LoggableAction)
  ],
  "logActionStates": [
    enum (LoggableActionState)
  ]
}
Campi
logActions[]

enum (LoggableAction)

Obbligatorio. Specifica le azioni da registrare nel log.

logActionStates[]

enum (LoggableActionState)

Obbligatorio. Stati in cui vengono registrate le azioni. Se è vuoto, non vengono generati log.

LoggableAction

Tipi di azioni registrabili.

Enum
LOGGABLE_ACTION_UNSPECIFIED Valore non valido, per evitare di consentire un valore predefinito.
TRANSFORM L'azione di trasformazione corrispondente in questo job.

LoggableActionState

Filtro degli stati delle azioni registrabili.

Enum
LOGGABLE_ACTION_STATE_UNSPECIFIED Valore non valido, per evitare di consentire un valore predefinito.
SUCCEEDED LoggableAction completato. Le azioni SUCCEEDED vengono registrate come [INFO][google.logging.type.LogSeverity.INFO].
FAILED LoggableAction è terminato in stato di errore. Le azioni di FAILED vengono registrate come [ERROR][google.logging.type.LogSeverity.ERROR].

Contatori

Descrive i dettagli sullo stato di avanzamento del job.

Rappresentazione JSON
{
  "totalObjectCount": string,
  "succeededObjectCount": string,
  "failedObjectCount": string
}
Campi
totalObjectCount

string (int64 format)

Solo output. Numero di oggetti elencati.

succeededObjectCount

string (int64 format)

Solo output. Numero di oggetti completati.

failedObjectCount

string (int64 format)

Solo output. Numero di oggetti non riusciti.

ErrorSummary

Un riepilogo degli errori per codice di errore, oltre a un conteggio e a voci di log degli errori di esempio.

Rappresentazione JSON
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
Campi
errorCode

enum (Code)

Obbligatorio. Il codice di errore canonico.

errorCount

string (int64 format)

Obbligatorio. Numero di errori riscontrati per errorCode.

errorLogEntries[]

object (ErrorLogEntry)

Obbligatorio. Log degli errori di esempio.

Codice

Definisce i codici di errore utilizzati per la gestione delle risposte dell'API gRPC.

Quando si applicano più codici di errore, restituisci quello più specifico. Ad esempio, preferisci OUT_OF_RANGE a FAILED_PRECONDITION se entrambi i codici sono applicabili. Allo stesso modo, preferisci NOT_FOUND o ALREADY_EXISTS a FAILED_PRECONDITION.

Enum
OK

Restituito al termine dell'operazione.

Mappatura HTTP: 200 OK

CANCELLED

L'operazione è stata annullata, in genere dal chiamante.

Mappatura HTTP: 499 Client Closed Request

UNKNOWN

Errore sconosciuto. Ad esempio, questo errore può essere restituito quando un valore Status ricevuto da un altro spazio degli indirizzi appartiene a uno spazio di errore sconosciuto in questo spazio degli indirizzi. Anche gli errori generati dalle API che non restituiscono informazioni sufficienti sugli errori possono essere convertiti in questo errore.

Mapping HTTP: 500 Internal Server Error

INVALID_ARGUMENT

Il client ha specificato un argomento non valido. Tieni presente che questo valore è diverso da FAILED_PRECONDITION. INVALID_ARGUMENT indica gli argomenti problematici indipendentemente dallo stato del sistema (ad esempio, un nome file non valido).

Mapping HTTP: 400 Bad Request

DEADLINE_EXCEEDED

La scadenza è terminata prima che l'operazione potesse essere completata. Per le operazioni che modificano lo stato del sistema, questo errore può essere restituito anche se l'operazione è stata completata correttamente. Ad esempio, una risposta corretta da un server potrebbe essere stata ritardata abbastanza a lungo da far scadere il termine.

Mappatura HTTP: timeout del gateway (504)

NOT_FOUND

Impossibile trovare alcune entità richieste (ad esempio, file o directory).

Nota per gli sviluppatori di server: se una richiesta viene negata per un'intera classe di utenti, ad esempio il lancio graduale di funzionalità o una lista consentita non documentata, è possibile utilizzare NOT_FOUND. Se una richiesta viene negata per alcuni utenti all'interno di una classe di utenti, ad esempio controllo dell'accesso basato sull'utente, è necessario utilizzare PERMISSION_DENIED.

Mappatura HTTP: 404 Not Found

ALREADY_EXISTS

L'entità che un client ha tentato di creare (ad esempio, file o directory) esiste già.

Mapping HTTP: 409 Conflict

PERMISSION_DENIED

Il chiamante non dispone dell'autorizzazione per eseguire l'operazione specificata. PERMISSION_DENIED non deve essere utilizzato per i rifiuti causati dall'esaurimento di alcune risorse (utilizza RESOURCE_EXHAUSTED per questi errori). PERMISSION_DENIED non deve essere utilizzato se il chiamante non può essere identificato (utilizza UNAUTHENTICATED per questi errori). Questo codice di errore non implica che la richiesta sia valida o che l'entità richiesta esista o soddisfi altre precondizioni.

Mappatura HTTP: 403 accesso negato

UNAUTHENTICATED

La richiesta non ha credenziali di autenticazione valide per l'operazione.

Mappatura HTTP: 401 Non autorizzato

RESOURCE_EXHAUSTED

Alcune risorse sono esaurite, ad esempio una quota per utente o l'intero file system è esaurito.

Mappatura HTTP: 429 Too Many Requests

FAILED_PRECONDITION

L'operazione è stata rifiutata perché il sistema non è nello stato richiesto per l'esecuzione dell'operazione. Ad esempio, la directory da eliminare non è vuota, un'operazione rmdir viene applicata a un elemento non di tipo directory e così via.

Gli implementatori di servizi possono utilizzare le seguenti linee guida per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE:

  • Utilizza UNAVAILABLE se il client può riprovare solo la chiamata non riuscita.
  • Utilizza ABORTED se il client deve riprovare a un livello superiore. Ad esempio, quando un test-and-set specificato dal client non riesce, indicando che il client deve riavviare una sequenza di lettura-modifica-scrittura.
  • Utilizza FAILED_PRECONDITION se il client non deve riprovare finché lo stato del sistema non è stato corretto in modo esplicito. Ad esempio, se un comando "rmdir" non va a buon fine perché la directory non è vuota, FAILED_PRECONDITION deve essere restituito perché il client non deve riprovare a meno che i file non vengano eliminati dalla directory.

Mapping HTTP: 400 Bad Request

ABORTED

L'operazione è stata interrotta, in genere a causa di un problema di concorrenza, ad esempio un controllo del sequencer non riuscito o un'interruzione della transazione.

Consulta le linee guida riportate sopra per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mapping HTTP: 409 Conflict

OUT_OF_RANGE

L'operazione è stata tentata oltre l'intervallo valido. Ad esempio, la ricerca o la lettura oltre la fine del file.

A differenza di INVALID_ARGUMENT, questo errore indica un problema che potrebbe essere risolto se lo stato del sistema cambia. Ad esempio, un file system a 32 bit genererà INVALID_ARGUMENT se viene richiesto di leggere a un offset non compreso nell'intervallo [0,2^32-1], ma genererà OUT_OF_RANGE se viene richiesto di leggere da un offset successivo alla dimensione corrente del file.

Esiste una sovrapposizione piuttosto ampia tra FAILED_PRECONDITION e OUT_OF_RANGE. Ti consigliamo di utilizzare OUT_OF_RANGE (l'errore più specifico) quando si applica, in modo che i chiamanti che scorrono uno spazio possano cercare facilmente un errore OUT_OF_RANGE per rilevare quando hanno terminato.

Mapping HTTP: 400 Bad Request

UNIMPLEMENTED

L'operazione non è implementata o non è supportata/abilitata in questo servizio.

Mappatura HTTP: 501 Not Implemented

INTERNAL

Errori interni. Ciò significa che alcuni invarianti previsti dal sistema sottostante sono stati violati. Questo codice di errore è riservato agli errori gravi.

Mapping HTTP: 500 Internal Server Error

UNAVAILABLE

Il servizio non è al momento disponibile. Si tratta molto probabilmente di una condizione temporanea, che può essere corretta riprovando con un backoff. Tieni presente che non è sempre sicuro riprovare le operazioni non idempotenti.

Consulta le linee guida riportate sopra per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mappatura HTTP: 503 Servizio non disponibile

DATA_LOSS

Perdita o danneggiamento dei dati non recuperabili.

Mapping HTTP: 500 Internal Server Error

ErrorLogEntry

Una voce che descrive un errore che si è verificato.

Rappresentazione JSON
{
  "objectUri": string,
  "errorDetails": [
    string
  ]
}
Campi
objectUri

string

Obbligatorio. Solo output. URL dell'oggetto. Ad esempio, gs://my_bucket/object.txt

errorDetails[]

string

Facoltativo. Solo output. Per ogni job vengono registrate un massimo di 5 voci di log degli errori per ogni codice di errore.

Stato

Descrive lo stato di un job.

Enum
STATE_UNSPECIFIED Valore predefinito. Questo valore non viene utilizzato.
RUNNING In corso.
SUCCEEDED Completato correttamente.
CANCELED Annullato dall'utente.
FAILED Terminato a causa di un errore irreversibile.

Metodi

cancel

Annulla un job batch in un progetto specifico per una località specifica.

create

Crea un job batch in un progetto specifico per una località specifica.

delete

Elimina un job batch in un progetto specifico per una località specifica.

get

Recupera un job batch in un progetto specifico per una località specifica.

list

Elenca tutti i job batch in un determinato progetto per una determinata località.