Ripristino di un oggetto eliminato
Recupera un oggetto eliminato in un bucket di storage degli oggetti.
Quando il controllo delle versioni è abilitato, l'eliminazione di un oggetto senza indirizzare una versione specifica crea un indicatore di eliminazione ed è possibile recuperare la versione precedente dell'oggetto. Un oggetto eliminato viene visualizzato solo nella lista Oggetti quando è selezionata la funzione Mostra oggetto eliminato. Tutti gli oggetti eliminati elencati hanno (Oggetto eliminato) accanto al nome della voce oggetto. Espandere l'elenco di versioni dell'oggetto eliminato e cercare la versione con (Elimina indicatore) accanto ad esso. Ripristinare una versione dell'oggetto eliminata rimuovendo l'indicatore di eliminazione. Se esiste una versione precedente, tale versione diventa l'oggetto attivo.
Il controllo delle versioni deve essere abilitato per un bucket di storage degli oggetti al momento del caricamento dell'oggetto. Impossibile recuperare gli oggetti eliminati da un bucket con controllo delle versioni disabilitato o sospeso.
La versione dell'oggetto elencata dopo quella di cui è stato rimosso l'indicatore di eliminazione diventa l'oggetto ripristinato.
Per ripristinare un oggetto eliminato in un bucket mediante l'interfaccia CLI, è innanzitutto necessario conoscere l'oggetto contrassegnato per l'eliminazione. Per ottenere tali informazioni, elencare gli oggetti nel bucket. Vedere Elenco delle versioni degli oggetti in un bucket e selezionare la scheda CLI per eseguire il comando appropriato.
Nell'output, individuare la versione dell'oggetto con
"is-delete-marker": true
.Utilizzare il comando oci os object delete e i parametri necessari per ripristinare un oggetto eliminato in un bucket. Includere il parametro
version-id
e il relativo valore per l'oggetto.Quando si esegue questo comando, viene richiesto di confermare l'eliminazione:oci os object delete --bucket-name bucket_name --object-name object_name --version-id version_id [OPTIONS]
Are you sure you want to delete this resource? [y/N]:
Rispondere con
y
.Ad esempio:
oci os object delete --bucket-name MyBucket --name MyFile.txt --version-id 2a0021a1-2a2f-41a0-a199-454003f84aa0 Are you sure you want to delete this resource? [y/N]: y
L'indicatore di eliminazione dell'oggetto viene eliminato senza che vengano restituite ulteriori informazioni. L'oggetto viene ripristinato nel relativo bucket. È possibile elencare l'oggetto per verificare che sia stato ripristinato dopo aver rimosso l'indicatore di eliminazione.
Ripristino di massa dell'oggetto eliminato
Per ripristinare contemporaneamente più oggetti in un bucket, utilizzare i filtri CLI OCI disponibili per eseguire query per l'indicatore
"is-delete-marker": true
. Per ulteriori informazioni, vedere "Utilizzo delle query" nella sezione Gestione dell'input e dell'output CLI.Ad esempio, per ripristinare un gruppo di oggetti eliminati, eseguire il comando seguente per ottenere un elenco di oggetti con l'indicatore di eliminazione e l'ID versione di ogni oggetto eliminato:
oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[]
Successivamente, eseguire il pipe dell'output a un altro comando o scrivere uno script wrapper per ripristinare gli oggetti eliminati nel bucket. Ad esempio, per ripristinare tutti gli oggetti in un bucket con l'indicatore di eliminazione su un host Linux, eseguire il comando seguente:
oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[] | join(" ")'| xargs -n 2 sh -c 'oci os object delete --namespace MyNamespace --bucket-name MyBucket --object-name "$1" --version-id "$2"' argv0
È possibile utilizzare il parametro
--force
per evitare la modalità interattiva. Tuttavia, utilizzare questa opzione con cautela per evitare di perdere informazioni importanti.Per un elenco completo dei parametri e dei valori per i comandi della CLI, vedere il manuale CLI Command Reference.
In primo luogo, utilizzare l'operazione ListObjectVersions per trovare gli oggetti con
"is-delete-marker": true
. Quindi, utilizzare l'operazione DeleteObject per rimuovere l'indicatore di eliminazione da un oggetto.