Registos de transferência do sistema de ficheiros

Este documento descreve o formato atual do registo de transferência do sistema de ficheiros.

Veja os registos de transferência

As transferências do sistema de ficheiros produzem registos de transferências detalhados que pode usar para validar os resultados da tarefa de transferência. Cada tarefa produz uma coleção de registos de transferência que são armazenados no contentor do Cloud Storage da transferência: o contentor de origem, o contentor de destino ou o contentor intermédio, consoante a direção da transferência.

Os registos são produzidos enquanto a tarefa de transferência está em execução. Normalmente, os registos completos estão disponíveis no prazo de 15 minutos após a conclusão da tarefa.

Veja os registos no contentor do Cloud Storage

Os registos de transferência são armazenados no contentor do Cloud Storage da transferência no seguinte caminho:

bucket-name/storage-transfer/logs/transferJobs/job-name/transferOperations/operation-name

where:

  • bucket-name é o nome do contentor do Cloud Storage envolvido nesta transferência.
  • job-name é o nome da tarefa, conforme apresentado na lista de tarefas.
  • operation-name é o nome da operação de transferência individual, composto pela indicação de tempo ISO8601 e pelo ID gerado.

Os registos são agregados e armazenados como objetos. O nome de cada lote de registos é definido segundo a respetiva hora de criação. Por exemplo:

my bucket/storage-transfer/logs/transferOperations/job1/2019-10-19T10_52_56.519081644-07_00.log

Execute consultas do BigQuery nos registos de transferências

Para executar consultas do BigQuery nos registos de transferência:

  1. Carregue os dados de registo CSV para o BigQuery.

  2. Execute a sua consulta do BigQuery.

Consultas de exemplo

Apresente o número de ficheiros que tentaram a transferência e se esta falhou ou teve êxito

select ActionStatus, count(*) as num_files
from big-query-table
where Action="TRANSFER"
group by 1;

Em que big-query-table é o nome da tabela do BigQuery que contém o registo de transferência.

Apresentar todos os ficheiros cuja transferência falhou

select Src_File_Path
from big-query-table
where Action="TRANSFER" and ActionStatus="FAILED";

Em que big-query-table é o nome da tabela do BigQuery que contém o registo de transferência.

Apresentar a soma de verificação e a data/hora de cada ficheiro transferido com êxito

select Timestamp, Action, ActionStatus, Src_File_Path, Src_File_Size,
Src_File_Crc32C, Dst_Gcs_BucketName, Dst_Gcs_ObjectName, Dst_Gcs_Size,
Dst_Gcs_Crc32C, Dst_Gcs_Md5
from big-query-table
where Action="TRANSFER" and ActionStatus="SUCCEEDED";

Em que big-query-table é o nome da tabela do BigQuery que contém o registo de transferência.

Apresentar todas as informações de erro para diretórios cuja transferência falhou

select FailureDetails_ErrorType, FailureDetails_GrpcCode, FailureDetails_Message
from big-query-table
where Action="FIND" and ActionStatus="FAILED";

Em que big-query-table é o nome da tabela do BigQuery que contém o registo de transferência.

Descrição do formato

Os registos de transferência do sistema de ficheiros são guardados no formato de valores separados por tabulações (TSV) e contêm uma linha de cabeçalho com nomes de campos. A ordem em que os campos são apresentados é geralmente estável, mas não é garantida e tem de ser inferida a partir da linha de cabeçalho.

Cada linha representa um único registo, ou seja, uma atualização do estado de parte da operação de transferência geral.

A tabela seguinte descreve os campos no ficheiro de registo:

Campo de registo Descrição
Data/hora Data/hora em conformidade com a norma ISO 8601 em que registámos o evento.
Nome da operação O nome da operação totalmente qualificado.
Ação

Descreve a ação desta tarefa específica. Uma das seguintes opções:

  • FIND: encontrar trabalho a fazer, como listar ficheiros no local
  • TRANSFERIR: a transferir ficheiros
  • DELETE: eliminar ficheiros no destino
ActionStatus

O estado de nível superior da ação. Uma das seguintes opções:

  • SUCCEEDED: a ação foi concluída com êxito.
  • FAILED: a ação falhou. Pode encontrar detalhes adicionais sobre a falha nos campos FailureDetails.
FailureDetails.ErrorType Uma string que representa o tipo de erro encontrado. Por exemplo, FILE_NOT_FOUND. Preenchido apenas se tiver sido encontrado um erro.
FailureDetails.GrpcCode Um valor de string do código RPC da Google. Por exemplo, FAILED_PRECONDITION. Preenchido apenas se tiver sido encontrado um erro.
FailureDetails.Message Uma mensagem de erro legível para humanos relativa à falha. Preenchido apenas se tiver sido encontrado um erro.
Src.Type String que descreve o tipo de sistema de armazenamento da origem. Esta opção está sempre ON_PREM.
Src.File.Path Caminho do ficheiro no local transferido.
Src.File.LastModified A data/hora de modificação POSIX (mtime) do ficheiro no local.
Src.FileSize O tamanho do ficheiro em bytes.
Src.File.Crc32C A soma de verificação CRC32C do conteúdo do ficheiro.
Dst.Type String que descreve o tipo de sistema de armazenamento de destino. Esta opção está sempre GCS.
Dst.Gcs.BucketName O nome do contentor de destino do Cloud Storage.
Dst.Gcs.ObjectName O prefixo do objeto para o objeto de destino.
Dst.Gcs.LastModified A hora de modificação POSIX (mtime) do objeto de destino.
Dst.Gcs.Size O tamanho do objeto em bytes.
Dst.Gcs.Crc23C A soma de verificação CRC32C do conteúdo do objeto.
Dst.Md5 A soma de verificação MD5 do objeto final no Cloud Storage.

Exemplo de entrada do registo

Segue-se um exemplo de duas linhas de saída do registo, o cabeçalho e uma linha de dados:

Timestamp       OperationName   Action  ActionStatus    FailureDetails.ErrorType        FailureDetails.GrpcCode FailureDetails.Message     Src.Type        Src.File.Path   Src.File.LastModified   Src.File.Size   Src.File.Crc32C Dst.Type   Dst.Gcs.BucketName      Dst.Gcs.ObjectName      Dst.Gcs.LastModified    Dst.Gcs.Size    Dst.Gcs.Crc32C  Dst.Gcs.Md5
2019-10-18T21:06:17Z    transferOperations/agent-manual_transferJobs/OPI1494275376193533620_0000000001571432448     TRANSFER        SUCCEEDED                               ON_PREM_FILE    /mnt/disks/disk-1/directory1/file.txt      1561409931      406     3089075447      GCS_OBJECT      destination-gcs-bucket    file.txt  1571432776      406     3089075447      FDjya7dWbd0OrgnZ7g9ZJw==