En esta página se describe cómo configurar y ver los registros de Cloud Logging del Servicio de transferencia de Storage.
Cloud Logging es compatible con todas las transferencias del servicio de transferencia de Storage. Las operaciones de FIND
no se registran en las transferencias basadas en agentes.
En las transferencias de sistemas de archivos, también se pueden configurar registros de transferencia de sistemas de archivos.
Antes de empezar
Antes de empezar, comprueba que tienes acceso a Cloud Logging. Te recomendamos el rol de Gestión de Identidades y Accesos Visor de registros (roles/logging.viewer). Para obtener más información sobre el acceso a Logging, consulta Control de acceso con IAM.
A continuación, se describe cómo verificar y conceder acceso de gestión de identidades y accesos:
- Ver acceso actual para verificar el acceso que tiene cada principal.
- Concede un rol a los principales correspondientes de tu proyecto.
Acciones registrables
Se pueden registrar las siguientes acciones:
FIND
: buscar trabajo, como enumerar archivos en un directorio, enumerar objetos en un contenedor o enumerar carpetas gestionadas en un contenedor. No se admite en las transferencias basadas en agentes.COPY
: copiar archivos u objetos en Cloud Storage.DELETE
: elimina archivos u objetos en el origen o en el destino. En el caso de las transferencias entre dos sistemas de archivos, también se registra la eliminación de archivos del segmento de Cloud Storage intermediario.
Estados registrables
En cada acción, puedes registrar uno o varios de los siguientes estados:
SUCCEEDED
: la acción se ha realizado correctamente.FAILED
: no se ha podido realizar la acción.SKIPPED
: Solo se aplica a la acción COPY y solo se admite en las tareas de transferencia basadas en agentes. Debe configurarse mediantegcloud
o la API REST. Este estado significa que se ha omitido la copia. Esto ocurre cuando el archivo ya existe en el receptor y la tarea de transferencia está configurada para ignorar los archivos que ya existen.
Activar el almacenamiento de registros
Para habilitar el registro, especifica las acciones y los estados que se deben registrar.
CLI de gcloud
Cuando crees una tarea de transferencia con gcloud transfer jobs create
, usa las siguientes marcas para habilitar el registro:
gcloud transfer jobs create SOURCE DESTINATION \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
Debe especificar al menos un valor para cada marca.
REST
Para crear una configuración de registro, usa transferJobs.create
con un 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/"
},
}
}
Ajusta loggingConfig
para incluir el logActions
y el logActionStates
específicos que quieras registrar. Por ejemplo, para registrar cuándo fallan las acciones de copiar y buscar, proporciona el siguiente loggingConfig
:
"loggingConfig": {
"logActions": ["COPY", "FIND"],
"logActionStates": ["FAILED"],
}
Actualizar una configuración de registro
CLI de gcloud
Para actualizar la configuración de registro de un trabajo, usa las marcas adecuadas con el comando gcloud transfer jobs update
:
gcloud transfer jobs update NAME \
--log-actions=copy,delete,find \
--log-action-states=succeeded,failed,skipped
Para inhabilitar el registro de esta tarea, especifica --clear-log-config
:
gcloud transfer jobs update NAME --clear-log-config
REST
Para actualizar la configuración de registro de una tarea de transferencia, usa transferJobs.patch
con 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"
}
El campo updateTransferJobFieldMask
especifica el campo que se va a actualizar en esta solicitud y es obligatorio.
Para inhabilitar el registro de este trabajo, envía un loggingConfig
con listas vacías para logActions
y logActionStates
:
{
"projectId": "test-id-001",
"transferJob": {
"loggingConfig": {
"logActions": [],
"logActionStates": [],
},
},
"updateTransferJobFieldMask": "loggingConfig"
}
Ver registros
Para ver los registros de transferencias, sigue estos pasos:
Google Cloud consola
Ve al Google Cloud menú de navegación menu y selecciona Registro > Explorador de registros :<br\></br\>
Selecciona un Google Cloud proyecto.
En el menú Actualizar, cambia de Visualizador de registros antiguo a Explorador de registros.
Para filtrar los registros y que solo se muestren las entradas de Storage Transfer Service, escribe
storage_transfer_job
en el campo de consulta y haz clic en Ejecutar consulta.En el panel Resultados de la consulta, haga clic en Editar hora para cambiar el periodo del que quiere obtener resultados.
Para obtener más información sobre cómo usar el Explorador de registros, consulta el artículo Usar el Explorador de registros.
CLI de gcloud
Para usar la CLI de gcloud y buscar registros de Servicio de transferencia de Storage, usa el comando gcloud logging read
.
Especifica un filtro para limitar los resultados a los registros del Servicio de transferencia de Storage.
gcloud logging read "resource.type=storage_transfer_job"
API de registro en la nube
Usa el método de la API entries.list
Cloud Logging.
Para filtrar los resultados de forma que solo se incluyan las entradas relacionadas con el Servicio de transferencia de Storage, utilice el campo filter
. A continuación, se muestra un objeto de solicitud JSON de ejemplo.
{
"resourceNames":
[
"projects/my-project-name"
],
"orderBy": "timestamp desc",
"filter": "resource.type=\"storage_transfer_job\""
}
Formato del registro de transferencias
En la siguiente sección se describen los campos de los registros del Servicio de transferencia de Storage.
Todos los campos específicos del Servicio de transferencia de Storage se encuentran en un objeto jsonPayload
.
FIND
acciones
{
"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"
}
}
}
Acciones de COPY
y 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 registro | Descripción |
---|---|
|
|
@type |
El valor es siempre
type.googleapis.com/google.storagetransfer.logging.TransferActivityLog .
|
action |
Describe la acción de esta tarea concreta. Uno de los siguientes:
|
findAction |
Especifica si el asunto de la acción de búsqueda era un objeto o una carpeta gestionada. |
completeTime |
Marca de tiempo conforme a ISO 8601 en la que se completó la operación. |
destinationContainer |
Solo se incluye en las operaciones El contenedor de destino de esta transferencia. Contiene dos subcampos:
|
destinationObject |
Solo se incluye en las operaciones Información sobre el objeto de destino. Contiene dos subcampos:
Por ejemplo: "destinationObject": { "type": "POSIX_FS", "posixFile": { "crc32c": "0", "path": "/tmp/data/filename.txt", "lastModifiedTime": "2022-09-22T04:33:45Z" } } |
operation |
El nombre completo de
transferOperations . |
sourceContainer |
Solo se incluye en las operaciones El contenedor de origen de esta transferencia. Contiene dos subcampos:
Por ejemplo: "sourceContainer": { "gcsBucket": { "bucket": "my-bucket-1" } type: "GCS" } |
sourceObject |
Solo se incluye en las operaciones Información sobre el objeto de origen. Contiene dos subcampos:
Por ejemplo: "sourceObject": { "gcsObject": { "bucket": "my-bucket-1" "lastModifiedTime": "2021-12-07T16:41:09.456Z" "md5": "WgnCOIdfCXNTUDpQJSKb2w==" "objectKey": "README.md" } type: "GCS" } |
status |
El estado de la acción. Si |
Además, el campo resource
de nivel superior contiene los siguientes campos.
"resource": {
"labels": {
"job_id": "transferJobs/7876027868280507149"
"project_id": "my-project-id"
}
"type": "storage_transfer_job"
}
Campo de registro | Descripción |
---|---|
resource.labels.job_id |
Nombre de la tarea del Servicio de transferencia de Storage a la que pertenece este registro. |
resource.labels.project_id |
El Google Cloud ID del proyecto de esta transferencia. |