Utilizzare gli oggetti eliminati temporaneamente

Panoramica Configurazione

Questa pagina descrive come elencare, accedere e ripristinare gli oggetti con eliminazione temporanea.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per elencare, accedere e ripristinare gli oggetti eliminati definitivamente, chiedi all'amministratore di concederti il ruolo IAM Amministratore archiviazione (roles/storage.admin) per il bucket, la cartella gestita o il progetto.

Questo ruolo predefinito contiene le autorizzazioni necessarie per elencare, accedere e ripristinare gli oggetti eliminati definitivamente. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per elencare, accedere e ripristinare gli oggetti eliminati temporaneamente sono necessarie le seguenti autorizzazioni:

  • storage.buckets.get (questa autorizzazione è necessaria solo per utilizzare la console Google Cloud per eseguire le istruzioni riportate in questa pagina)
  • storage.buckets.list (questa autorizzazione è necessaria solo per utilizzare la console Google Cloud per eseguire le istruzioni riportate in questa pagina)
  • storage.objects.get (questa autorizzazione è necessaria solo per utilizzare la console Google Cloud per eseguire le istruzioni riportate in questa pagina)
  • storage.objects.list
  • storage.objects.restore
  • storage.objects.create
  • storage.objects.delete (questa autorizzazione è necessaria solo per ripristinare gli oggetti in modo che quelli esistenti vengano sovrascritti)
  • storage.buckets.restore (questa autorizzazione è necessaria solo per il ripristino collettivo di oggetti con eliminazione temporanea)

Per informazioni sulla concessione dei ruoli ai bucket, consulta Utilizzare IAM con i bucket. Per informazioni sulla concessione dei ruoli nei progetti, consulta Gestire l'accesso ai progetti.

Per gestire le operazioni di lunga durata avviate dai metodi di eliminazione soft, potresti aver bisogno di ruoli e autorizzazioni aggiuntivi. Per saperne di più, consulta i ruoli richiesti per le operazioni di lunga durata.

Elenca tutti gli oggetti eliminati temporaneamente in un bucket

Segui queste istruzioni per elencare tutti gli oggetti eliminati definitivamente in un bucket:

Console

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

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket di cui vuoi visualizzare gli oggetti eliminati definitivamente. Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.

  3. Nell'elenco Mostra, seleziona Solo oggetti eliminati temporaneamente. Viene visualizzato un elenco di oggetti eliminati temporaneamente.

Riga di comando

Per visualizzare un elenco di tutti gli oggetti eliminati definitivamente in un bucket, utilizza il comando gcloud storage ls con i flag --soft-deleted e --recursive:

  gcloud storage ls gs://BUCKET_NAME --soft-deleted --recursive

Sostituisci quanto segue:

  • BUCKET_NAME: il nome del bucket. Ad esempio, my-bucket.

API REST

API JSON

  1. Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta per elencare gli oggetti che utilizza il parametro di query ?softDeleted:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?softDeleted=true"

    Dove BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

Visualizzare tutte le versioni eliminate temporaneamente di un oggetto

Segui queste istruzioni per visualizzare tutte le versioni con eliminazione soft di un oggetto specifico nel tuo bucket:

Console

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

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket contenente l'oggetto di cui vuoi visualizzare le versioni eliminate definitivamente. Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.

  3. Fai clic sull'oggetto di cui vuoi visualizzare tutte le versioni eliminate definitivamente. Viene visualizzata la pagina Dettagli oggetto.

  4. Fai clic sulla scheda Cronologia delle versioni.

  5. Nell'elenco Mostra, seleziona Solo oggetti eliminati temporaneamente. Viene visualizzato un elenco di tutte le versioni eliminate temporaneamente per quell'oggetto.

Riga di comando

Per visualizzare un elenco di tutte le versioni con eliminazione soft di un oggetto in un bucket, utilizza il comando gcloud storage ls:

  gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted

Sostituisci quanto segue:

  • BUCKET_NAME: il nome del bucket. Ad esempio, my-bucket.
  • OBJECT_NAME: il nome dell'oggetto di cui vuoi visualizzare tutte le versioni.

API REST

