Questa pagina descrive come configurare e visualizzare Cloud Logging per i log di Storage Transfer Service.
Cloud Logging per Storage Transfer Service è supportato per tutti i trasferimenti. Le operazioni FIND
non vengono registrate per i trasferimenti basati su agenti.
I trasferimenti del file system possono anche configurare log di trasferimento del file system.
Prima di iniziare
Prima di iniziare, verifica di avere accesso a Cloud Logging. Consigliamo il ruolo Visualizzatore log (roles/logging.viewer) di Identity and Access Management. Per ulteriori informazioni sull'accesso ai log, consulta Controllo dell'accesso con IAM.
Di seguito viene descritto come verificare e concedere l'accesso IAM:
- Visualizza l'accesso corrente per verificare l'accesso di ogni entità.
 - Assegna un ruolo alle entità pertinenti del progetto.
 
Azioni registrabili
È possibile registrare le seguenti azioni:
FIND: trovare lavoro da svolgere, ad esempio elencare i file in una directory, elencare gli oggetti in un bucket o elencare le cartelle gestite in un bucket. Non supportato per i trasferimenti basati su agenti.COPY: copia di file o oggetti in Cloud Storage.DELETE: eliminazione di file o oggetti nell'origine o nella destinazione. Per i trasferimenti tra due file system, vengono registrati anche l'eliminazione dei file dal bucket Cloud Storage intermedio.
Stati registrabili
Per ogni azione, puoi scegliere di registrare uno o più dei seguenti stati:
SUCCEEDED: l'azione è riuscita.FAILED: l'azione non è riuscita.SKIPPED: si applica solo all'azione COPY ed è supportato solo per i job di trasferimento basati su agenti. Deve essere impostato utilizzandogcloudo l'API REST. Questo stato indica che la copia è stata ignorata. Questo accade quando il file esiste già nel sink e il job di trasferimento è configurato per ignorare i file esistenti.
Abilita il logging
Per attivare il logging, specifica le azioni e gli stati da registrare.
Interfaccia a riga di comando gcloud
Quando crei un job di trasferimento con gcloud transfer jobs create, utilizza i seguenti flag per attivare il logging:
gcloud transfer jobs create SOURCE DESTINATION \
  --log-actions=copy,delete,find \
  --log-action-states=succeeded,failed,skipped
Devi specificare almeno un valore per ogni flag.
REST
Per creare una configurazione di logging, utilizza
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/"
      },
   }
}
Modifica loggingConfig in modo da includere logActions e
logActionStates specifici da registrare. Ad esempio, per registrare quando le azioni di copia e ricerca non riescono,
fornisci quanto segue loggingConfig:
"loggingConfig": {
  "logActions": ["COPY", "FIND"],
  "logActionStates": ["FAILED"],
}
Aggiornare una configurazione di logging
Interfaccia a riga di comando gcloud
Per aggiornare la configurazione di registrazione di un job esistente, utilizza i flag appropriati con il comando gcloud transfer jobs update:
gcloud transfer jobs update NAME \
  --log-actions=copy,delete,find \
  --log-action-states=succeeded,failed,skipped
