Operazioni del bucket S3 e dettagli di implementazione in StorageGRID
Il sistema StorageGRID supporta un massimo di 5.000 bucket per ogni account tenant S3.
Ogni grid può contenere un massimo di 100.000 bucket.
Per supportare 5.000 bucket, ogni Storage Node nella griglia deve avere almeno 64 GB di RAM.
Le restrizioni sui nomi dei bucket seguono le restrizioni standard della regione AWS US, ma dovresti limitarle ulteriormente alle convenzioni di denominazione DNS per supportare le richieste S3 in stile virtual hosted.
Per ulteriori informazioni, consulta quanto segue:
Le operazioni ListObjects (GET Bucket) e ListObjectVersions (GET Bucket object versions) supportano StorageGRID "valori di coerenza".
Puoi verificare se gli aggiornamenti all'ora dell'ultimo accesso sono abilitati o disabilitati per i singoli bucket. Vedi "Ora dell'ultimo accesso GET Bucket".
La tabella seguente descrive come StorageGRID implementa le operazioni sui bucket dell'API REST di S3. Per eseguire una qualsiasi di queste operazioni, devi fornire le credenziali di accesso appropriate per l'account.
| Operazione | Implementazione |
|---|---|
CreateBucket |
Crea un nuovo bucket. Creando il bucket, ne diventi il proprietario.
|
DeleteBucket |
Elimina il bucket. |
DeleteBucketCors |
Elimina la configurazione CORS per il bucket. |
DeleteBucketEncryption |
Elimina la crittografia predefinita dal bucket. Gli oggetti crittografati esistenti rimangono crittografati, ma i nuovi oggetti aggiunti al bucket non sono crittografati. |
DeleteBucketLifecycle |
Elimina la configurazione del ciclo di vita dal bucket. Vedi "Crea configurazione del ciclo di vita S3". |
DeleteBucketPolicy |
Elimina la policy associata al bucket. |
DeleteBucketReplication |
Elimina la configurazione di replica associata al bucket. |
DeleteBucketTagging |
Utilizza la Attenzione: se per questo bucket è impostato un tag di policy ILM non predefinito, sarà presente un |
GetBucketAcl |
Restituisce una risposta positiva e l'ID, DisplayName e Permission del proprietario del bucket, indicando che il proprietario ha pieno accesso al bucket. |
GetBucketCors |
Restituisce la |
GetBucketEncryption |
Restituisce la configurazione di crittografia predefinita per il bucket. |
GetBucketLifecycleConfiguration (precedentemente denominato GET Bucket lifecycle) |
Restituisce la configurazione del ciclo di vita per il bucket. Vedi "Crea configurazione del ciclo di vita S3". |
GetBucketLocation |
Restituisce la regione impostata utilizzando l'elemento |
GetBucketNotificationConfiguration (precedentemente denominato GET Bucket notification) |
Restituisce la configurazione delle notifiche associata al bucket. |
GetBucketPolicy |
Restituisce la policy associata al bucket. |
GetBucketReplication |
Restituisce la configurazione di replica associata al bucket. |
GetBucketTagging |
Utilizza la Attenzione: se per questo bucket è impostato un tag di policy ILM diverso da quello predefinito, ci sarà un tag del bucket |
GetBucketVersioning |
Questa implementazione utilizza la
|
GetObjectLockConfiguration |
Restituisce la modalità di conservazione predefinita del bucket e il periodo di conservazione predefinito, se configurati. |
HeadBucket |
Verifica se un bucket esiste e se hai l'autorizzazione per accedervi. Questa operazione restituisce:
|
ListObjects e ListObjectsV2 (precedentemente denominato GET Bucket) |
Restituisce alcuni o tutti (fino a 1.000) gli oggetti in un bucket. La Storage Class per gli oggetti può avere uno di due valori, anche se l'oggetto è stato acquisito con l'opzione
Se il bucket contiene un gran numero di chiavi eliminate con lo stesso prefisso, la risposta potrebbe includere alcune Per le richieste HeadObject e ListObject, StorageGRID restituisce i timestamp LastModified con precisione diversa mentre AWS restituisce i timestamp con la stessa precisione, come mostrato negli esempi seguenti:
|
ListObjectVersions (precedentemente denominate GET Bucket Object versions) |
Con l'accesso in lettura a un bucket, usando questa operazione con la |
PutBucketCors |
Imposta la configurazione CORS per un bucket così che il bucket possa gestire le richieste cross-origin. La condivisione delle risorse cross-origin (CORS) è un meccanismo di sicurezza che permette alle applicazioni web client in un dominio di accedere alle risorse in un dominio diverso. Ad esempio, supponi di usare un bucket S3 chiamato |
PutBucketEncryption |
Imposta lo stato di crittografia predefinito di un bucket esistente. Quando la crittografia a livello di bucket è abilitata, tutti i nuovi oggetti aggiunti al bucket vengono crittografati. StorageGRID supporta la crittografia lato server con chiavi gestite da StorageGRID. Quando specifichi la regola di configurazione della crittografia lato server, imposta il La configurazione di crittografia predefinita del bucket viene ignorata se la richiesta di caricamento dell'oggetto specifica già la crittografia (ovvero, se la richiesta include l' `x-amz-server-side-encryption-*`intestazione di richiesta). |
PutBucketLifecycleConfiguration (precedentemente denominato PUT Bucket lifecycle) |
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:
Vedi "Crea configurazione del ciclo di vita S3". Per capire come l'azione di scadenza nel ciclo di vita di un bucket interagisce con le istruzioni di posizionamento ILM, vedi "Come funziona ILM durante l'intero ciclo di vita di un oggetto". Nota: la configurazione del ciclo di vita del bucket può essere utilizzata con i bucket che hanno S3 Object Lock abilitato, ma la configurazione del ciclo di vita del bucket non è supportata per i bucket Compliant legacy. |
PutBucketNotificationConfiguration (precedentemente denominato PUT Bucket notification) |
Configura le notifiche per il bucket utilizzando il file XML di configurazione delle notifiche incluso nel corpo della richiesta. Dovresti essere consapevole dei seguenti dettagli di implementazione:
|
PutBucketPolicy |
Imposta i criteri associati al bucket. Vedi "Usa le policy di accesso per bucket e gruppi". |
PutBucketReplication |
Configura "Replica CloudMirror di StorageGRID" per il bucket utilizzando il file XML di configurazione della replica fornito nel corpo della richiesta. Per la replica CloudMirror, dovresti tenere presente i seguenti dettagli di implementazione:
|
PutBucketTagging |
Utilizza la
Attenzione: se per questo bucket è impostato un tag di policy ILM non predefinito, ci sarà un tag di bucket Nota: Questa operazione sovrascrive tutti i tag attualmente presenti nel bucket. Se ometti alcuni tag esistenti dal set, quei tag verranno rimossi dal bucket. |
PutBucketVersioning |
Utilizza la
|
PutObjectLockConfiguration |
Configura o rimuove la modalità di conservazione predefinita e il periodo di conservazione predefinito del bucket. Se il periodo di conservazione predefinito viene modificato, la retain-until-date delle versioni degli oggetti esistenti rimane invariata e non viene ricalcolata utilizzando il nuovo periodo di conservazione predefinito. Consulta "Utilizza l'API REST S3 per configurare S3 Object Lock" per informazioni dettagliate. |