API JSON

  1. Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta per elencare gli oggetti che utilizza il parametro di query ?softDeleted:

    curl -X GET \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?matchGlob=OBJECT_NAME&softDeleted=true"

    Sostituisci quanto segue:

    • BUCKET_NAME: il nome del bucket. Ad esempio, my-bucket.
    • OBJECT_NAME: il nome dell'oggetto per il quale vuoi visualizzare tutte le versioni.

Ripristinare un oggetto eliminato temporaneamente

Puoi ripristinare una versione specifica di un oggetto eliminato temporaneamente nel tuo bucket. Tieni presente che non puoi ripristinare gli oggetti in un bucket con eliminazione temporanea. Per ripristinare gli oggetti in un bucket eliminato temporaneamente, devi prima ripristinare il bucket eliminato temporaneamente.

Per ripristinare un oggetto eliminato temporaneamente:

Console

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

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket contenente gli oggetti con eliminazione soft che vuoi ripristinare. Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.

  3. Nell'elenco Mostra, seleziona Solo oggetti eliminati temporaneamente.

  4. Vai all'oggetto, che potrebbe trovarsi in una cartella.

  5. Fai clic sull'oggetto eliminato temporaneamente. Viene visualizzata la pagina Dettagli oggetto.

  6. Nell'elenco Mostra, seleziona Solo oggetti eliminati temporaneamente. Viene visualizzato un elenco di tutte le versioni eliminate temporaneamente dell'oggetto.

  7. Per ripristinare una versione eliminata definitivamente di un oggetto, fai clic su Ripristina accanto alla versione dell'oggetto. Viene visualizzato il riquadro Ripristina la versione dell'oggetto.

  8. Fai clic su Conferma.

Riga di comando

Per ripristinare una versione eliminata temporaneamente di un oggetto, utilizza il comando gcloud storage restore:

  gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER

Sostituisci quanto segue:

  • BUCKET_NAME: il nome del bucket. Ad esempio, my-bucket.
  • OBJECT_NAME: il nome dell'oggetto per cui vuoi visualizzare tutte le versioni.
  • GENERATION_NUMBER: il numero di generazione dell'oggetto eliminato con eliminazione soft che vuoi ripristinare. Ad esempio, 1560468815691234. Se non specifichi il numero di generazione, viene ripristinata la versione più recente.

Per ulteriori opzioni per il ripristino collettivo di più oggetti, incluso il ripristino di tutte le versioni di un oggetto con il flag all-versions, consulta la pagina di riferimento gcloud storage restore.

API REST

API JSON

  1. Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta di POST oggetto:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/restore?generation=GENERATION_NUMBER"

    Dove:

    • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.
    • OBJECT_NAME è il nome dell'oggetto eliminato con eliminazione soft che vuoi ripristinare. Ad esempio, cat.jpeg.
    • GENERATION_NUMBER è il numero di generazione dell'oggetto eliminato temporaneamente che vuoi ripristinare. Ad esempio, 1560468815691234.

Ripristinare collettivamente gli oggetti eliminati temporaneamente in un bucket

Se vuoi ripristinare un numero elevato di oggetti o non conosci gli oggetti specifici che vuoi ripristinare, utilizza un'operazione di ripristino collettivo. Tieni presente che le operazioni di recupero collettivo vengono eseguite in modo asincrono e, in alcuni casi, possono richiedere un'ora o più prima di iniziare.

L'operazione di ripristino collettivo avvia un'operazione a lunga esecuzione su un bucket. Puoi utilizzare Google Cloud CLI per recuperare e elencare le operazioni a lunga esecuzione in modo da visualizzare i dettagli e lo stato dell'operazione di ripristino collettivo mentre è in corso.

Segui queste istruzioni per ripristinare collettivamente gli oggetti eliminati temporaneamente in un bucket:

