Risoluzione dei problemi di Storage Intelligence

Questo documento descrive come risolvere i problemi comuni relativi a Storage Intelligence, ai report sull'inventario di Storage Insights, ai set di dati di Storage Insights, e alle operazioni batch di archiviazione.

Errori di configurazione di Storage Intelligence

Le sezioni seguenti descrivono gli errori che potresti riscontrare durante la configurazione o la gestione di Storage Intelligence per una risorsa.

400: nome bucket non valido

Problema: la richiesta restituisce 400 Bad Request con il messaggio The specified bucket is not valid.

Soluzione: la richiesta non è valida. Assicurati che la richiesta soddisfi i seguenti requisiti:

  • Utilizza locations/global. Storage Intelligence non supporta altre località.
  • Assicurati che i nomi dei bucket o le espressioni regolari in bucket_id_regexes siano validi.

Di seguito è riportato un esempio di richiesta valida:

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "edition_config": "STANDARD",
      "filter": {
        "included_cloud_storage_buckets": {
          "bucket_id_regexes": [
            "my-bucket-name",
            "prod-data-.*"
          ]
        }
      }
    }' \
    "https://storage.googleapis.com/v2/projects/PROJECT_ID/locations/global/intelligenceConfig?updateMask=edition_config,filter"

400: argomento non valido - maschera di aggiornamento vuota

Problema: quando invii una richiesta di configurazione o aggiornamento, la richiesta restituisce 400 Bad Request con il messaggio Empty UPDATE_MASK in the request.

Soluzione: fornisci un UPDATE_MASK non vuoto nella richiesta. UPDATE_MASK specifica un elenco separato da virgole di FieldMask campi nella risorsa IntelligenceConfig da aggiornare (ad esempio updateMask=edition_config o updateMask=edition_config,filter).

400: percorso della maschera di aggiornamento non valido

Problema: quando aggiorni una configurazione, la richiesta restituisce 400 Bad Request con il messaggio Invalid UPDATE_MASK paths.

Soluzione: verifica che ogni nome di campo in UPDATE_MASK corrisponda a un campo valido nella risorsa IntelligenceConfig.

400: il campo non è modificabile

Problema: quando aggiorni una configurazione, la richiesta restituisce 400 Bad Request con il messaggio Invalid UPDATE_MASK: UPDATE_TIME field is not editable.

Soluzione: rimuovi i campi di sistema non modificabili (ad esempio UPDATE_TIME) da UPDATE_MASK. Specifica solo i campi modificabili definiti in IntelligenceConfig.

400: valore non valido

Problema: la richiesta restituisce 400 Bad Request con il messaggio Invalid value at storage_intelligence.edition_config.

Soluzione: imposta edition_config su un valore supportato: INHERIT, STANDARD, o DISABLED.

400: filtro non vuoto

Problema: la richiesta restituisce 400 Bad Request con il messaggio Non-empty filter cannot be specified for INHERIT or DISABLED edition configuration.

Soluzione: rimuovi i filtri dei bucket dalla richiesta. I filtri dei bucket non sono supportati quando edition_config è impostato su INHERIT o DISABLED.

400: valori di località o bucket vuoti nel filtro

Problema: la richiesta restituisce 400 Bad Request con il messaggio Empty location or bucket values in filter.

Soluzione: assicurati che né locationbucket siano stringhe vuote in nel tuo filtro del bucket.

Problemi comuni di Storage Insights

Questa sezione descrive come risolvere i problemi comuni relativi ai report sull'inventario e ai set di dati.

Generazione di più report sull'inventario al giorno

Problema: una configurazione di report sull'inventario genera più file di report ogni giorno.

Soluzione: Cloud Storage suddivide i report sull'inventario per i bucket con più di 1.000.000 di oggetti, generando una suddivisione per 1.000.000 di oggetti. Ad esempio, un bucket con 3.500.000 oggetti genera quattro suddivisioni di report e un file manifest che elenca ogni suddivisione.

I report sull'inventario non vengono visualizzati nel bucket di destinazione

Problema: i report sull'inventario non vengono visualizzati nel bucket di destinazione.

