REST Resource: projects.locations.jobs

Recurso: emprego

A descrição do trabalho de operações em lote de armazenamento.

Representação 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.
}
Campos
name

string

Identificador. O nome do recurso da tarefa.

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

Por exemplo: projects/123456/locations/global/jobs/job01.

jobId é exclusivo num determinado projeto para uma determinada localização. Se jobId não for especificado, é atribuído um identificador gerado pelo servidor.

description

string

Opcional. Uma descrição fornecida pelo utilizador para a tarefa.

Comprimento máximo: 1024 bytes quando codificado em Unicode.

loggingConfig

object (LoggingConfig)

Opcional. Configuração de registo.

createTime

string (Timestamp format)

Apenas saída. A hora em que a tarefa foi criada.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

scheduleTime

string (Timestamp format)

Apenas saída. A hora em que a tarefa foi agendada.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

completeTime

string (Timestamp format)

Apenas saída. A hora em que o trabalho foi concluído.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

counters

object (Counters)

Apenas saída. Informações sobre o progresso da tarefa.

errorSummaries[]

object (ErrorSummary)

Apenas saída. Resume os erros encontrados com entradas de registo de erros de exemplo.

state

enum (State)

Apenas saída. Estado da tarefa.

Campo de união source. Especifica os objetos a transformar. source só pode ser uma das seguintes opções:
bucketList

object (BucketList)

Especifica uma lista de contentores e os respetivos objetos a serem transformados.

Campo de união transformation. Operação a realizar nos objetos. transformation só pode ser uma das seguintes opções:
putObjectHold

object (PutObjectHold)

Altera o estado de retenção de objetos.

deleteObject

object (DeleteObject)

Eliminar objetos.

putMetadata

object (PutMetadata)

Atualiza os metadados do objeto. Permite a atualização de metadados de chaves fixas e personalizadas, bem como metadados de chaves fixas. Por exemplo, Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type e Custom-Time.

rewriteObject

object (RewriteObject)

Reescreve o objeto e atualiza os metadados, como a chave do KMS.

BucketList

Descreve a lista de contentores e os respetivos objetos a serem transformados.

Representação JSON
{
  "buckets": [
    {
      object (Bucket)
    }
  ]
}
Campos
buckets[]

object (Bucket)

Obrigatório. Lista de contentores e respetivos objetos a transformar. Só pode especificar um contentor por tarefa. Se forem especificados vários intervalos, ocorre um erro.

Grupo

Descreve a configuração de um único contentor e os respetivos objetos a serem transformados.

Representação 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.
}
Campos
bucket

string

Obrigatório. Nome do contentor para os objetos a transformar.

Campo de união object_configuration. Especifica os objetos a transformar. object_configuration só pode ser uma das seguintes opções:
prefixList

object (PrefixList)

Especifica objetos que correspondem a um conjunto de prefixos.

manifest

object (Manifest)

Especifica objetos num ficheiro de manifesto.

PrefixList

Descreve os prefixos dos objetos a transformar.

Representação JSON
{
  "includedObjectPrefixes": [
    string
  ]
}
Campos
includedObjectPrefixes[]

string

Opcional. Especifique um ou mais prefixos de objetos. Por exemplo:

  • Para fazer corresponder um objeto, use um único prefixo, prefix1.

  • Para fazer corresponder vários objetos, use prefixos separados por vírgulas, prefix1,prefix2.

  • Para corresponder a todos os objetos, use um prefixo vazio''

Manifesto

Descreve a lista de objetos a transformar.

Representação JSON
{
  "manifestLocation": string
}
Campos
manifestLocation

string

Obrigatório. Especifique a localização do ficheiro de manifesto, por exemplo, gs://bucket_name/path/object_name.csv. O manifesto é um ficheiro CSV, carregado para o Cloud Storage, que contém um objeto ou uma lista de objetos que quer processar. Cada linha no manifesto tem de incluir o bucket e o name do objeto. Opcionalmente, pode especificar o generation do objeto. Se não especificar o generation, é usada a versão atual do objeto.

