Gestione del ciclo di vita degli oggetti di storage degli oggetti

Scopri come utilizzare Object Lifecycle Management per gestire automaticamente l'archiviazione e l'eliminazione degli oggetti.

Utilizzando Object Lifecycle Management per gestire i dati dello storage degli oggetti e dello storage di archivio, puoi ridurre i costi di storage e il tempo impiegato manualmente per gestire i dati.

La gestione del ciclo di vita degli oggetti funziona eseguendo azioni automatiche basate su regole definite dall'utente. Queste regole indicano allo storage degli oggetti di eliminare i caricamenti multiparte di cui non è stato eseguito il commit, spostare gli oggetti in un livello di storage diverso ed eliminare le risorse supportate per conto dell'utente all'interno di un determinato bucket. Le regole del ciclo di vita di un bucket vengono definite collettivamente criteri del ciclo di vita degli oggetti. Le risorse supportate da Object Lifecycle Management includono oggetti, versioni degli oggetti e caricamenti multiparte di cui non è stato eseguito il commit o non riusciti.

Ad esempio, è possibile definire regole che eseguono automaticamente le seguenti operazioni:

  • Spostare gli oggetti di livello standard con un'estensione .doc nel livello Accesso non frequente o Archivio 60 giorni dopo la creazione o l'ultimo aggiornamento.

  • Sposta gli oggetti di livello standard nel livello di archiviazione 30 giorni dopo la creazione o l'ultimo aggiornamento, quindi elimina automaticamente tali oggetti archiviati dopo 180 giorni.

  • Sposta gli oggetti di livello Standard nel livello Accesso non frequente 90 giorni dopo la creazione o l'ultimo aggiornamento.

  • Eliminare le versioni precedenti dell'oggetto 120 giorni dopo che la versione dell'oggetto è passata dalla versione più recente a quella precedente.

  • Eliminare i caricamenti multiparte di cui non è stato eseguito il commit o che non sono riusciti dopo 5 giorni.

  • Elimina tutti gli oggetti e le versioni degli oggetti in un bucket in preparazione dell'eliminazione del bucket.

Ogni bucket di storage degli oggetti o di archivio può disporre di un singolo criterio del ciclo di vita costituito da un massimo di 1.000 regole. Le regole correlate all'oggetto possono avere condizioni di prefisso e corrispondenza pattern del nome oggetto. Le regole di caricamento multiparte di cui non è stato eseguito il commit non supportano le condizioni prefix e pattern matching.

È possibile creare, modificare, eliminare, abilitare e disabilitare singole regole nella console in base alle esigenze. Per aggiornare un criterio del ciclo di vita utilizzando l'interfaccia CLI o l'interfaccia API, sovrascrivere un criterio esistente con un nuovo criterio. Assicurarsi che il nuovo criterio includa tutte le regole dei criteri che si desidera applicare al bucket.
Nota

Le regole vengono normalmente eseguite entro 10 minuti dall'attivazione. Tuttavia, si tratta di uno sforzo ottimale e potrebbe richiedere più tempo. Le regole possono essere applicate a tutti gli oggetti nella maggior parte dei bucket entro 24 ore, ma possono richiedere più tempo per i bucket molto grandi. In circostanze insolite, il tempo potrebbe essere molto più lungo del previsto, specialmente quando una regola interessa molti oggetti contemporaneamente. Si continua a ricevere la fatturazione per il livello in cui si trova l'oggetto, anche dopo che una regola è stata attivata, ma non ancora elaborata.

Task criteri ciclo di vita oggetto

È possibile eseguire i task di gestione del ciclo di vita degli oggetti seguenti:

Criteri IAM necessari

Importante

Non è possibile utilizzare Object Lifecycle Management fino a quando non si autorizza il servizio di storage degli oggetti a archiviare ed eliminare gli oggetti per conto dell'utente. Per ulteriori informazioni, vedere Autorizzazioni servizio.

Se non si ha familiarità con i criteri, vedere Gestione dei domini di Identity e Criteri comuni.

Autorizzazioni utente

Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere un membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario se si utilizza la console o l'API REST con un SDK, un'interfaccia CLI o un altro strumento. Se viene visualizzato un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, verificare con l'amministratore della tenancy il tipo di accesso di cui si dispone e il compartimento in cui funziona l'accesso.

Per gli amministratori:

  • Il criterio Consenti agli amministratori dello storage degli oggetti di gestire bucket e oggetti consente al gruppo specificato di eseguire qualsiasi operazione con bucket e oggetti, inclusa l'aggiunta e la gestione dei criteri del ciclo di vita.
  • Se si creano criteri più restrittivi che concedono autorizzazioni individuali:
    • OBJECT_VERSION_DELETE è necessario per eliminare le versioni precedenti degli oggetti per conto dell'utente utilizzando i criteri del ciclo di vita.
    • Per modificare il livello di storage di un oggetto è necessario OBJECT_UPDATE_TIER.

Per ulteriori informazioni sulle autorizzazioni utente dello storage degli oggetti, dello storage di archivio e del trasferimento dati, vedere Dettagli per lo storage degli oggetti, lo storage di archivio e il trasferimento dati.