Soluzione: se i report non vengono inviati al bucket di destinazione, verifica quanto segue:

  • Assicurati che la data di inizio configurata sia trascorsa. Per saperne di più, consulta Creare una configurazione di report sull'inventario.

  • Visualizza la cronologia dei report sull'inventario per verificare la presenza di errori e le relative cause principali. Per visualizzare la cronologia dei report sull'inventario:

    1. Nella Google Cloud console, vai alla pagina Bucket di Cloud Storage.

      Vai a Bucket

    2. Nell'elenco dei bucket, fai clic sul nome del bucket di origine che contiene la configurazione del report sull'inventario.

    3. Nella pagina Dettagli bucket, fai clic sulla scheda Report sull'inventario.

    4. Nell'elenco delle configurazioni dei report sull'inventario, fai clic sull'UUID della configurazione del report sull'inventario che ha generato i report che vuoi controllare.

    5. Controlla la presenza di errori nella sezione Cronologia dei report sull'inventario. Puoi tenere il puntatore sopra Guida () per visualizzare i dettagli sul motivo per cui si è verificato un errore.

  • Assicurati che al service agent a livello di progetto siano stati concessi i ruoli IAM necessari per la lettura e la scrittura dei report sull'inventario. Per saperne di più, consulta Concedere i ruoli richiesti al service agent.

Ritardi nei report sull'inventario

Problema: la generazione dei report sull'inventario è ritardata.

Soluzione: i tempi di generazione dei report variano. I ritardi fino a 24 ore sono normali.

I set di dati non vengono compilati

Problema: le tabelle dei set di dati di Storage Insights rimangono vuote.

Soluzione: nel set di dati BigQuery collegato, controlla error_attributes_view per i codici di errore. Per saperne di più, consulta Risolvere gli errori dei set di dati.

Valori nulli nella colonna "ref" durante l'esecuzione di query sui set di dati

Problema: quando esegui query sui set di dati di Storage Insights in BigQuery, la ref colonna restituisce null.

Soluzione: per gli oggetti che terminano con /, la colonna ref nei set di dati è null.

Se la colonna ref restituisce valori nulli quando esegui query sui set di dati di Storage Insights in BigQuery, verifica di aver concesso le autorizzazioni e i ruoli di connessione richiesti, incluso l'accesso alle risorse Cloud Storage, come descritto in Analizzare i dati e i metadati degli oggetti utilizzando BigQuery.

Errori di convalida dei job di operazioni batch di archiviazione

Questa sezione descrive gli errori di convalida che si verificano quando invii una richiesta di job di operazioni batch a storagebatchoperations.googleapis.com.

400: ID job o nome risorsa non valido

Problema: la richiesta di creazione del job restituisce una 400 Bad Request (INVALID_ARGUMENT) risposta con il motivo JOB_ID_INVALID o RESOURCE_NAME_TOO_LONG.

Soluzione: verifica che l'ID job sia composto da 1-63 caratteri alfanumerici minuscoli o trattini ([a-z0-9]([-a-z0-9]*[a-z0-9])?) e che il percorso completo della risorsa non superi i 1024 byte. Per saperne di più, consulta Nome del job.

400: parametri di trasformazione in conflitto o mancanti

Problema: la richiesta di creazione del job restituisce una 400 Bad Request (INVALID_ARGUMENT) risposta con il motivo TRANSFORMATION_NOT_SPECIFIED, REWRITE_OBJECT_MISSING_PARAMETERS, PUT_OBJECT_HOLD_MISSING_PARAMETERS, o PUT_METADATA_MISSING_PARAMETERS.

Soluzione: specifica esattamente un tipo di trasformazione con tutti i parametri richiesti. Se configuri la conservazione degli oggetti, verifica che Object Lock sia abilitato sul bucket e che i timestamp utilizzino il formato RFC 3339 UTC. Per saperne di più sui requisiti dei parametri per trasformazione, consulta Tipo di prestazione.

400: prefissi degli oggetti sovrapposti o duplicati

Problema: la richiesta di creazione del job restituisce una risposta 400 Bad Request (INVALID_ARGUMENT) con il motivo OBJECT_PREFIX_OVERLAP o DUPLICATE_OBJECT_PREFIX.