O ficheiro tem de incluir uma linha de cabeçalho com o seguinte formato: bucket,name,generation. A coluna generation é opcional. Por exemplo,

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

Nota: o ficheiro de manifesto tem de especificar apenas objetos no contentor fornecido à tarefa. As linhas que fazem referência a objetos noutros contentores são ignoradas.

PutObjectHold

Descreve as opções para atualizar a retenção de objetos.

Representação JSON
{
  "temporaryHold": enum (HoldStatus),
  "eventBasedHold": enum (HoldStatus)
}
Campos
temporaryHold

enum (HoldStatus)

Obrigatório. Atualiza o estado de suspensão temporária do objeto. Quando a retenção temporária de objetos está definida, não é possível eliminar nem substituir o objeto.

eventBasedHold

enum (HoldStatus)

Obrigatório. Atualiza o estado das retenções baseadas em eventos de objetos. Quando a retenção baseada em eventos de objetos está definida, não é possível eliminar nem substituir o objeto. Repõe o tempo do objeto no contentor para efeitos do período de retenção.

HoldStatus

Descreve o estado da retenção.

Enumerações
HOLD_STATUS_UNSPECIFIED Valor predefinido. O estado de retenção de objetos não é alterado.
SET Coloca a retenção.
UNSET Liberta a retenção.

DeleteObject

Descreve as opções para eliminar um objeto.

Representação JSON
{
  "permanentObjectDeletionEnabled": boolean
}
Campos
permanentObjectDeletionEnabled

boolean

Obrigatório. Controla o comportamento de eliminação quando o controlo de versões está ativado para o contentor do objeto. Se for verdadeiro, os objetos ativos e não atuais são eliminados permanentemente. Caso contrário, os objetos ativos em contentores com versões vão ficar desatualizados e os objetos que já estavam desatualizados vão ser ignorados. Esta definição não tem qualquer impacto na funcionalidade de eliminação temporária. Todos os objetos eliminados por este serviço podem ser restaurados durante o período de retenção da eliminação temporária, se estiver ativada. Se estiver ativada e o manifesto não especificar a geração de um objeto, é feita uma chamada GetObjectMetadata para determinar a geração do objeto em direto.

PutMetadata

Descreve as opções para atualizar os metadados de objetos.

Representação JSON
{
  "customMetadata": {
    string: string,
    ...
  },
  "contentDisposition": string,
  "contentEncoding": string,
  "contentLanguage": string,
  "contentType": string,
  "cacheControl": string,
  "customTime": string
}
Campos
customMetadata

map (key: string, value: string)

Opcional. Atualiza os metadados personalizados do objeto. Esta operação adiciona ou define pares de chave-valor de metadados personalizados individuais. As chaves especificadas com valores vazios têm os respetivos valores limpos. As chaves de metadados personalizados existentes que não estão incluídas no pedido permanecem inalteradas. Para obter detalhes, consulte a secção Custom-Metadata.

Um objeto que contém uma lista de pares "key": "value". Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contentDisposition

string

Opcional. Atualiza objetos com Content-Disposition metadados corrigidos. Os valores não definidos no pedido são ignorados. Para limpar os metadados, defina um valor vazio. Para obter detalhes, consulte o artigo Content-Disposition.

contentEncoding

string

Opcional. Atualiza os metadados fixos dos objetos Content-Encoding. Os valores não definidos no pedido são ignorados. Para limpar os metadados, defina um valor vazio. Para obter detalhes, consulte o artigo Content-Encoding.

contentLanguage

string

Opcional. Atualiza os metadados de idioma de conteúdo fixo dos objetos. Os valores dos metadados têm de usar códigos de idioma ISO 639-1. O comprimento máximo dos valores de metadados é de 100 carateres. Os valores não definidos no pedido são ignorados. Para limpar os metadados, defina um valor vazio. Para obter detalhes, consulte o artigo Content-Language.