Autorizzazioni servizio

Per eseguire i criteri del ciclo di vita degli oggetti, è necessario autorizzare il servizio a archiviare ed eliminare gli oggetti per conto dell'utente. A tale scopo, creare il criterio seguente nel compartimento radice della tenancy:

Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name>

Poiché lo storage degli oggetti è un servizio regionale, devi autorizzare il servizio di storage degli oggetti in ogni area in cui utilizzi i criteri del ciclo di vita. Lo storage degli oggetti garantisce che i dati non vengano letti da alcuna area non autorizzata.

Se non si dispone delle autorizzazioni per scrivere i criteri per il compartimento radice della tenancy, contattare l'amministratore di Oracle Cloud Infrastructure. Per determinare il valore dell'identificativo dell'area di un'area di Oracle Cloud Infrastructure, vedere Aree e domini di disponibilità.

Anziché utilizzare il verbo criterio manage, è possibile concedere autorizzazioni individuali al servizio. Ad esempio:

Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name> where any {request.permission='BUCKET_INSPECT', request.permission='BUCKET_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_UPDATE_TIER', request.permission='OBJECT_DELETE', request.permission='OBJECT_VERSION_DELETE'}

Opzioni

Quando si creano le regole dei criteri del ciclo di vita degli oggetti, sono disponibili le opzioni riportate di seguito.

  • Quando viene creata una regola del ciclo di vita, il sistema genera un nome predefinito per tale regola, ad esempio lifecycle-rule-20190321-1559. Questo nome regola identifica l'anno, il mese, il giorno e l'ora correnti in cui è stata creata la regola. È possibile utilizzare il nome generato dal sistema per la nuova regola oppure specificarne un altro.

  • È possibile creare regole del ciclo di vita che eseguono le operazioni riportate di seguito.

    • Spostare o eliminare tutti gli oggetti nel bucket.

    • Sposta o elimina gli oggetti nel bucket che corrispondono ai filtri dei nomi oggetto specificati. È possibile selezionare gli oggetti utilizzando sia i prefissi dei nomi oggetto che la corrispondenza dei pattern. Per ulteriori informazioni, vedere Utilizzo dei filtri dei nomi oggetto.

    • Eliminare i caricamenti multiparte di cui non è stato eseguito il commit o che non sono riusciti. Per ulteriori informazioni, vedere Caricamenti multiparte dello storage degli oggetti.

    Se il controllo delle versioni degli oggetti è abilitato o sospeso in un bucket, è anche possibile creare regole del ciclo di vita che eseguono le operazioni riportate di seguito.
    • Sposta o elimina le versioni precedenti di tutti gli oggetti nel bucket.

    • Spostare o eliminare le versioni precedenti degli oggetti nel bucket che corrispondono ai filtri dei nomi specificati. È possibile selezionare gli oggetti utilizzando sia i prefissi dei nomi oggetto che la corrispondenza dei pattern. Per ulteriori informazioni, vedere Utilizzo dei filtri dei nomi oggetto.

    Per ulteriori informazioni, vedere Controllo delle versioni dello storage degli oggetti.
  • Specificare il numero di giorni prima dell'esecuzione dell'azione specificata.

  • È possibile decidere se una nuova regola viene abilitata o disabilitata al momento della creazione.

Uso dei filtri dei nomi oggetto

Utilizzare i filtri dei nomi oggetto per specificare un subset di oggetti, versioni di oggetti o versioni di oggetti precedenti a cui si applica una regola del ciclo di vita. Creare una regola di filtro dei nomi oggetto separata per ogni destinazione regola (oggetti, versioni oggetto o versioni oggetto precedenti).

Importante

Non specificare i filtri dei nomi oggetto se si desidera che una regola venga applicata a tutti gli oggetti, a tutte le versioni degli oggetti o a tutte le versioni degli oggetti precedenti.

Sono supportati due tipi di filtri dei nomi oggetto:

  • Corrispondenza prefisso è una corrispondenza esatta dei caratteri più a sinistra di un nome oggetto. La corrispondenza del prefisso non supporta i caratteri jolly. Sebbene i bucket e gli oggetti di storage degli oggetti esistano in una struttura flat, i prefissi consentono di simulare una struttura di directory quando viene utilizzata con una barra (/). Per ulteriori informazioni, vedere Denominazione degli oggetti mediante prefissi e gerarchie.

  • La corrispondenza pattern corrisponde all'intero nome dell'oggetto, ma supporta l'uso di caratteri jolly e altri costrutti corrispondenti al pattern in base alle esigenze per corrispondere a zero o più caratteri all'interno del nome dell'oggetto.

Nota

I filtri dei nomi oggetto funzionano sull'intero nome oggetto. I prefissi (visualizzati come cartelle virtuali e sottocartelle nella console) fanno parte del nome dell'oggetto.

Ad esempio, per questo percorso: >marathon>partecipanti>p_21.jpg , il nome dell'oggetto è /marathon/participants/p_21.jpg e non p_21.jpg.

