Configuración de notificación de metadatos del depósito PUT
La solicitud de configuración de notificación de metadatos de PUT Bucket le permite habilitar el servicio de integración de búsqueda para buckets individuales. El XML de configuración de notificación de metadatos que proporciona en el cuerpo de la solicitud especifica los objetos cuyos metadatos se envían al índice de búsqueda de destino.
Debe tener el permiso s3:PutBucketMetadataNotification para un bucket, o ser raíz de la cuenta, para completar esta operación.
Pedido
La solicitud debe incluir la configuración de notificación de metadatos en el cuerpo de la solicitud. Cada configuración de notificación de metadatos incluye una o más reglas. Cada regla especifica los objetos a los que se aplica y el destino donde StorageGRID debe enviar los metadatos de los objetos.
Los objetos se pueden filtrar según el prefijo del nombre del objeto. Por ejemplo, podría enviar metadatos para objetos con el prefijo /images
a un destino y objetos con el prefijo /videos
a otro.
Las configuraciones que tienen prefijos superpuestos no son válidas y se rechazan cuando se envían. Por ejemplo, una configuración que incluía una regla para los objetos con el prefijo test
y una segunda regla para los objetos con el prefijo test2
No se permitiría.
Los destinos deben especificarse utilizando el URN de un punto final de StorageGRID . El punto final debe existir cuando se envía la configuración de notificación de metadatos, o la solicitud falla como resultado. 400 Bad Request
El mensaje de error dice: Unable to save the metadata notification (search) policy. The specified endpoint URN does not exist: URN.
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>rule-status</Status> <Prefix>key-prefix</Prefix> <Destination> <Urn>arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype</Urn> </Destination> </Rule> <Rule> <ID>Rule-2</ID> ... </Rule> ... </MetadataNotificationConfiguration>
La tabla describe los elementos del XML de configuración de notificación de metadatos.
Nombre | Descripción | Requerido |
---|---|---|
Configuración de notificación de metadatos |
Etiqueta contenedora para reglas utilizadas para especificar los objetos y el destino de las notificaciones de metadatos. Contiene uno o más elementos de regla. |
Sí |
Regla |
Etiqueta contenedora para una regla que identifica los objetos cuyos metadatos deben agregarse a un índice específico. Se rechazan las reglas con prefijos superpuestos. Incluido en el elemento MetadataNotificationConfiguration. |
Sí |
IDENTIFICACIÓN |
Identificador único de la regla. Incluido en el elemento Regla. |
No |
Estado |
El estado puede ser 'Habilitado' o 'Deshabilitado'. No se realiza ninguna acción para las reglas que están deshabilitadas. Incluido en el elemento Regla. |
Sí |
Prefijo |
Los objetos que coinciden con el prefijo se ven afectados por la regla y sus metadatos se envían al destino especificado. Para que coincida con todos los objetos, especifique un prefijo vacío. Incluido en el elemento Regla. |
Sí |
Destino |
Etiqueta de contenedor para el destino de una regla. Incluido en el elemento Regla. |
Sí |
Urna |
URN del destino donde se envían los metadatos del objeto. Debe ser la URN de un punto final de StorageGRID con las siguientes propiedades:
Los puntos finales se configuran mediante el Administrador de inquilinos o la API de administración de inquilinos. Toman la siguiente forma:
El punto final debe configurarse antes de enviar el XML de configuración; de lo contrario, la configuración fallará con un error 404. La urna está incluida en el elemento Destino. |
Sí |
Solicitar ejemplos
Este ejemplo muestra cómo habilitar la integración de búsqueda para un depósito. En este ejemplo, los metadatos de todos los objetos se envían al mismo destino.
PUT /test1?x-ntap-sg-metadata-notification HTTP/1.1 Date: date Authorization: authorization string Host: host <MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>urn:sgws:es:::sgws-notifications/test1/all</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
En este ejemplo, metadatos de objeto para objetos que coinciden con el prefijo /images
se envía a un destino, mientras que los metadatos del objeto para los objetos que coinciden con el prefijo /videos
se envía a un segundo destino.
PUT /graphics?x-ntap-sg-metadata-notification HTTP/1.1 Date: date Authorization: authorization string Host: host <MetadataNotificationConfiguration> <Rule> <ID>Images-rule</ID> <Status>Enabled</Status> <Prefix>/images</Prefix> <Destination> <Urn>arn:aws:es:us-east-1:3333333:domain/es-domain/graphics/imagetype</Urn> </Destination> </Rule> <Rule> <ID>Videos-rule</ID> <Status>Enabled</Status> <Prefix>/videos</Prefix> <Destination> <Urn>arn:aws:es:us-west-1:22222222:domain/es-domain/graphics/videotype</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
JSON generado por el servicio de integración de búsqueda
Cuando habilita el servicio de integración de búsqueda para un depósito, se genera un documento JSON y se envía al punto final de destino cada vez que se agregan, actualizan o eliminan metadatos o etiquetas de objeto.
Este ejemplo muestra un ejemplo del JSON que podría generarse cuando un objeto con la clave SGWS/Tagging.txt
se crea en un depósito llamado test
. El test
El bucket no tiene versión, por lo que versionId
La etiqueta está vacía.
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1", "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
Metadatos de objetos incluidos en las notificaciones de metadatos
La tabla enumera todos los campos que se incluyen en el documento JSON que se envía al punto final de destino cuando se habilita la integración de búsqueda.
El nombre del documento incluye el nombre del depósito, el nombre del objeto y el ID de la versión, si está presente.
Tipo | Nombre del artículo | Descripción |
---|---|---|
Información de depósito y objeto |
balde |
Nombre del bucket |
Información de depósito y objeto |
llave |
Nombre de la clave del objeto |
Información de depósito y objeto |
ID de versión |
Versión del objeto, para objetos en depósitos versionados |
Información de depósito y objeto |
región |
Región del cubo, por ejemplo |
Metadatos del sistema |
tamaño |
Tamaño del objeto (en bytes) tal como lo ve un cliente HTTP |
Metadatos del sistema |
md5 |
Hash de objeto |
Metadatos del usuario |
metadatos
|
Todos los metadatos de usuario para el objeto, como pares clave-valor |
Etiquetas |
etiquetas
|
Todas las etiquetas de objeto definidas para el objeto, como pares clave-valor |
|
Para las etiquetas y los metadatos del usuario, StorageGRID pasa fechas y números a Elasticsearch como cadenas o como notificaciones de eventos S3. Para configurar Elasticsearch para que interprete estas cadenas como fechas o números, siga las instrucciones de Elasticsearch para el mapeo de campos dinámicos y para el mapeo de formatos de fecha. Debe habilitar las asignaciones de campos dinámicos en el índice antes de configurar el servicio de integración de búsqueda. Una vez indexado un documento, no es posible editar los tipos de campos del documento en el índice. |