contentType

string

Opcional. Atualiza objetos com Content-Type metadados corrigidos. Os valores não definidos no pedido são ignorados. Para limpar os metadados, defina um valor vazio. Para obter detalhes, consulte o artigo Content-Type.

cacheControl

string

Opcional. Atualiza os metadados fixos dos objetos Cache-Control. Os valores não definidos no pedido são ignorados. Para limpar os metadados, defina um valor vazio. Além disso, o valor de Custom-Time não pode diminuir. Para ver detalhes, consulte o artigo Cache-Control.

customTime

string

Opcional. Atualiza os metadados de tempo personalizado fixo do objeto. Os valores não definidos no pedido são ignorados. Para limpar os metadados, defina um valor vazio. Para obter detalhes, consulte a secção Custom-Time.

RewriteObject

Descreve as opções de reescrita de objetos.

Representação JSON
{
  "kmsKey": string
}
Campos
kmsKey

string

Obrigatório. Nome do recurso da chave do Cloud KMS que é usada para encriptar o objeto. A chave do Cloud KMS tem de estar localizada na mesma localização que o objeto. Para ver detalhes, consulte o artigo Encriptar um objeto com uma chave do Cloud KMS

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

Por exemplo: projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key. O objeto é reescrito e definido com a chave do KMS especificada.

LoggingConfig

Especifica o comportamento do Cloud Logging.

Representação JSON
{
  "logActions": [
    enum (LoggableAction)
  ],
  "logActionStates": [
    enum (LoggableActionState)
  ]
}
Campos
logActions[]

enum (LoggableAction)

Obrigatório. Especifica as ações a registar.

logActionStates[]

enum (LoggableActionState)

Obrigatório. Estados nos quais as ações são registadas. Se estiver vazio, não são gerados registos.

LoggableAction

Tipos de ações registáveis.

Enumerações
LOGGABLE_ACTION_UNSPECIFIED Valor ilegal para evitar permitir um valor predefinido.
TRANSFORM A ação de transformação correspondente nesta tarefa.

LoggableActionState

Filtro de estados de ações registáveis.

Enumerações
LOGGABLE_ACTION_STATE_UNSPECIFIED Valor ilegal para evitar permitir um valor predefinido.
SUCCEEDED LoggableAction concluído com êxito. As ações do SUCCEEDED são registadas como [INFO][google.logging.type.LogSeverity.INFO].
FAILED O processo LoggableAction foi terminado num estado de erro. As ações FAILED são registadas como [ERROR][google.logging.type.LogSeverity.ERROR].

Contadores

Descreve detalhes sobre o progresso da tarefa.

Representação JSON
{
  "totalObjectCount": string,
  "succeededObjectCount": string,
  "failedObjectCount": string
}
Campos
totalObjectCount

string (int64 format)

Apenas saída. Número de objetos listados.

succeededObjectCount

string (int64 format)

Apenas saída. Número de objetos concluídos.

failedObjectCount

string (int64 format)

Apenas saída. Número de objetos com falhas.

ErrorSummary

Um resumo dos erros por código de erro, além de uma contagem e entradas de registo de erros de exemplo.

Representação JSON
{
  "errorCode": enum (Code),
  "errorCount": string,
  "errorLogEntries": [
    {
      object (ErrorLogEntry)
    }
  ]
}
Campos
errorCode

enum (Code)

Obrigatório. O código de erro canónico.

errorCount

string (int64 format)

Obrigatório. O número de erros encontrados por errorCode.

errorLogEntries[]

object (ErrorLogEntry)

Obrigatório. Amostra de registos de erros.

Código

Define os códigos de erro usados para processar respostas da API gRPC.

