REST Resource: projects.locations.jobs

Risorsa: job

La 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 fornita dall'utente per il job.

Lunghezza massima: 1024 byte se codificati 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 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".

scheduleTime

string (Timestamp format)

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

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

completeTime

string (Timestamp format)

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

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

counters

object (Counters)

Solo output. Informazioni sull'avanzamento del job.

errorSummaries[]

object (ErrorSummary)

Solo output. Riassume gli errori rilevati 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:
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:
putObjectHold

object (PutObjectHold)

Modifica lo stato di blocco dell'oggetto.

deleteObject

object (DeleteObject)

Eliminare oggetti.

putMetadata

object (PutMetadata)

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

rewriteObject

object (RewriteObject)

Riscrivi 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:
prefixList

object (PrefixList)

Specifica gli oggetti corrispondenti a un prefisso impostato.

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 di oggetti. Ad esempio:

  • Per trovare una corrispondenza per un oggetto, utilizza un singolo prefisso, prefix1.

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

  • Per trovare corrispondenze per tutti gli oggetti, utilizza un prefisso vuoto,''

Manifest

Descrive l'elenco di 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 su Cloud Storage che contiene un oggetto o un elenco di oggetti da elaborare. Ogni riga del manifest deve includere bucket e name dell'oggetto. Se vuoi, puoi specificare 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 è impostato il blocco temporaneo dell'oggetto, l'oggetto non può essere eliminato o sostituito.

eventBasedHold

enum (HoldStatus)

Obbligatorio. Aggiorna lo stato delle sospensioni basate su eventi dell'oggetto. Quando è impostato il blocco basato su eventi dell'oggetto, l'oggetto non può essere eliminato o sostituito. Reimposta la data e l'ora dell'oggetto nel bucket ai fini del periodo di conservazione.

HoldStatus

Descrive lo stato della sospensione.

Enum
HOLD_STATUS_UNSPECIFIED Valore predefinito. Lo stato di blocco dell'oggetto non è cambiato.
SET Inserisce la prenotazione.
UNSET Rilascia la preautorizzazione.

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 a controllo delle versioni diventeranno non correnti e gli oggetti già non correnti verranno ignorati. Questa impostazione non influisce sulla funzionalità di eliminazione soft. Tutti gli oggetti eliminati da questo servizio possono essere ripristinati per la durata della conservazione dell'eliminazione temporanea, se abilitata. Se questa opzione è attivata e il manifest non specifica la generazione di un oggetto, viene effettuata una chiamata a 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
}
Campi
customMetadata

map (key: string, value: string)

Facoltativo. Aggiorna i metadati personalizzati dell'oggetto. Questa operazione aggiunge o imposta singole coppie chiave-valore di 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 maggiori dettagli, vedi 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 corretti. 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 Content-Encoding fissi degli oggetti. 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 fissi 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 corretti. 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 Cache-Control fissi degli oggetti. 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.

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

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 consentito, 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 consentito, per evitare di consentire un valore predefinito.
SUCCEEDED LoggableAction completata correttamente. Le azioni SUCCEEDED vengono registrate come [INFO][google.logging.type.LogSeverity.INFO].
FAILED LoggableAction è stato terminato in uno stato di errore. Le azioni FAILED vengono registrate come [ERROR][google.logging.type.LogSeverity.ERROR].

Contatori

Descrive i dettagli sull'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 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 gestire le risposte dell'API gRPC.

Quando si applicano più codici di errore, restituisci il codice di errore più specifico. Ad esempio, preferisci OUT_OF_RANGE a FAILED_PRECONDITION se si applicano entrambi i codici. Analogamente, preferisci NOT_FOUND o ALREADY_EXISTS rispetto a FAILED_PRECONDITION.

Enum
OK

Viene 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 non noto in questo spazio degli indirizzi. Anche gli errori generati da API che non restituiscono informazioni sufficienti sugli errori possono essere convertiti in questo errore.

Mappatura HTTP: 500 Internal Server Error (Errore interno del server)

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 con formato non corretto).

Mappatura HTTP: 400 Bad Request (Richiesta non valida)

DEADLINE_EXCEEDED

