Report sull'inventario di Storage Insights

La funzionalità Report sull'inventario di Storage Insights ti aiuta a gestire l'archiviazione degli oggetti su larga scala. È un'alternativa più rapida e pianificata all'operazione API Objects: list. Utilizza i report sull'inventario di Storage Insights se vuoi convalidare la migrazione di bucket di grandi dimensioni senza alcun impatto sulle prestazioni o controllare l'integrità degli oggetti in un singolo bucket.

I report sull'inventario contengono informazioni sui metadati relative agli oggetti, come la classe di archiviazione, l'ETag e il tipo di contenuto dell'oggetto. Queste informazioni ti aiutano ad analizzare i costi di archiviazione, controllare e convalidare gli oggetti e garantire la sicurezza e la conformità dei dati. Puoi esportare i report sull'inventario come file con valori separati da virgole (CSV) o Apache Parquet in modo da poterli analizzare ulteriormente utilizzando strumenti come BigQuery.

Questa pagina fornisce una panoramica della funzionalità Report sull'inventario di Storage Insights. Per istruzioni su come utilizzare la funzionalità, vedi Creare e gestire i report sull'inventario.

Panoramica dei report sull'inventario

I report sull'inventario contengono un elenco di oggetti e dei relativi metadati associati per un determinato bucket, noto anche come bucket di origine. Per generare report sull'inventario, devi prima creare una configurazione del report sull'inventario che definisca la frequenza di generazione dei report, i campi dei metadati che vuoi includere nei report e un bucket per generare e archiviare i report, noto anche come bucket di destinazione.

Quando crei una configurazione del report sull'inventario, le viene assegnato automaticamente un identificatore univoco universale (UUID). Questo campo non è modificabile. Tuttavia, puoi modificare i seguenti campi di una configurazione del report sull'inventario:

  • Il nome visualizzato della configurazione del report sull'inventario
  • I campi dei metadati degli oggetti inclusi nei report sull'inventario
  • Il bucket di destinazione in cui vengono archiviati i report sull'inventario
  • La pianificazione che determina la frequenza con cui vengono generati i report sull'inventario
  • Il formato del file in cui vengono generati i report sull'inventario (CSV o Apache Parquet)

Quando elimini una configurazione di report sull'inventario, i nuovi report sull'inventario non vengono più generati per la configurazione, ma i report sull'inventario esistenti rimangono.

Bucket di origine e destinazione

Il bucket di origine contiene gli oggetti per i quali vuoi generare report sull'inventario. Contiene anche la configurazione del report sull'inventario. Puoi avere fino a 100 configurazioni di report sull'inventario in un bucket di origine.

Il bucket di destinazione archivia i report sull'inventario generati. Il bucket di destinazione deve soddisfare i seguenti requisiti:

  • Deve trovarsi nella stessa posizione del bucket di origine.
  • Deve trovarsi nello stesso progetto del bucket di origine.
  • Può essere uguale al bucket di origine.

Quando crei per la prima volta una configurazione del report sull'inventario, viene creato automaticamente un service agent per tuo conto. Per creare configurazioni dei report sull'inventario e scrivere report sull'inventario nel bucket di destinazione, sia tu che il tuo agente di servizio dovete disporre delle autorizzazioni IAM richieste. Consulta le autorizzazioni richieste per te e per il tuo agente di servizio.

Storage Insights utilizza i nomi dei bucket di origine e di destinazione per determinare quali bucket utilizzare durante l'esecuzione dei job. Se elimini un bucket di origine o di destinazione e in un secondo momento ne crei uno nuovo con lo stesso nome, Storage Insights eseguirà i job utilizzando il nuovo bucket.

Campi dei metadati degli oggetti

I seguenti campi di metadati possono essere inclusi in un report sull'inventario. I campi dei metadati contrassegnati come "Obbligatori" devono essere inclusi nel report sull'inventario.

Campo metadati Descrizione Note
progetto L'ID del progetto in cui si trova il bucket di origine. Obbligatorio
bucket Il nome del bucket di origine. Obbligatorio
nome Il nome dell'oggetto. Obbligatorio
località La posizione del bucket di origine. Facoltativo
dimensioni Le dimensioni dell'oggetto. Facoltativo
timeCreated L'ora di creazione dell'oggetto nel formato RFC 3339. Facoltativo
timeDeleted L'ora di eliminazione dell'oggetto nel formato RFC 3339. Restituito se e solo se questa versione dell'oggetto non è più una versione live, ma rimane nel bucket come versione non corrente. Facoltativo
aggiornato L'ora di modifica dei metadati dell'oggetto nel formato RFC 3339. Facoltativo
storageClass La classe di archiviazione dell'oggetto. Facoltativo
etag Tag di entità HTTP 1.1 per l'oggetto. Facoltativo
retentionExpirationTime Il momento più remoto in cui l'oggetto può essere eliminato, che dipende da qualsiasi configurazione della conservazione impostata per l'oggetto e da qualsiasi criterio di conservazione impostato per il bucket che contiene l'oggetto. Il valore di retentionExpriationTime è fornito nel formato RFC 3339. Facoltativo
crc32c Il checksum CRC32C, come descritto nell'appendice B del documento RFC 4960, codificato utilizzando base64 in ordine dei byte big-endian. Per ulteriori informazioni sul checksum CRC32C, consulta la sezione Metadati degli oggetti. Facoltativo
md5Hash L'hash MD5 dei dati, codificato utilizzando base64. Questo campo non è presente per gli oggetti compositi. Per ulteriori informazioni sull'hash MD5, consulta la sezione Metadati dell'oggetto. Facoltativo
di generazione I contenuti generati di questo oggetto. Utilizzato per il controllo delle versioni degli oggetti. Facoltativo
metagenerazione La versione dei metadati per questo oggetto in questa generazione. Utilizzato per le precondizioni e per rilevare le modifiche nei metadati. Un numero di metagenerazione è significativo solo nel contesto di una particolare generazione di un particolare oggetto. Facoltativo
contentType Il Content-Type dei dati dell'oggetto. Se un oggetto viene archiviato senza un tipo di contenuti, viene pubblicato come application/octet-stream. Facoltativo
contentEncoding Il valore Content-Encoding dei dati dell'oggetto. Facoltativo
timeStorageClassUpdated L'ora in cui è stata modificata l'ultima volta la classe di archiviazione dell'oggetto. Quando l'oggetto viene creato inizialmente, viene impostato su timeCreated. Facoltativo