Soluzione: rimuovi i prefissi duplicati e assicurati che nessun prefisso in included_object_prefixes sia un prefisso di un'altra voce nell'elenco. Per saperne di più, consulta Prefissi degli oggetti.

400: problemi di formattazione e accesso ai file manifest

Problema: la richiesta di creazione del job restituisce una risposta 400 Bad Request (INVALID_ARGUMENT) con il motivo MANIFEST_LOCATION_REQUIRED o MANIFEST_LOCATION_INVALID, oppure il job non riesce a leggere il manifest.

Soluzione: verifica che l'URI del manifest sia un percorso CSV valido (gs://<bucket_name>/<path>/<object_name>.csv) e che il service agent delle operazioni batch di archiviazione abbia il roles/storage.objectViewer ruolo nel bucket del manifest. Per saperne di più sui requisiti di formattazione e schema CSV, consulta Manifest.

400: errori di rilevamento dei set di dati di Storage Insights

Problema: l'utilizzo di un set di dati di Storage Insights per il rilevamento degli oggetti restituisce una risposta 400 Bad Request (INVALID_ARGUMENT o FAILED_PRECONDITION) con il motivo BUCKET_DISCOVERY_SNAPSHOT_TOO_OLD, TARGET_LOCATIONS_REQUIRED_FOR_SNAPSHOT_TIME o BUCKET_DISCOVERY_TOO_MANY_BUCKETS.

Soluzione: verifica che snapshot_time sia nelle ultime 48 ore, specifica target_locations per i bucket e assicurati che la query di rilevamento corrisponda a non più di 1000 bucket. Per saperne di più, consulta Creare un manifest utilizzando i set di dati di Storage Insights.

400: la trasformazione della classe di archiviazione non riesce sui bucket con Autoclass abilitato

Problema: la richiesta di creazione del job restituisce una risposta 400 Bad Request (FAILED_PRECONDITION) con il motivo AUTOCLASS_STORAGE_CLASS_TRANSFORMATION_UNSUPPORTED.

Soluzione: non puoi eseguire trasformazioni della classe di archiviazione sui bucket con Autoclass abilitato. Seleziona un bucket senza Autoclass o rimuovi la trasformazione della classe di archiviazione. Per saperne di più, consulta Limitazioni di Autoclass.

400: gli aggiornamenti degli ACL degli oggetti non riescono sui bucket con accesso uniforme a livello di bucket

Problema: la richiesta di creazione del job restituisce una risposta 400 Bad Request (FAILED_PRECONDITION) con il motivo UBLA_OBJECT_ACL_UPDATE_UNSUPPORTED.

Soluzione: non puoi aggiornare gli ACL degli oggetti sui bucket con accesso uniforme a livello di bucket abilitato. Gestisci l'accesso utilizzando i ruoli IAM a livello di bucket o progetto. Per saperne di più, consulta Accesso uniforme a livello di bucket.

Problemi di runtime ed esecuzione delle operazioni batch di archiviazione

Questa sezione descrive i problemi che si verificano durante l'esecuzione asincrona di un job di operazioni batch.

403: errori di autorizzazione durante l'esecuzione

Problema: un job batch non riesce durante l'esecuzione con 403 Forbidden (PERMISSION_DENIED).

Soluzione: concedi al service agent delle operazioni batch di archiviazione (service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.iam.gserviceaccount.com) i ruoli IAM richiesti per il tipo di trasformazione. Per saperne di più, consulta Concedere le autorizzazioni al service agent.

Errori di crittografia CMEK durante la riscrittura degli oggetti

Problema: le riscritture degli oggetti non riescono con 400 Bad Request o 403 Forbidden a causa dello stato della chiave Cloud KMS o di errori di autorizzazione.

Soluzione: verifica che la chiave Cloud KMS sia Enabled e si trovi nella stessa regione del bucket di destinazione e che il service agent abbia il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter. Per saperne di più, consulta Tipo di prestazione: riscrivi oggetto.

Numero elevato di errori in error_summaries