Quando se aplicam vários códigos de erro, devolva o código de erro mais específico. Por exemplo, prefira OUT_OF_RANGE a FAILED_PRECONDITION se ambos os códigos se aplicarem. Da mesma forma, prefira NOT_FOUND ou ALREADY_EXISTS em vez de FAILED_PRECONDITION.

Enumerações
OK

Devolvido quando a operação for concluída com êxito.

Mapeamento HTTP: 200 OK

CANCELLED

A operação foi cancelada, normalmente, pelo autor da chamada.

Mapeamento HTTP: 499 Cliente fechou pedido

UNKNOWN

Erro desconhecido. Por exemplo, este erro pode ser devolvido quando um valor Status recebido de outro espaço de endereço pertence a um espaço de erro que não é conhecido neste espaço de endereço. Além disso, os erros gerados por APIs que não devolvem informações de erro suficientes podem ser convertidos neste erro.

Mapeamento HTTP: 500 Erro interno do servidor

INVALID_ARGUMENT

O cliente especificou um argumento inválido. Tenha em atenção que isto difere de FAILED_PRECONDITION. INVALID_ARGUMENT indica argumentos problemáticos independentemente do estado do sistema (por exemplo, um nome de ficheiro com formato incorreto).

Mapeamento HTTP: 400 Pedido errado

DEADLINE_EXCEEDED

O prazo expirou antes de a operação poder ser concluída. Para operações que alteram o estado do sistema, este erro pode ser devolvido mesmo que a operação tenha sido concluída com êxito. Por exemplo, uma resposta bem-sucedida de um servidor pode ter sofrido um atraso suficiente para que o prazo expire.

Mapeamento de HTTP: 504 Tempo limite do gateway

NOT_FOUND

Não foi encontrada alguma entidade pedida (por exemplo, um ficheiro ou um diretório).

Nota para os programadores de servidores: se um pedido for recusado para uma classe inteira de utilizadores, como a implementação gradual de funcionalidades ou uma lista de autorizações não documentada, pode usar-se NOT_FOUND. Se um pedido for recusado para alguns utilizadores numa classe de utilizadores, como o controlo de acesso baseado no utilizador, tem de usar PERMISSION_DENIED.

Mapeamento HTTP: 404 Not Found

ALREADY_EXISTS

A entidade que um cliente tentou criar (por exemplo, um ficheiro ou um diretório) já existe.

Mapeamento HTTP: 409 Conflito

PERMISSION_DENIED

O autor da chamada não tem autorização para executar a operação especificada. PERMISSION_DENIED não deve ser usado para rejeições causadas pelo esgotamento de algum recurso (use RESOURCE_EXHAUSTED em alternativa para esses erros). PERMISSION_DENIED não deve ser usado se não for possível identificar o autor da chamada (use UNAUTHENTICATED para esses erros). Este código de erro não implica que o pedido seja válido ou que a entidade pedida exista ou satisfaça outras pré-condições.

Mapeamento HTTP: 403 Proibido

UNAUTHENTICATED

O pedido não tem credenciais de autenticação válidas para a operação.

Mapeamento HTTP: 401 Não autorizado

RESOURCE_EXHAUSTED

Algum recurso foi esgotado, talvez uma quota por utilizador ou talvez o sistema de ficheiros completo esteja sem espaço.

Mapeamento HTTP: 429 Demasiados pedidos

FAILED_PRECONDITION

A operação foi rejeitada porque o sistema não se encontra num estado necessário para a execução da operação. Por exemplo, o diretório a eliminar não está vazio, é aplicada uma operação rmdir a um não diretório, etc.