Per maggiori informazioni sui campi dei metadati degli oggetti, consulta la sezione Metadati degli oggetti.

Shard del report sull'inventario

Quando un report sull'inventario contiene più di 1.000.000 di oggetti, Storage Insights genera uno o più oggetti shard per comporre il report sull'inventario. Quando tutti i segmenti di un report sull'inventario sono stati generati correttamente, viene generato un file manifest nello stesso bucket di destinazione dei segmenti.

File manifest del report sull'inventario

La presenza di un file manifest indica che sono stati generati tutti gli shard che compongono un report sull'inventario. Il file manifest fornisce anche i nomi degli oggetti shard del report sull'inventario.

Il file manifest segue la convenzione di denominazione REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json, dove:

  • REPORT_CONFIG_UUID è l'UUID generato automaticamente della configurazione del report di inventario.

  • TARGET_DATETIME è la data e l'ora UTC generate automaticamente in cui viene generato un report sull'inventario.

Un esempio di nome file manifest è fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

Il file manifest.json contiene i seguenti campi compilati automaticamente:

{
  "report_config": REPORT_CONFIG_FIELDS,
  "records_processed": NUMBER_OF_INCLUDED_OBJECTS,
  "snapshot_time": "SNAPSHOT_TIME,
  "target_datetime": "TARGET_DATETIME,
  "shard_count": SHARD_COUNT,
  "report_shards_file_names": [
    SHARD_FILE_NAME
    ...]
}

Dove:

  • REPORT_CONFIG_FIELDS include i campi contenuti nella risorsa ReportConfig.

  • NUMBER_OF_INCLUDED_OBJECTS è il numero di oggetti inclusi nel report sull'inventario.

  • SNAPSHOT_TIME è la data e l'ora UTC generate automaticamente in cui si verifica lo snapshot dei dati. Tutti i dati di un report sull'inventario vengono acquisiti nello snapshot.

  • TARGET_DATETIME è la data e l'ora UTC generate automaticamente in cui viene generato un report sull'inventario.

  • SHARD_COUNT è il numero totale di shard generati che compongono il report sull'inventario.

  • SHARD_FILE_NAME è il nome di uno shard che compone un report sull'inventario.

Un file manifest.json di esempio ha il seguente aspetto:

{
  "report_config":
     {
       "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0",
       "createTime": "2023-06-08T08:07:53.397366139Z",
       "updateTime": "2023-06-08T08:07:53.552347723Z",
       "frequencyOptions": {
         "frequency": "DAILY",
         "startDate": {
           "year": 2023,
           "month": 6,
           "day": 9
         }
         "endDate": {
           "year": 2023,
           "month": 6,
           "day": 23
         }
       },
       "csvOptions": {
         "recordSeparator": "\n",
         "delimiter": ","
       },
       "objectMetadataReportOptions": {
         "metadataFields": [
           "project",
           "bucket",
           "name",
           "location",
           "updated",
           "storageClass",
         ],
         "storageFilters": {
           "bucket": "my-test-bucket"
         },
         "storageDestinationOptions": {
           "bucket": "example-bucket",
           "destinationPath": "folder/subfolder"
         }
       }
     },
  "records_processed": 3993900,
  "snapshot_time" : "2023-06-06T00:07:27Z",
  "target_datetime": {
    "year": 2023,
    "month": 6,
    "day": 6
  },
  "shard_count": 4,
  "report_shards_file_names": [
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv",
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv",
    ...
  ],
}

Prezzi

L'utilizzo dei report sull'inventario è soggetto a prezzi che dipendono dalla posizione del bucket. Per ulteriori informazioni sui prezzi dei report sull'inventario, consulta la sezione Prezzi.

Audit logging

Cloud Storage crea audit log quando i report sull'inventario vengono generati nel bucket di destinazione. Storage Insights genera log di controllo ogni volta che vengono create, aggiornate o eliminate configurazioni dei report di inventario.

Cloud Storage non crea audit log quando una configurazione del report di inventario legge i metadati degli oggetti da un bucket di origine.

Integrazione con i Controlli di servizio VPC

Puoi fornire un livello di sicurezza aggiuntivo per le risorse Storage Insights utilizzando i Controlli di servizio VPC. Quando utilizzi Controlli di servizio VPC, aggiungi progetti ai perimetri di servizio che proteggono risorse e servizi dalle richieste provenienti dall'esterno del perimetro. Per scoprire di più sui Controlli di servizio VPC e sui perimetri di servizio, consulta Dettagli e configurazione dei perimetri di servizio.

Limitazione

L'attivazione del filtro IP sui bucket Cloud Storage impedisce a Storage Insights di accedere al bucket, indipendentemente dal fatto che utilizzi un agente di servizio per interagire con Cloud Storage. Per evitare interruzioni del servizio, ti consigliamo di non utilizzare il filtro IP sui bucket Cloud Storage se stai creando report di inventario per quel bucket.

Passaggi successivi

Scopri come creare una configurazione di report dell'inventario e iniziare a generare report dell'inventario.