Problema: un job batch viene completato con un valore diverso da zero per counters.failed_object_count e codici di errore in error_summaries (ad esempio 404 NOT_FOUND, 412 FAILED_PRECONDITION, o 403 PERMISSION_DENIED).

Soluzione: esegui gcloud storage batch-operations jobs describe con il --location flag (ad esempio, gcloud storage batch-operations jobs describe JOB_ID --location=LOCATION) per visualizzare la suddivisione degli errori aggregati e controlla Cloud Logging per i log degli errori per oggetto. Per saperne di più, consulta Recuperare i dettagli del job.

Il job di operazioni batch di archiviazione non riesce a causa di uno snapshot risalente a più di due giorni fa

Problema: quando crei un job di operazioni batch di archiviazione basato su filtri CEL, la creazione del job non riesce. Il messaggio di errore indica che il timestamp dello snapshot risale a più di due giorni fa.

Soluzione: per impedire azioni sugli stati degli oggetti obsoleti, le operazioni batch di archiviazione non riescono automaticamente a creare il job. Questo errore si verifica se lo snapshot selezionato risale a più di due giorni fa. Seleziona uno dei seguenti metodi per risolvere il problema:

  • Utilizza un file manifest: esegui manualmente una query sul set di dati in BigQuery. Esporta i risultati in un file manifest CSV e carica il file in un bucket Cloud Storage. Puoi quindi creare il job di operazioni batch utilizzando il metodo manifest per evitare il limite di due giorni.
  • Controlla le configurazioni dei set di dati: verifica che le tue configurazioni dei set di dati siano attive e non in pausa. Verifica che gli snapshot dei set di dati vengano eseguiti correttamente. Per informazioni su come verificare le configurazioni, consulta Visualizzare la configurazione di un set di dati.
  • Utilizza gli override della località di destinazione e del timestamp dello snapshot: specifica il flag --target-snapshot-time per ignorare l'errore di obsolescenza di due giorni selezionando esplicitamente uno snapshot in formato RFC 3339. Specifica il flag --target-locations per limitare l'operazione alle località in cui esiste lo snapshot. Puoi utilizzare questi override per risolvere i ritardi di sincronizzazione che impediscono l'aggiornamento automatico dello snapshot globale. Di conseguenza, puoi selezionare manualmente uno snapshot regionale più recente. Per la sintassi del comando, consulta Creare un job utilizzando i filtri avanzati.

Il job di operazioni batch di archiviazione basato su filtri CEL non riesce sui progetti appena abbonati

Problema: l'esecuzione di un job di operazioni batch di archiviazione basato su filtri CEL su un progetto appena abbonato non riesce perché il sistema non riesce a trovare uno snapshot valido.

Soluzione: dopo aver attivato l'abbonamento a Storage Intelligence, devi attendere 24 ore prima di eseguire i job di operazioni batch di archiviazione basati su filtri CEL. Questo ritardo consente al sistema di eseguire lo snapshot iniziale dei metadati e di stabilire il timestamp iniziale dello snapshot.

Il job di operazioni batch di archiviazione basato su filtri CEL non riesce a causa di errori di autorizzazione o genera errori di runtime

Problema: un job di operazioni batch di archiviazione basato su filtri CEL non riesce durante l'esecuzione o restituisce errori di autorizzazione di runtime.

Soluzione: le operazioni batch di archiviazione utilizzano le tue credenziali utente per elaborare gli oggetti. Il job non riesce se non disponi delle autorizzazioni di lettura o scrittura IAM necessarie per i bucket e gli oggetti di destinazione. Questo problema si verifica quando i filtri CEL selezionano risorse a cui non hai accesso. Verifica che il tuo account disponga dei ruoli Amministratore Storage (roles/storage.admin), Amministratore oggetti Storage (roles/storage.objectAdmin) o ruoli equivalenti per tutti i bucket e gli oggetti nell'ambito del job. Per istruzioni sulla concessione dei ruoli, consulta Utilizzare le autorizzazioni IAM.

Monitoraggio e analisi dei log

Per saperne di più sull'ispezione degli errori di esecuzione per oggetto e dei payload di errore in Cloud Logging, consulta Visualizzare i log delle operazioni batch di archiviazione.

Passaggi successivi