Operaciones en bloques
El sistema StorageGRID admite un máximo de 1,000 bloques para cada cuenta de inquilino de S3.
Las restricciones de nombres de bloque siguen las restricciones de región del estándar estadounidense de AWS, pero debe restringirlas a convenciones de nomenclatura de DNS para admitir solicitudes de estilo hospedado virtual de S3.
Las operaciones GET Bucket (List Objects) Y GET Bucket admiten los controles de coherencia de StorageGRID.
Puede comprobar si las actualizaciones a la hora del último acceso están habilitadas o deshabilitadas para grupos individuales.
En la siguiente tabla se describe cómo StorageGRID implementa operaciones de bloque de API DE REST de S3. Para realizar alguna de estas operaciones, se deben proporcionar las credenciales de acceso necesarias para la cuenta.
Funcionamiento | Implementación |
---|---|
ELIMINAR bloque |
Se implementa con todo el comportamiento de la API DE REST de Amazon S3. |
ELIMINAR los cors de cucharón |
Esta operación elimina la configuración de CORS para el cucharón. |
DELETE Bucket Encryption |
Esta operación elimina el cifrado predeterminado del bloque. Los objetos cifrados existentes permanecen cifrados, pero los nuevos objetos agregados al bloque no están cifrados. |
ELIMINAR ciclo de vida de bloque |
Esta operación elimina la configuración del ciclo de vida del bloque. |
ELIMINE la política de bloques |
Esta operación elimina la política asociada al bloque. |
DELETE Bucket replicación |
Esta operación elimina la configuración de replicación conectada al bloque. |
DELETE Bucket tagging |
Esta operación utiliza |
GET Bucket (List Objects), versión 1 y versión 2 |
Esta operación devuelve algunos o todos (hasta 1,000) de los objetos de un bloque. La clase de almacenamiento para los objetos puede tener cualquiera de dos valores, incluso si el objeto se ingirió con la
Si el bloque contiene un gran número de claves eliminadas que tienen el mismo prefijo, la respuesta podría incluir algunas |
GET Bucket acl |
Esta operación devuelve una respuesta positiva y el ID, DisplayName y permiso del propietario del bloque, lo que indica que el propietario tiene acceso completo al bloque. |
OBTENGA los cors del cucharón |
Esta operación devuelve el |
OBTENGA el cifrado de bloque |
Esta operación devuelve la configuración de cifrado predeterminada del bloque. |
OBTENGA el ciclo de vida de la cuchara |
Esta operación devuelve la configuración del ciclo de vida del bloque. |
OBTENER ubicación de bloque |
Esta operación devuelve la región que se estableció mediante el |
OBTENGA la notificación DE BUCKET |
Esta operación devuelve la configuración de notificación asociada al bloque. |
OBTENGA las versiones DE objeto Bucket |
Con el acceso DE LECTURA en un bloque, esta operación con el |
OBTENGA la política de bloques |
Esta operación devuelve la política asociada al bloque. |
OBTENGA la replicación de Bucket |
Esta operación devuelve la configuración de replicación asociada al bloque. |
GET Bucket tagging |
Esta operación utiliza |
OBTENGA el control de versiones de Bucket |
Esta implementación usa la |
OBTENER configuración de bloqueo de objeto |
Esta operación determina si el bloqueo de objetos S3 está habilitado para un bloque. "Uso del bloqueo de objetos de S3" |
Cubo DE CABEZA |
Esta operación determina si existe un bloque y tiene permiso para acceder a él. |
COLOQUE el cucharón |
Esta operación crea un nuevo bloque. Al crear la cuchara, se convierte en el propietario de la cuchara.
|
COLOQUE los cors del cucharón |
Esta operación establece la configuración de CORS para un cucharón para que éste pueda atender solicitudes de origen cruzado. El uso compartido de recursos de origen cruzado (CORS) es un mecanismo de seguridad que permite a las aplicaciones web de cliente de un dominio acceder a los recursos de un dominio diferente. Por ejemplo, supongamos que se utiliza un bloque de S3 llamado |
PUT Bucket Encryption |
Esta operación establece el estado de cifrado predeterminado de un bloque existente. Cuando se habilita el cifrado a nivel de bloque, se cifran todos los objetos nuevos que se añadan al bloque.StorageGRID admite el cifrado en el lado del servidor con claves gestionadas por StorageGRID. Al especificar la regla de configuración de cifrado del servidor, defina la La configuración de cifrado predeterminada de bloque se omite si la solicitud de carga de objeto ya especifica cifrado (es decir, si la solicitud incluye la |
CICLO de vida DE la cuchara |
Esta operación crea una nueva configuración del ciclo de vida para el bloque o reemplaza una configuración de ciclo de vida existente. StorageGRID admite hasta 1,000 reglas de ciclo de vida en una configuración del ciclo de vida. Cada regla puede incluir los siguientes elementos XML:
StorageGRID no admite estas acciones:
Para comprender cómo la acción de caducidad en el ciclo de vida de un bloque interactúa con las instrucciones de colocación de ILM, consulte ""Cómo funciona ILM durante la vida de un objeto" en las instrucciones para gestionar objetos con gestión del ciclo de vida de la información. Nota: La configuración del ciclo de vida de la cuchara se puede utilizar con cucharones que tengan habilitado el bloqueo de objetos S3, pero la configuración del ciclo de vida de la cuchara no es compatible con cucharones legados compatibles. |
NOTIFICACIÓN DE PUT Bucket |
Esta operación configura notificaciones para el bloque mediante el XML de configuración de notificación incluido en el cuerpo de la solicitud. Debe tener en cuenta los siguientes detalles de implementación:
|
POLÍTICA DE PUT Bucket |
Esta operación establece la política asociada al bloque. |
PUT Bucket replication |
Esta operación configura la replicación de CloudMirror de StorageGRID para el bloque con el XML de configuración de replicación que se proporciona en el cuerpo de la solicitud. Para la replicación de CloudMirror, debe tener en cuenta los siguientes detalles de la implementación:
|
PUT Bucket etiquetaje |
Esta operación utiliza
|
PONER creación de versiones de bloques |
Esta implementación usa la
|
"Documentación de Amazon Web Services (AWS): Replicación entre regiones"
Crear una configuración del ciclo de vida de S3
Puede crear una configuración del ciclo de vida de S3 para controlar cuándo se eliminan objetos específicos del sistema StorageGRID.
El ejemplo sencillo de esta sección muestra cómo puede controlar una configuración del ciclo de vida de S3 cuando se eliminan ciertos objetos (caducados) de bloques S3 específicos. El ejemplo de esta sección es solo con fines ilustrativos. Para obtener detalles completos sobre la creación de configuraciones del ciclo de vida de S3, consulte la sección sobre la gestión del ciclo de vida de objetos en la Amazon simple Storage Service Developer Guide. Tenga en cuenta que StorageGRID solo admite acciones de caducidad, no admite acciones de transición.
Qué es una configuración del ciclo de vida
Una configuración de ciclo de vida es un conjunto de reglas que se aplican a los objetos en bloques de S3 específicos. Cada regla especifica qué objetos se ven afectados y cuándo caducarán dichos objetos (en una fecha específica o después de un número determinado de días).
StorageGRID admite hasta 1,000 reglas de ciclo de vida en una configuración del ciclo de vida. Cada regla puede incluir los siguientes elementos XML:
-
Caducidad: Elimine un objeto cuando se alcance una fecha especificada o cuando se alcance un número especificado de días, empezando desde el momento en que se ingirió el objeto.
-
NoncurrentVersionExpiration: Elimine un objeto cuando se alcance un número especificado de días, empezando desde el momento en que el objeto se volvió no actual.
-
Filtro (prefijo, etiqueta)
-
Estado
-
ID
Si aplica una configuración del ciclo de vida a un bloque, la configuración del ciclo de vida del bloque siempre anula la configuración de ILM de StorageGRID. StorageGRID utiliza la configuración de caducidad del bloque, no de ILM, para determinar si se deben eliminar o conservar objetos específicos.
Como resultado, es posible que se elimine un objeto de la cuadrícula aunque las instrucciones de colocación de una regla de ILM aún se apliquen al objeto. O bien, es posible que un objeto se conserve en la cuadrícula incluso después de que hayan transcurrido las instrucciones de colocación de ILM para el objeto. Para obtener información detallada, consulte «"Cómo funciona ILM durante la vida de un objeto" en las instrucciones para gestionar objetos con gestión del ciclo de vida de la información.
La configuración del ciclo de vida de bloques se puede usar con bloques que tienen habilitado el bloqueo de objetos S3, pero la configuración del ciclo de vida de bloques no se admite para bloques compatibles con versiones anteriores. |
StorageGRID admite el uso de las siguientes operaciones de bloques para gestionar las configuraciones del ciclo de vida:
-
ELIMINAR ciclo de vida de bloque
-
OBTENGA el ciclo de vida de la cuchara
-
CICLO de vida DE la cuchara
Creando la configuración del ciclo de vida
Como primer paso en la creación de una configuración de ciclo de vida, se crea un archivo JSON que incluye una o varias reglas. Por ejemplo, este archivo JSON incluye tres reglas, de la siguiente manera:
-
La regla 1 sólo se aplica a los objetos que coinciden con el prefijo
category1
/ y que tienen unkey2
valor detag2
. LaExpiration
Parámetro especifica que los objetos que coinciden con el filtro caducarán a medianoche el 22 de agosto de 2020. -
La regla 2 sólo se aplica a los objetos que coinciden con el prefijo
category2
/. LaExpiration
el parámetro especifica que los objetos que coinciden con el filtro caducarán 100 días después de que se ingieran.Las reglas que especifican un número de días son relativas al momento en que se ingirió el objeto. Si la fecha actual supera la fecha de ingesta más el número de días, es posible que algunos objetos se eliminen del bloque en cuanto se aplique la configuración del ciclo de vida. -
La regla 3 sólo se aplica a los objetos que coinciden con el prefijo
category3
/. LaExpiration
parámetro especifica que cualquier versión no actual de objetos coincidentes caducará 50 días después de que se conviertan en no actualizados.
{ "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" } ] }
Aplicar una configuración de ciclo de vida a un bloque
Después de crear el archivo de configuración del ciclo de vida, se aplica a un bloque emitiendo una solicitud PUT Bucket Lifecycle.
Esta solicitud aplica la configuración del ciclo de vida del archivo de ejemplo a los objetos de un bloque denominado testbucket
:cucharón
aws s3api --endpoint-url <StorageGRID endpoint> put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://bktjson.json
Para validar que se ha aplicado correctamente una configuración del ciclo de vida al bloque, emita una solicitud GET Bucket Lifecycle. Por ejemplo:
aws s3api --endpoint-url <StorageGRID endpoint> get-bucket-lifecycle-configuration --bucket testbucket
Una respuesta correcta muestra la configuración del ciclo de vida que acaba de aplicar.
Validar que la caducidad del ciclo de vida de los bloques se aplica a un objeto
Puede determinar si una regla de caducidad en la configuración del ciclo de vida se aplica a un objeto específico al emitir una solicitud PUT Object, HEAD Object o GET Object. Si se aplica una regla, la respuesta incluye una Expiration
parámetro que indica cuándo caduca el objeto y qué regla de caducidad se ha coincidido.
Dado que el ciclo de vida de los bloques anula la gestión del ciclo de vida de expiry-date se muestra la fecha real en la que se eliminará el objeto. Para obtener información detallada, consulte «"Cómo se determina la retención de objetos" en las instrucciones para realizar la administración de StorageGRID.
|
Por ejemplo, esta solicitud PUT Object fue emitida el 22 de junio de 2020 y coloca un objeto en el testbucket
cucharón.
aws s3api --endpoint-url <StorageGRID endpoint> put-object --bucket testbucket --key obj2test2 --body bktjson.json
La respuesta correcta indica que el objeto caducará en 100 días (01 de octubre de 2020) y que coincide con la regla 2 de la configuración del ciclo de vida.
{
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:49 GMT\", rule-id=\"rule2\"",
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
}
Por ejemplo, esta solicitud DE OBJETO HEAD se utilizó para obtener metadatos para el mismo objeto en el bloque testbucket.
aws s3api --endpoint-url <StorageGRID endpoint> head-object --bucket testbucket --key obj2test2
La respuesta correcta incluye los metadatos del objeto e indica que el objeto caducará en 100 días y que coincide con la regla 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": {}
}