Operazioni sui bucket
Il sistema StorageGRID supporta un massimo di 1,000 bucket per ciascun account tenant S3.
Le restrizioni dei nomi dei bucket seguono le restrizioni delle regioni AWS US Standard, ma è necessario limitarle ulteriormente alle convenzioni di denominazione DNS per supportare le richieste di tipo host virtuale S3.
LE operazioni GET bucket (Elenca oggetti) e GET Bucket Versions supportano i controlli di coerenza StorageGRID.
È possibile verificare se gli aggiornamenti dell'ultimo tempo di accesso sono attivati o disattivati per i singoli bucket.
La seguente tabella descrive come StorageGRID implementa le operazioni del bucket API REST S3. Per eseguire una di queste operazioni, è necessario fornire le credenziali di accesso necessarie per l'account.
Operazione | Implementazione |
---|---|
ELIMINA bucket |
Implementato con tutti i comportamenti REST API di Amazon S3. |
ELIMINA cors bucket |
Questa operazione elimina la configurazione CORS per il bucket. |
ELIMINA crittografia bucket |
Questa operazione elimina la crittografia predefinita dal bucket. Gli oggetti crittografati esistenti rimangono crittografati, ma i nuovi oggetti aggiunti al bucket non vengono crittografati. |
ELIMINA ciclo di vita bucket |
Questa operazione elimina la configurazione del ciclo di vita dal bucket. |
ELIMINA policy bucket |
Questa operazione elimina la policy associata al bucket. |
ELIMINA replica bucket |
Questa operazione elimina la configurazione di replica collegata al bucket. |
ELIMINA tag bucket |
Questa operazione utilizza |
GET Bucket (Elenca oggetti), versione 1 e versione 2 |
Questa operazione restituisce alcuni o tutti (fino a 1,000) gli oggetti in un bucket. La classe Storage per gli oggetti può avere due valori, anche se l'oggetto è stato acquisito con
Se il bucket contiene un numero elevato di chiavi eliminate con lo stesso prefisso, la risposta potrebbe includere alcune |
OTTIENI acl bucket |
Questa operazione restituisce una risposta positiva e l'ID, il DisplayName e il permesso del proprietario del bucket, indicando che il proprietario ha pieno accesso al bucket. |
OTTIENI bucket cors |
Questa operazione restituisce il |
OTTIENI la crittografia bucket |
Questa operazione restituisce la configurazione di crittografia predefinita per il bucket. |
OTTIENI il ciclo di vita del bucket |
Questa operazione restituisce la configurazione del ciclo di vita del bucket. |
OTTIENI posizione bucket |
Questa operazione restituisce la regione impostata utilizzando |
OTTIENI notifica bucket |
Questa operazione restituisce la configurazione di notifica allegata al bucket. |
SCARICA le versioni degli oggetti bucket |
Con l'accesso IN LETTURA su un bucket, questa operazione con |
OTTIENI la policy bucket |
Questa operazione restituisce la policy allegata al bucket. |
OTTIENI la replica bucket |
Questa operazione restituisce la configurazione di replica collegata al bucket. |
OTTIENI il contrassegno bucket |
Questa operazione utilizza |
SCARICA la versione di bucket |
Questa implementazione utilizza |
OTTIENI configurazione blocco oggetto |
Questa operazione determina se S3 Object Lock è attivato per un bucket. "Utilizzo di S3 Object Lock" |
BENNA PER LA TESTA |
Questa operazione determina se esiste un bucket e se si dispone dell'autorizzazione per accedervi. |
METTI bucket |
Questa operazione crea un nuovo bucket. Creando il bucket, diventerai il proprietario del bucket.
|
METTI cors bucket |
Questa operazione imposta la configurazione del CORS per un bucket in modo che il bucket possa gestire le richieste di origine incrociata. La condivisione delle risorse tra origini (CORS) è un meccanismo di sicurezza che consente alle applicazioni Web client di un dominio di accedere alle risorse di un dominio diverso. Si supponga, ad esempio, di utilizzare un bucket S3 denominato |
METTI la crittografia bucket |
Questa operazione imposta lo stato di crittografia predefinito di un bucket esistente. Quando la crittografia a livello di bucket è attivata, tutti i nuovi oggetti aggiunti al bucket vengono crittografati.StorageGRID supporta la crittografia lato server con le chiavi gestite da StorageGRID. Quando si specifica la regola di configurazione della crittografia lato server, impostare La configurazione della crittografia predefinita del bucket viene ignorata se la richiesta di caricamento degli oggetti specifica già la crittografia, ovvero se la richiesta include |
METTI IL ciclo di vita del bucket |
Questa operazione crea una nuova configurazione del ciclo di vita per il bucket o sostituisce una configurazione del ciclo di vita esistente. StorageGRID supporta fino a 1,000 regole del ciclo di vita in una configurazione del ciclo di vita. Ogni regola può includere i seguenti elementi XML:
StorageGRID non supporta queste azioni:
Per capire come l'azione di scadenza in un ciclo di vita del bucket interagisce con le istruzioni di posizionamento di ILM, consulta “funzionamento di ILM durante la vita di un oggetto” nelle istruzioni per la gestione degli oggetti con la gestione del ciclo di vita delle informazioni. Nota: La configurazione del ciclo di vita del bucket può essere utilizzata con bucket con blocco oggetti S3 attivato, ma la configurazione del ciclo di vita del bucket non è supportata per bucket conformi legacy. |
NOTIFICA DEL bucket |
Questa operazione configura le notifiche per il bucket utilizzando l'XML di configurazione delle notifiche incluso nel corpo della richiesta. È necessario conoscere i seguenti dettagli di implementazione:
|
METTI la policy bucket |
Questa operazione imposta la policy associata al bucket. |
METTI la replica del bucket |
Questa operazione configura la replica di StorageGRID CloudMirror per il bucket utilizzando l'XML di configurazione della replica fornito nel corpo della richiesta. Per la replica di CloudMirror, è necessario conoscere i seguenti dettagli di implementazione:
|
INSERIRE il contrassegno bucket |
Questa operazione utilizza
|
METTERE il bucket in versione |
Questa implementazione utilizza
|
"Documentazione Amazon Web Services (AWS): Replica tra regioni"
Creazione di una configurazione del ciclo di vita S3
È possibile creare una configurazione del ciclo di vita S3 per controllare quando oggetti specifici vengono cancellati dal sistema StorageGRID.
Il semplice esempio di questa sezione illustra come una configurazione del ciclo di vita S3 può controllare quando alcuni oggetti vengono cancellati (scaduti) da specifici bucket S3. L'esempio in questa sezione è a solo scopo illustrativo. Per i dettagli completi sulla creazione delle configurazioni del ciclo di vita S3, consulta la sezione sulla gestione del ciclo di vita degli oggetti nella Amazon Simple Storage Service Developer Guide. Nota: StorageGRID supporta solo le azioni di scadenza e non le azioni di transizione.
Che cos'è una configurazione del ciclo di vita
Una configurazione del ciclo di vita è un insieme di regole applicate agli oggetti in specifici bucket S3. Ogni regola specifica quali oggetti sono interessati e quando scadranno (in una data specifica o dopo un certo numero di giorni).
StorageGRID supporta fino a 1,000 regole del ciclo di vita in una configurazione del ciclo di vita. Ogni regola può includere i seguenti elementi XML:
-
Scadenza: Consente di eliminare un oggetto quando viene raggiunta una data specificata o quando viene raggiunto un numero di giorni specificato, a partire dalla data di acquisizione dell'oggetto.
-
NoncurrentVersionExpiration (NoncurrentExpiration versione): Consente di eliminare un oggetto quando viene raggiunto un numero di giorni specificato, a partire da quando l'oggetto è diventato non corrente.
-
Filtro (prefisso, tag)
-
Stato
-
ID
Se si applica una configurazione del ciclo di vita a un bucket, le impostazioni del ciclo di vita del bucket sovrascrivono sempre le impostazioni ILM di StorageGRID. StorageGRID utilizza le impostazioni di scadenza per il bucket, non ILM, per determinare se eliminare o conservare oggetti specifici.
Di conseguenza, un oggetto potrebbe essere rimosso dalla griglia anche se le istruzioni di posizionamento in una regola ILM sono ancora applicabili all'oggetto. Oppure, un oggetto potrebbe essere conservato sulla griglia anche dopo che sono scadute le istruzioni di posizionamento ILM per l'oggetto. Per ulteriori informazioni, vedere “funzionamento di ILM durante la vita di un oggetto” nelle istruzioni per la gestione degli oggetti con la gestione del ciclo di vita delle informazioni.
La configurazione del ciclo di vita del bucket può essere utilizzata con bucket con blocco oggetti S3 attivato, ma la configurazione del ciclo di vita del bucket non è supportata per bucket conformi legacy. |
StorageGRID supporta l'utilizzo delle seguenti operazioni bucket per gestire le configurazioni del ciclo di vita:
-
ELIMINA ciclo di vita bucket
-
OTTIENI il ciclo di vita del bucket
-
METTI IL ciclo di vita del bucket
Creazione della configurazione del ciclo di vita
Come primo passo nella creazione di una configurazione del ciclo di vita, è possibile creare un file JSON che includa una o più regole. Ad esempio, questo file JSON include tre regole, come segue:
-
La regola 1 si applica solo agli oggetti che corrispondono al prefisso
category1
/ e che hanno unkey2
valore ditag2
. IlExpiration
Il parametro specifica che gli oggetti corrispondenti al filtro scadranno alla mezzanotte del 22 agosto 2020. -
La regola 2 si applica solo agli oggetti che corrispondono al prefisso
category2
/. IlExpiration
parametro specifica che gli oggetti corrispondenti al filtro scadranno 100 giorni dopo l'acquisizione.Le regole che specificano un numero di giorni sono relative al momento in cui l'oggetto è stato acquisito. Se la data corrente supera la data di acquisizione più il numero di giorni, alcuni oggetti potrebbero essere rimossi dal bucket non appena viene applicata la configurazione del ciclo di vita. -
La regola 3 si applica solo agli oggetti che corrispondono al prefisso
category3
/. IlExpiration
parametro specifica che qualsiasi versione non corrente degli oggetti corrispondenti scadrà 50 giorni dopo che diventeranno non aggiornati.
{ "Rules": [ { "ID": "rule1", "Filter": { "And": { "Prefix": "category1/", "Tags": [ { "Key": "key2", "Value": "tag2" } ] } }, "Expiration": { "Date": "2020-08-22T00:00:00Z" }, "Status": "Enabled" }, { "ID": "rule2", "Filter": { "Prefix": "category2/" }, "Expiration": { "Days": 100 }, "Status": "Enabled" }, { "ID": "rule3", "Filter": { "Prefix": "category3/" }, "NoncurrentVersionExpiration": { "NoncurrentDays": 50 }, "Status": "Enabled" } ] }
Applicazione di una configurazione del ciclo di vita a un bucket
Dopo aver creato il file di configurazione del ciclo di vita, lo si applica a un bucket inviando una richiesta DI ciclo di vita PUT bucket.
Questa richiesta applica la configurazione del ciclo di vita nel file di esempio agli oggetti in un bucket denominato testbucket
:bucket
aws s3api --endpoint-url <StorageGRID endpoint> put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://bktjson.json
Per verificare che una configurazione del ciclo di vita sia stata applicata correttamente al bucket, emettere una richiesta DI ciclo di vita GET Bucket. Ad esempio:
aws s3api --endpoint-url <StorageGRID endpoint> get-bucket-lifecycle-configuration --bucket testbucket
Una risposta corretta elenca la configurazione del ciclo di vita appena applicata.
La convalida della scadenza del ciclo di vita del bucket si applica a un oggetto
È possibile determinare se una regola di scadenza nella configurazione del ciclo di vita si applica a un oggetto specifico quando si invia una richiesta DI oggetto PUT, HEAD o GET. Se si applica una regola, la risposta include un Expiration
parametro che indica quando l'oggetto scade e quale regola di scadenza è stata associata.
Poiché il ciclo di vita del bucket ha la priorità su ILM, il sistema expiry-date viene visualizzata la data effettiva in cui l'oggetto verrà eliminato. Per ulteriori informazioni, vedere “come viene determinata la conservazione degli oggetti” nelle istruzioni per l'esecuzione dell'amministrazione di StorageGRID.
|
Ad esempio, questa richiesta DI oggetti PUT è stata emessa il 22 giugno 2020 e inserisce un oggetto in testbucket
bucket.
aws s3api --endpoint-url <StorageGRID endpoint> put-object --bucket testbucket --key obj2test2 --body bktjson.json
La risposta corretta indica che l'oggetto scadrà tra 100 giorni (01 ottobre 2020) e che corrisponde alla regola 2 della configurazione del ciclo di vita.
{
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:49 GMT\", rule-id=\"rule2\"",
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
}
Ad esempio, questa richiesta di oggetto HEAD è stata utilizzata per ottenere metadati per lo stesso oggetto nel bucket testbucket.
aws s3api --endpoint-url <StorageGRID endpoint> head-object --bucket testbucket --key obj2test2
La risposta di successo include i metadati dell'oggetto e indica che l'oggetto scadrà tra 100 giorni e che corrisponde alla regola 2.
{
"AcceptRanges": "bytes",
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:48 GMT\", rule-id=\"rule2\"",
"LastModified": "2020-06-23T09:07:48+00:00",
"ContentLength": 921,
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
"ContentType": "binary/octet-stream",
"Metadata": {}
}