Console

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

    Vai a Bucket

  2. Nell'elenco dei bucket, individua quello contenente gli oggetti che vuoi ripristinare.

  3. Fai clic sul menu Extra del bucket () associato al bucket e seleziona Crea job di ripristino.

    Viene visualizzato il riquadro Crea un job di ripristino.

  4. Nella sezione Scegli gli oggetti eliminati temporaneamente da ripristinare, seleziona il periodo di eliminazione da cui vuoi ripristinare gli oggetti.

  5. (Facoltativo) Seleziona Filtra per pattern glob e inserisci un pattern glob per recuperare solo gli oggetti che soddisfano i criteri del pattern glob.

  6. (Facoltativo) Attiva/disattiva altri comportamenti di ripristino nella sezione Opzioni di ripristino.

  7. Fai clic su Crea.

Puoi monitorare l'avanzamento dell'operazione di ripristino collettivo facendo clic sul pulsante Notifiche () nell'intestazione della console Google Cloud.

Riga di comando

Per utilizzare l'operazione di ripristino collettivo per ripristinare tutti gli oggetti in un bucket, utilizza il comando gcloud storage restore.

Il seguente comando esegue un'operazione di ripristino collettivo per ripristinare in modo asincrono tutti gli oggetti del bucket eliminati durante un determinato periodo di tempo:

  gcloud storage restore gs://BUCKET_NAME/** \
      --async --deleted-after-time=DELETED_AFTER_TIME \
      --deleted-before-time=DELETED_BEFORE_TIME

Sostituisci quanto segue:

  • BUCKET_NAME: il nome del bucket. Ad esempio, my-bucket.
  • DELETED_AFTER_TIME: un argomento facoltativo per specificare la data dopo la quale gli oggetti vengono ripristinati. Ad esempio, 2022-12-01.
  • DELETED_BEFORE_TIME: un argomento facoltativo per specificare la data prima della quale vengono ripristinati gli oggetti. Ad esempio, 2022-12-21.

    In caso di esito positivo, il comando restituisce l'ID dell'operazione a lunga esecuzione associata all'operazione di ripristino collettivo. Puoi visualizzare i dettagli dell'operazione a lunga esecuzione o annullarla per interrompere l'operazione di ripristino collettivo prima del completamento. Per ulteriori informazioni, consulta Utilizzare operazioni che richiedono molto tempo.

API REST

API JSON

  1. Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta di POST oggetto:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/bulkRestore"

    Dove BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

In caso di esito positivo, il comando restituisce l'ID dell'operazione a lunga esecuzione associata all'operazione di ripristino collettivo. Puoi visualizzare i dettagli dell'operazione a lunga esecuzione o annullarla per interrompere l'operazione di ripristino collettivo prima del completamento. Per ulteriori informazioni, consulta Utilizzare operazioni che richiedono molto tempo.

Utilizzare le operazioni a lunga esecuzione per il ripristino collettivo

L'operazione di ripristino collettivo avvia un'operazione a lunga esecuzione. Puoi recuperare ed elencare le operazioni a lunga esecuzione per visualizzare i dettagli e lo stato di un'operazione di ripristino collettivo oppure eliminare un'operazione a lunga esecuzione per annullare un'operazione di ripristino collettivo mentre è in corso.

Per istruzioni sull'utilizzo delle operazioni a lunga esecuzione avviate dalle operazioni in Cloud Storage, come l'operazione di ripristino collettivo, consulta Utilizzare le operazioni a lunga esecuzione.

L'esempio seguente mostra un'operazione a lunga esecuzione restituita da un'operazione di ripristino collettivo:

done: false
{
  "kind": "storage@operation",
  "name": "projects/_/buckets/my-bucket/operations/CiQyODRlMTY0My0wNGExLTQ3MWItOTE2Zi1hZmQ0ZmM4ZDc4MjQQAg",
  "metadata": {
    "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsMetadata",
    "commonMetadata": {
      "type": "bulk-restore-objects",
      "createTime": "2023-10-20T21:08:11.289Z",
      "updateTime": "2023-10-20T21:18:37.583Z",
      "endTime": "2023-10-20T21:18:37.583Z",
      "requestedCancellation": false,
      "progressPercent": -1,
    },
    "allow_overwrite": false,
    "matchGlobs": ["*"],
    "succeededCount": "0",
    "failedCount": "0",
    "skippedCount": "0",
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsResponse"
  }
}

Passaggi successivi