Operaciones de bucket S3 y detalles de implementación en StorageGRID
El sistema StorageGRID admite un máximo de 5,000 buckets por cada cuenta de inquilino de S3.
Cada grid puede tener un máximo de 100,000 buckets.
Para poder alojar 5,000 buckets, cada Storage Node en la grid debe contar con un mínimo de 64 GB de RAM.
Las restricciones relativas a los nombres de los buckets se ajustan a las de la región estándar de EE. UU. de AWS, pero deberías restringirlos aún más para que se ajusten a las convenciones de nomenclatura de DNS y así admitir solicitudes de S3 de tipo virtual hosted-style.
Para obtener más información, consulta lo siguiente:
Las operaciones ListObjects (GET Bucket) y ListObjectVersions (GET Bucket object versions) son compatibles con StorageGRID "valores de consistencia".
Puedes comprobar si las actualizaciones del tiempo de acceso están activadas o desactivadas para cada depósito. Consulta "Obtener el tiempo de último acceso al Bucket".
La siguiente tabla describe cómo StorageGRID implementa las operaciones de los buckets de la API de REST de S3. Para realizar cualquiera de estas operaciones, es necesario facilitar las credenciales de acceso correspondientes a la cuenta.
| Operación | Implementación |
|---|---|
CreateBucket |
Crea un nuevo depósito. Al crear el depósito, te conviertes en el propietario del depósito.
|
DeleteBucket |
Elimina el bucket. |
DeleteBucketCors |
Elimina la configuración de CORS del depósito. |
DeleteBucketEncryption |
Elimina el cifrado predeterminado del depósito. Los objetos cifrados existentes siguen estando cifrados, pero los nuevos objetos que se añadan al depósito no están cifrados. |
DeleteBucketLifecycle |
Elimina la configuración del ciclo de vida del depósito. Consulta "Crear configuración del ciclo de vida de S3". |
DeleteBucketPolicy |
Elimina la política asociada al bucket. |
DeleteBucketReplication |
Elimina la configuración de replicación asociada al bucket. |
DeleteBucketTagging |
Utiliza el subrecurso Precaución: Si se ha configurado una etiqueta de política ILM no predeterminada para este bucket, habrá una etiqueta de bucket |
GetBucketAcl |
Devuelve una respuesta positiva y el ID, DisplayName y Permission del propietario del bucket, lo que indica que el propietario tiene acceso completo al bucket. |
GetBucketCors |
Devuelve la configuración de |
GetBucketEncryption |
Devuelve la configuración de cifrado predeterminada del bucket. |
GetBucketLifecycleConfiguration (anteriormente denominado GET Bucket lifecycle) |
Devuelve la configuración del ciclo de vida del depósito. Consulta "Crear configuración del ciclo de vida de S3". |
GetBucketLocation |
Devuelve la región que se estableció usando el elemento |
GetBucketNotificationConfiguration (anteriormente denominada GET Bucket notification) |
Devuelve la configuración de notificaciones asociada al bucket. |
GetBucketPolicy |
Devuelve la política asociada al bucket. |
GetBucketReplication |
Devuelve la configuración de replicación asociada al bucket. |
GetBucketTagging |
Utiliza el subrecurso Precaución: Si se ha configurado una etiqueta de política ILM no predeterminada para este bucket, habrá una etiqueta de bucket |
GetBucketVersioning |
Esta implementación utiliza el subrecurso
|
GetObjectLockConfiguration |
Devuelve el modo de retención predeterminado del bucket y el periodo de retención predeterminado, si están configurados. |
HeadBucket |
Comprueba si existe un bucket y si tienes permiso para acceder a él. Esta operación devuelve:
|
ListObjects y ListObjectsV2 (anteriormente llamado GET Bucket) |
Devuelve algunos o todos (hasta 1,000) de los objetos en un bucket. La clase de almacenamiento de los objetos puede tener uno de estos dos valores, incluso si el objeto se ingresó con la opción de clase de almacenamiento
Si el bucket contiene un gran número de claves eliminadas que tienen el mismo prefijo, es posible que la respuesta incluya algunos Para las solicitudes HeadObject y ListObject, StorageGRID devuelve las marcas de tiempo LastModified con diferente precisión, mientras que AWS devuelve las marcas de tiempo con la misma precisión, como se muestra en los siguientes ejemplos:
|
ListObjectVersions (anteriormente denominado GET Bucket Object versions) |
Con acceso de lectura a un bucket, al usar esta operación con el subrecurso |
PutBucketCors |
Establece la configuración CORS de un bucket para que este pueda atender solicitudes de origen cruzado. El intercambio de recursos entre orígenes (CORS) es un mecanismo de seguridad que permite a las aplicaciones web cliente de un dominio acceder a recursos de otro dominio. Por ejemplo, supongamos que usas un bucket de S3 llamado |
PutBucketEncryption |
Establece el estado de cifrado predeterminado de un bucket existente. Cuando el cifrado a nivel de bucket está habilitado, cualquier objeto nuevo que se añada al bucket se cifra. StorageGRID admite el cifrado del lado del servidor con claves gestionadas por StorageGRID. Al especificar la regla de configuración del cifrado del lado del servidor, establece el parámetro La configuración predeterminada de cifrado del bucket se ignora si la solicitud de carga de objetos ya especifica el cifrado (es decir, si la solicitud incluye el encabezado de solicitud |
PutBucketLifecycleConfiguration (anteriormente denominado PUT Bucket lifecycle) |
Crea una nueva configuración de ciclo de vida para el bucket o reemplaza una configuración de ciclo de vida existente. StorageGRID admite hasta 1,000 reglas de ciclo de vida en una configuración de ciclo de vida. Cada regla puede incluir los siguientes elementos XML:
StorageGRID no admite estas acciones:
Consulta "Crear configuración del ciclo de vida de S3". Para entender cómo la acción de Caducidad en el ciclo de vida de un bucket interactúa con las instrucciones de ubicación de ILM, consulta "Cómo funciona ILM a lo largo de la vida de un objeto". Nota: La configuración del ciclo de vida de los buckets se puede utilizar con buckets que tengan habilitado S3 Object Lock, pero la configuración del ciclo de vida de los buckets no es compatible con los buckets Compliant heredados. |
PutBucketNotificationConfiguration (anteriormente denominada PUT Bucket notification) |
Configura las notificaciones para el bucket utilizando el XML de configuración de notificaciones incluido en el cuerpo de la solicitud. Debes tener en cuenta los siguientes detalles de implementación:
|
PutBucketPolicy |
Establece la política asociada al depósito. Véase "Usa políticas de acceso a buckets y de grupo". |
PutBucketReplication |
Configura "Replicación de StorageGRID CloudMirror" para el bucket utilizando el XML de configuración de replicación proporcionado en el cuerpo de la solicitud. Para la replicación de CloudMirror, debes tener en cuenta los siguientes detalles de implementación:
|
PutBucketTagging |
Utiliza el subrecurso
Precaución: Si se ha configurado una etiqueta de política ILM no predeterminada para este bucket, habrá una etiqueta de bucket Nota: Esta operación sobrescribirá cualquier etiqueta que ya tenga el bucket. Si se omite alguna etiqueta existente del conjunto, dicha etiqueta se eliminará del bucket. |
PutBucketVersioning |
Utiliza el subrecurso
|
PutObjectLockConfiguration |
Configura o elimina el modo de retención predeterminado y el periodo de retención predeterminado del bucket. Si se modifica el periodo de retención predeterminado, la fecha de retención de las versiones existentes de los objetos sigue siendo la misma y no se vuelve a calcular utilizando el nuevo periodo de retención predeterminado. Consulta "Utiliza la API de REST de S3 para configurar S3 Object Lock" para obtener información detallada. |