La scadenza è scaduta prima del completamento dell'operazione. 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 positiva da un server potrebbe aver subito un ritardo sufficientemente lungo da far scadere la scadenza.

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 rifiutata per un'intera classe di utenti, ad esempio per l'implementazione graduale di funzionalità o per le liste consentite non documentate, può essere utilizzato NOT_FOUND. Se una richiesta viene rifiutata per alcuni utenti all'interno di una classe di utenti, ad esempio il controllo dell'accesso basato sugli utenti, deve essere utilizzato PERMISSION_DENIED.

Mappatura HTTP: 404 Not Found

ALREADY_EXISTS

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

Mappatura HTTP: conflitto (409)

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 una risorsa (per questi errori, utilizza invece RESOURCE_EXHAUSTED). PERMISSION_DENIED non deve essere utilizzato se non è possibile identificare l'utente che ha effettuato la chiamata (per questi errori, utilizza UNAUTHENTICATED). Questo codice di errore non implica che la richiesta sia valida o che l'entità richiesta esista o soddisfi altre pre-condizioni.

Mappatura HTTP: 403 accesso negato

UNAUTHENTICATED

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

Mappatura HTTP: 401 Non autorizzato

RESOURCE_EXHAUSTED

Una risorsa è stata esaurita, ad esempio una quota per utente, oppure l'intero file system non dispone di spazio.

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 una non directory e così via.

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

  • Utilizza UNAVAILABLE se il cliente 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 va a buon fine, il client deve riavviare una sequenza di lettura, modifica e scrittura.
  • Utilizza FAILED_PRECONDITION se il client non deve riprovare finché lo stato del sistema non è stato corretto esplicitamente. Ad esempio, se un comando "rmdir" non va a buon fine perché la directory non è vuota, deve essere restituito FAILED_PRECONDITION, poiché il client non deve riprovare a meno che i file non vengano eliminati dalla directory.

Mappatura HTTP: 400 Bad Request (Richiesta non valida)

ABORTED

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

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

Mappatura HTTP: conflitto 409

OUT_OF_RANGE

L'operazione è stata tentata oltre l'intervallo valido. Ad esempio, ricerca o lettura oltre il fine 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 gli viene chiesto di leggere in un offset non compreso nell'intervallo [0,2^32-1], ma genererà INVALID_ARGUMENT se gli viene chiesto di leggere da un offset superiore alle dimensioni attuali del file.OUT_OF_RANGE

Esiste una discreta sovrapposizione tra FAILED_PRECONDITION e OUT_OF_RANGE. Ti consigliamo di utilizzare OUT_OF_RANGE (l'errore più specifico) quando è applicabile, in modo che gli utenti che eseguono l'iterazione in uno spazio possano cercare facilmente un errore OUT_OF_RANGE per rilevare quando hanno terminato.

Mappatura HTTP: 400 Bad Request (Richiesta non valida)

UNIMPLEMENTED

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

Mappatura HTTP: 501 Not Implemented

INTERNAL

Errori interni. Ciò significa che alcune invarianti previste dal sistema di base sono state violate. Questo codice di errore è riservato agli errori gravi.

Mappatura HTTP: 500 Internal Server Error (Errore interno del server)

UNAVAILABLE

Il servizio non è al momento disponibile. Molto probabilmente si tratta 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 sopra per decidere tra FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mappatura HTTP: 503 Servizio non disponibile

DATA_LOSS

Perdita o danneggiamento di dati non recuperabili.

Mappatura HTTP: 500 Internal Server Error (Errore interno del server)

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. Vengono registrate al massimo 5 voci di log di errore per codice di errore per ogni job.

Stato

Descrive lo stato di un job.

Enum
STATE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
RUNNING In corso.
SUCCEEDED Operazione completata correttamente.
CANCELED Annullato dall'utente.
FAILED Interrotto a causa di un errore non recuperabile.

Metodi

cancel

Annullamento di un job batch in un determinato progetto per una determinata località.

create

Crea un job batch in un determinato progetto per una determinata località.

delete

Consente di eliminare un job batch in un determinato progetto per una determinata località.

get

Recupera un job batch in un determinato progetto per una determinata località.

list

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