Os implementadores de serviços podem usar as seguintes diretrizes para decidir entre FAILED_PRECONDITION, ABORTED e UNAVAILABLE:

  • Use UNAVAILABLE se o cliente puder tentar novamente apenas a chamada com falha.
  • Use ABORTED se o cliente deve tentar novamente a um nível superior. Por exemplo, quando um teste e definição especificados pelo cliente falham, o que indica que o cliente deve reiniciar uma sequência de leitura-modificação-escrita.
  • Use FAILED_PRECONDITION se o cliente não deve tentar novamente até que o estado do sistema tenha sido explicitamente corrigido. Por exemplo, se um "rmdir" falhar porque o diretório não está vazio, deve ser devolvido FAILED_PRECONDITION, uma vez que o cliente não deve tentar novamente, a menos que os ficheiros sejam eliminados do diretório.

Mapeamento HTTP: 400 Pedido errado

ABORTED

A operação foi interrompida, normalmente devido a um problema de simultaneidade, como uma falha na verificação do sequenciador ou uma interrupção da transação.

Consulte as diretrizes acima para decidir entre FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mapeamento HTTP: 409 Conflito

OUT_OF_RANGE

A operação foi tentada fora do intervalo válido. Por exemplo, procurar ou ler após o fim do ficheiro.

Ao contrário de INVALID_ARGUMENT, este erro indica um problema que pode ser corrigido se o estado do sistema for alterado. Por exemplo, um sistema de ficheiros de 32 bits gera INVALID_ARGUMENT se lhe for pedido que leia num desvio que não esteja no intervalo [0,2^32-1], mas gera OUT_OF_RANGE se lhe for pedido que leia a partir de um desvio após o tamanho do ficheiro atual.

Existe alguma sobreposição entre FAILED_PRECONDITION e OUT_OF_RANGE. Recomendamos a utilização de OUT_OF_RANGE (o erro mais específico) quando se aplica, para que os autores de chamadas que estão a iterar num espaço possam procurar facilmente um erro OUT_OF_RANGE para detetar quando terminam.

Mapeamento HTTP: 400 Pedido errado

UNIMPLEMENTED

A operação não está implementada ou não é suportada/ativada neste serviço.

Mapeamento HTTP: 501 Não implementado

INTERNAL

Erros internos. Isto significa que algumas invariantes esperadas pelo sistema subjacente foram quebradas. Este código de erro está reservado para erros graves.

Mapeamento HTTP: 500 Erro interno do servidor

UNAVAILABLE

O serviço está atualmente indisponível. Esta é provavelmente uma condição temporária que pode ser corrigida ao tentar novamente com uma recusa. Tenha em atenção que nem sempre é seguro repetir operações não idempotentes.

Consulte as diretrizes acima para decidir entre FAILED_PRECONDITION, ABORTED e UNAVAILABLE.

Mapeamento HTTP: 503 Serviço indisponível

DATA_LOSS

Perda de dados irrecuperável ou corrupção de dados.

Mapeamento HTTP: 500 Erro interno do servidor

ErrorLogEntry

Uma entrada que descreve um erro que ocorreu.

Representação JSON
{
  "objectUri": string,
  "errorDetails": [
    string
  ]
}
Campos
objectUri

string

Obrigatório. Apenas saída. URL do objeto. Por exemplo, gs://my_bucket/object.txt

errorDetails[]

string

Opcional. Apenas saída. É registado um máximo de 5 entradas do registo de erros por código de erro para cada tarefa.

Estado

Descreve o estado de uma tarefa.

Enumerações
STATE_UNSPECIFIED Valor predefinido. Este valor não é usado.
RUNNING Em curso.
SUCCEEDED Concluído com êxito.
CANCELED Cancelada pelo utilizador.
FAILED Terminado devido a uma falha não recuperável.

Métodos

cancel

Cancela um trabalho em lote num determinado projeto para uma determinada localização.

create

Cria um trabalho em lote num determinado projeto para uma determinada localização.

delete

Elimina um trabalho em lote num determinado projeto para uma determinada localização.

get

Obtém uma tarefa em lote num determinado projeto para uma determinada localização.

list

Apresenta todos os trabalhos em lote num determinado projeto para uma determinada localização.