Per disattivare il logging per questo job, specifica --clear-log-config:
gcloud transfer jobs update NAME --clear-log-config
REST
Per aggiornare la configurazione di logging di un job di trasferimento esistente, utilizza
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"
}
updateTransferJobFieldMask specifica il campo che viene aggiornato in questa richiesta ed è obbligatorio.
Per disattivare la registrazione per questo job, invia un messaggio loggingConfig con elenchi vuoti per logActions e logActionStates:
{
  "projectId": "test-id-001",
  "transferJob": {
    "loggingConfig": {
       "logActions": [],
       "logActionStates": [],
    },
  },
  "updateTransferJobFieldMask": "loggingConfig"
}
Visualizza i log
Per visualizzare i log di trasferimento:
Google Cloud console
Vai al Google Cloud menu di navigazione menu e seleziona Logging > Esplora log :<br\></br\>
Seleziona un Google Cloud progetto.
Nel menu Esegui l'upgrade, passa dal Visualizzatore log legacy a Esplora log.
Per filtrare i log in modo da visualizzare solo le voci di Storage Transfer Service, digita
storage_transfer_jobnel campo della query e fai clic su Esegui query.Nel riquadro Risultati delle query, fai clic su Modifica ora per modificare il periodo di tempo per cui restituire i risultati.
Per ulteriori informazioni sull'utilizzo di Esplora log, consulta Utilizzare Esplora log.
Interfaccia a riga di comando gcloud
Per utilizzare gcloud CLI per cercare i log di Storage Transfer Service, utilizza il comando gcloud logging read.
Specifica un filtro per limitare i risultati ai log di Storage Transfer Service.
gcloud logging read "resource.type=storage_transfer_job"
API Cloud Logging
Utilizza il metodo entries.list
dell'API Cloud Logging.
Per filtrare i risultati in modo da includere solo le voci relative a Storage Transfer Service,
utilizza il campo filter. Di seguito è riportato un esempio di oggetto richiesta JSON.
{
"resourceNames":
  [
    "projects/my-project-name"
  ],
  "orderBy": "timestamp desc",
  "filter": "resource.type=\"storage_transfer_job\""
}
Formato del log di trasferimento
La sezione seguente descrive i campi per i log di Storage Transfer Service.
Tutti i campi specifici di Storage Transfer Service sono contenuti in un
oggetto jsonPayload.
 FIND azioni 
{
  "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"
    }
  }
}
 Azioni 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 log | Descrizione | 
|---|---|
 | 
    |
@type | 
    Il valore è sempre
      type.googleapis.com/google.storagetransfer.logging.TransferActivityLog.
     | 
  
action | 
    Descrive l'azione di questa attività specifica. Il valore sarà uno dei seguenti: 
  | 
  
findAction | 
    Specifica se l'oggetto dell'azione di ricerca era un oggetto o una cartella gestita.  | 
  
completeTime | 
    Il timestamp conforme a ISO 8601 al termine dell'operazione. | 
destinationContainer | 
    Presente solo per le operazioni  Il contenitore di destinazione per questo trasferimento. Contiene due campi secondari: 
  | 
  
destinationObject | 
    Presente solo per le operazioni  Informazioni sull'oggetto nella destinazione. Contiene due campi secondari: 
 Ad esempio: "destinationObject": { "type": "POSIX_FS", "posixFile": { "crc32c": "0", "path": "/tmp/data/filename.txt", "lastModifiedTime": "2022-09-22T04:33:45Z" } }  | 
  
operation | 
    Il nome 
      transferOperations completo. | 
  
sourceContainer | 
    Presente solo per le operazioni  Il contenitore di origine per questo trasferimento. Contiene due campi secondari: 
 Ad esempio: "sourceContainer": { "gcsBucket": { "bucket": "my-bucket-1" } type: "GCS" }  | 
  
sourceObject | 
    Presente solo per le operazioni  Informazioni sull'oggetto di origine. Contiene due campi secondari: 
 Ad esempio: "sourceObject": { "gcsObject": { "bucket": "my-bucket-1" "lastModifiedTime": "2021-12-07T16:41:09.456Z" "md5": "WgnCOIdfCXNTUDpQJSKb2w==" "objectKey": "README.md" } type: "GCS" }  | 
  
status | 
    Lo stato dell'azione. Se   | 
  
Inoltre, il campo di primo livello resource contiene i seguenti campi.
"resource": {
  "labels": {
    "job_id": "transferJobs/7876027868280507149"
    "project_id": "my-project-id"
  }
  "type": "storage_transfer_job"
}
| Campo log | Descrizione | 
|---|---|
resource.labels.job_id | 
    Il nome del job Storage Transfer Service a cui appartiene questo log. | 
resource.labels.project_id | 
    L' Google Cloud ID progetto per questo trasferimento. |