Esta página descreve como configurar e ver o Cloud Logging para os registos do Serviço de transferência de armazenamento.
O Cloud Logging para o Serviço de transferência de armazenamento é suportado para todas as transferências. FIND
As operações não são registadas para transferências baseadas em agentes.
As transferências do sistema de ficheiros podem configurar adicionalmente os registos de transferência do sistema de ficheiros.
Antes de começar
Antes de começar, verifique se tem acesso ao Cloud Logging. Recomendamos a função de Identity and Access Management Leitor de registos (roles/logging.viewer). Para mais informações sobre o acesso ao registo, consulte o artigo Controlo de acesso com a IAM.
As seguintes descrições explicam como validar e conceder acesso ao IAM:
- Ver acesso atual para verificar o acesso que cada principal tem.
- Conceda uma função aos principais relevantes no seu projeto.
Ações registáveis
As seguintes ações podem ser registadas:
FIND
: encontrar trabalho a fazer, como listar ficheiros num diretório, listar objetos num contentor ou listar pastas geridas num contentor. Não suportado para transferências baseadas em agentes.COPY
: copiar ficheiros ou objetos para o Cloud Storage.DELETE
: eliminar ficheiros ou objetos na origem ou no destino. Para transferências entre dois sistemas de ficheiros, também regista a eliminação de ficheiros do contentor do Cloud Storage intermediário.
Estados registáveis
Para cada ação, pode optar por registar um ou mais dos seguintes estados:
SUCCEEDED
: a ação foi bem-sucedida.FAILED
: a ação falhou.SKIPPED
: aplica-se apenas à ação COPY e só é suportado para tarefas de transferência baseadas em agentes. Tem de ser definido através dagcloud
ou da API REST. Este estado significa que a cópia foi ignorada. Isto ocorre quando o ficheiro já existe no destino e a tarefa de transferência está configurada para ignorar os ficheiros existentes.
Ative o registo
Para ativar o registo, especifique as ações e os estados a registar.
CLI gcloud
Quando criar uma tarefa de transferência com gcloud transfer jobs create
, use as seguintes flags para ativar o registo:
gcloud transfer jobs create SOURCE DESTINATION \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
Tem de especificar, pelo menos, um valor para cada sinalização.
REST
Para criar uma configuração de registo, use
transferJobs.create
com um
LoggingConfig
:
{
"name":"transferJobs/myFirstTransfer",
"status": "ENABLED",
"projectId": "test-id-001",
"loggingConfig": {
"logActions": ["FIND", "DELETE", "COPY"],
"logActionStates": ["SUCCEEDED", "FAILED", "SKIPPED"], #SKIPPED is only supported for agent-based transfers
},
"transferSpec": {
"awsS3DataSource": {
"bucketName": "AWS_SOURCE_NAME",
"awsAccessKey": {
"accessKeyId": "AWS_ACCESS_KEY_ID",
"secretAccessKey": "AWS_SECRET_ACCESS_KEY"
}
},
"gcsDataSink": {
"bucketName": "destination_bucket",
"path": "foo/bar/"
},
}
}
Ajuste loggingConfig
para incluir o logActions
específico e logActionStates
para registar. Por exemplo, para registar quando as ações de copiar e encontrar falham,
forneça o seguinte loggingConfig
:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Atualize uma configuração de registo
CLI gcloud
Para atualizar a configuração de registo de um trabalho existente, use as flags adequadas com o comando gcloud transfer jobs update
:
gcloud transfer jobs update NAME \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
Para desativar o registo para esta tarefa, especifique --clear-log-config
:
gcloud transfer jobs update NAME --clear-log-config
REST
Para atualizar a configuração de registo de uma tarefa de transferência existente, use
transferJobs.patch
com
LoggingConfig
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": ["FIND", "DELETE", "COPY"],
"logActionStates": ["SUCCEEDED", "FAILED", "SKIPPED"], #SKIPPED is only supported for agent-based transfers
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
O elemento updateTransferJobFieldMask
especifica o campo que está a ser atualizado neste pedido e é obrigatório.
Para desativar o registo para esta tarefa, envie um loggingConfig
com listas vazias para logActions
e logActionStates
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": [],
"logActionStates": [],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
Ver registos
Para ver os registos de transferências, faça o seguinte:
Google Cloud consola
Aceda ao Google Cloud menu de navegação menu e selecione Registo > Explorador de registos :<br\></br\>
Selecione um Google Cloud projeto.
No menu Atualizar, mude de Visualizador de registos antigo para Explorador de registos.
Para filtrar os seus registos de modo a mostrar apenas as entradas do Serviço de transferência de armazenamento, escreva
storage_transfer_job
no campo de consulta e clique em Executar consulta.No painel Resultados da consulta, clique em Editar hora para alterar o período durante o qual devem ser devolvidos os resultados.
Para mais informações sobre a utilização do Explorador de registos, consulte o artigo Usar o Explorador de registos.
CLI gcloud
Para usar a CLI gcloud para pesquisar registos do Serviço de transferência de armazenamento, use o comando gcloud logging read
.
Especifique um filtro para limitar os resultados aos registos do Serviço de transferência de armazenamento.
gcloud logging read "resource.type=storage_transfer_job"
Cloud Logging API
Use o método da API entries.list
Cloud Logging.
Para filtrar os resultados de modo a incluir apenas entradas relacionadas com o serviço de transferência de armazenamento,
use o campo filter
. Segue-se um objeto de pedido JSON de exemplo.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"storage_transfer_job\""
}
Formato do registo de transferência
A secção seguinte descreve os campos dos registos do Serviço de transferência de armazenamento.
Todos os campos específicos do Serviço de transferência de armazenamento estão contidos num objeto jsonPayload
.
FIND
ações
{
"jsonPayload": {
"@type": "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog",
"action": "FIND",
"completeTime": "2021-12-16T18:58:49.344509695Z",
"destinationContainer": {
"gcsBucket": {
"bucket": "my-bucket-2",
},
"type": "GCS",
},
"operation": "transferOperations/transferJobs-7876027868280507149--3019866490856027148",
"sourceContainer": {
"gcsBucket": {
"bucket": "my-bucket-1"
},
"type": "GCS"
},
"status": {
"statusCode": "OK"
}
}
}
Ações de COPY
e DELETE
{
"jsonPayload": {
"@type": "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog",
"action": "COPY",
"completeTime": "2021-12-16T18:59:00.510509049Z",
"destinationObject": {
"gcsObject": {
"bucket": "my-bucket-2",
"objectKey": "README.md"
},
"type": "GCS",
},
"operation": "transferOperations/transferJobs-7876027868280507149--3019866490856027148",
"sourceObject": {
"gcsObject": {
"bucket": "my-bucket-1",
"lastModifiedTime": "2021-12-07T16:41:09.456Z",
"md5": "WgnCOIdfCXNTUDpQJSKb2w==",
"objectKey": "README.md",
},
"type": "GCS",
},
"status": {
"statusCode": "OK"
}
}
}
Campo de registo | Descrição |
---|---|
|
|
@type |
O valor é sempre
type.googleapis.com/google.storagetransfer.logging.TransferActivityLog .
|
action |
Descreve a ação desta tarefa específica. Uma das seguintes opções:
|
findAction |
Especifica se o assunto da ação de localização era um objeto ou uma pasta gerida. |
completeTime |
A data/hora em conformidade com a norma ISO 8601 em que a operação foi concluída. |
destinationContainer |
Apenas presente para operações O contentor de destino desta transferência. Contém dois subcampos:
|
destinationObject |
Apenas presente para operações Informações sobre o objeto no destino. Contém dois subcampos:
Por exemplo: "destinationObject": { "type": "POSIX_FS", "posixFile": { "crc32c": "0", "path": "/tmp/data/filename.txt", "lastModifiedTime": "2022-09-22T04:33:45Z" } } |
operation |
O nome
transferOperations totalmente qualificado. |
sourceContainer |
Apenas presente para operações O contentor de origem desta transferência. Contém dois subcampos:
Por exemplo: "sourceContainer": { "gcsBucket": { "bucket": "my-bucket-1" } type: "GCS" } |
sourceObject |
Apenas presente para operações Informações sobre o objeto de origem. Contém dois subcampos:
Por exemplo: "sourceObject": { "gcsObject": { "bucket": "my-bucket-1" "lastModifiedTime": "2021-12-07T16:41:09.456Z" "md5": "WgnCOIdfCXNTUDpQJSKb2w==" "objectKey": "README.md" } type: "GCS" } |
status |
O estado da ação. Se |
Além disso, o campo resource
de nível superior contém os seguintes campos.
"resource": {
"labels": {
"job_id": "transferJobs/7876027868280507149"
"project_id": "my-project-id"
}
"type": "storage_transfer_job"
}
Campo de registo | Descrição |
---|---|
resource.labels.job_id |
O nome da tarefa do Serviço de transferência de armazenamento à qual este registo pertence. |
resource.labels.project_id |
O Google Cloud ID do projeto desta transferência. |