È possibile aggiungere filtri nome oggetto in qualsiasi ordine. Object Lifecycle Management valuta la priorità delle regole come indicato di seguito.

  1. Esclusioni pattern

  2. Inclusioni modello

  3. Inclusioni prefisso

Utilizzo della corrispondenza prefisso per filtrare gli oggetti

È possibile utilizzare stringhe di prefisso per la corrispondenza quando si eseguono operazioni correlate alla gestione del ciclo di vita. Alcune operazioni bulk possono anche essere eseguite facendo una corrispondenza sulle parti del prefisso del nome dell'oggetto.

  • Negli esempi di nomi oggetto riportati di seguito, i prefissi includono una o più barre (/) per simulare una struttura di directory. La stringa marathon/ o marathon/participants/ può fungere da prefisso per la corrispondenza nelle regole del ciclo di vita:
    marathon/finish_line.jpg
    marathon/podium.jpg
    marathon/participants/p_21.jpg
    marathon/participants/p_29.jpg
  • Negli esempi di nomi oggetto riportati di seguito, la stringa gloves_27_ può fungere da prefisso per la corrispondenza nelle regole del ciclo di vita.
    gloves_27_dark_green.jpg
    gloves_27_light_blue.jpg
    gloves_27_deep_purple.jpg
    gloves_27_bright_orange.jpg
            

Utilizzo della corrispondenza pattern agli oggetti filtro

Lo storage degli oggetti supporta i seguenti caratteri di corrispondenza pattern per includere o escludere gli oggetti:

carattere descrizione; Esempi di pattern Confronta Non corrispondente
* Corrispondenza di 0 o più caratteri *.tmp

foo.tmp

foo/bar/baz.tmp

tmp

Ammontare

temp./*.tmp

temp/working.tmp

temp/nuovo/file.tmp

file.tmp

temp.tmp

temp/new.draft

*.xls

.xls

/home/user/file.xls

xls

.xl

/archivio/*

/archive/sub/dir/

/archive/1/2/3/4/foo.txt

/src/archive/a

archivio/b

? Corrisponde a un solo carattere X? Z

XyZ

X_Z

XZ

XYYZ

\ Elimina il carattere successivo \\dir\\sub\\*

\dir\sub\ABC

\dir\sub\

dir\sub\abc

sporco

[...]

Corrisponde a un gruppo di caratteri, che può essere:

  • Set di caratteri, ad esempio: [Zafg9@]. Corrisponde a qualsiasi carattere tra parentesi.
  • Un intervallo di caratteri, ad esempio: [a-f]. Corrisponde a qualsiasi carattere dell'intervallo:
    • [a-f] è equivalente a [abcdef].

    • Per gli intervalli di caratteri è supportato solo il pattern CHARACTER-CHARACTER:

      • [ab-yz] non è valido.
      • [a-mn-z] non è valido.
    • Gli intervalli di caratteri non possono iniziare con ^ o due punti (:).

    • Per includere un trattino (-) nell'intervallo, renderlo il primo o l'ultimo carattere.

[-ab3]

-

a

c

3

-a

-ab

3b

backup.tar.gz.[0-9]

backup.tar.gz.0

backup.tar.gz.5

backup.tar.gz.9

backup.tar.gz10

backup.tar.gz

page-[0-9]*

pagina-0

pagina 2

pagina 22

pagina 2X

page-

pagina-A1

\[a-z\] [a-z]

a

z

[a-z

Limitazioni filtro nome oggetto

Ai filtri dei nomi oggetto si applicano i limiti riportati di seguito.

  • Nei filtri dei nomi oggetto è consentito un massimo di 20 pattern.

  • I pattern non possono superare i 1024 caratteri. Di seguito sono riportati alcuni esempi di pattern non validi.

    • \
    • [^a-z]
    • [z-a]
    • [:isalpha:]

Utilizzo dei criteri di gestione del ciclo di vita degli oggetti

Puoi creare, eliminare, modificare o disabilitare le regole dei criteri del ciclo di vita utilizzando la console, l'interfaccia CLI (Command Line Interface), un SDK o l'API.

Il criterio di eliminazione di Object Lifecycle Management funziona in base all'ora dell'ultima modifica dell'oggetto in UTC (Coordinated Universal Time), acquisendo l'ora di creazione o l'ora dell'ultima sovrascrittura. L'ora di modifica viene arrotondata al giorno più vicino in UTC.

La piattaforma esegue i criteri del ciclo di vita una volta al giorno. Quando si configura o si modifica un criterio del ciclo di vita, l'entrata in vigore delle modifiche e l'avvio della prima esecuzione possono richiedere fino a 24 ore. Il tempo impiegato per il completamento delle azioni dei criteri dipende dal numero di oggetti da valutare e gestire.

Attenzione

Impossibile recuperare gli oggetti eliminati per conto dell'utente in base ai criteri del ciclo di vita. Durante la creazione e la modifica dei criteri del ciclo di vita, assicurarsi di non eliminare involontariamente i dati che si desidera conservare. Si consiglia di eseguire il test dei criteri del ciclo di vita sui dati di sviluppo prima di utilizzare i criteri in produzione.