Configurar el servicio de integración de búsqueda
Puede habilitar la integración de búsqueda para un depósito creando un XML de integración de búsqueda y utilizando el Administrador de inquilinos para aplicar el XML al depósito.
-
Un administrador de StorageGRID habilitó los servicios de plataforma para su cuenta de inquilino.
-
Ya ha creado un bucket S3 cuyo contenido desea indexar.
-
El punto final que desea utilizar como destino para el servicio de integración de búsqueda ya existe y tiene su URN.
-
Perteneces a un grupo de usuarios que tiene la"Administrar todos los depósitos o permisos de acceso raíz" . Estos permisos anulan las configuraciones de permisos en las políticas de grupo o de depósito cuando se configura el depósito mediante el Administrador de inquilinos.
Después de configurar el servicio de integración de búsqueda para un depósito de origen, la creación de un objeto o la actualización de los metadatos o las etiquetas de un objeto activa el envío de metadatos del objeto al punto final de destino.
Si habilita el servicio de integración de búsqueda para un depósito que ya contiene objetos, las notificaciones de metadatos no se envían automáticamente para los objetos existentes. Actualice estos objetos existentes para garantizar que sus metadatos se agreguen al índice de búsqueda de destino.
-
Habilitar la integración de búsqueda para un depósito:
-
Utilice un editor de texto para crear el XML de notificación de metadatos necesario para habilitar la integración de búsqueda.
-
Al configurar el XML, utilice la URN de un punto final de integración de búsqueda como destino.
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 metadatos para objetos con el prefijovideos
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 incluye una regla para objetos con el prefijotest
y una segunda regla para los objetos con el prefijotest2
No está permitido.Según sea necesario, consulte laEjemplos para la configuración de metadatos XML .
<MetadataNotificationConfiguration> <Rule> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>/Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
Elementos en el 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:
-
`es`Debe ser el tercer elemento.
-
La URN debe terminar con el índice y tipo donde se almacenan los metadatos, en el formato
domain-name/myindex/mytype
.
Los puntos finales se configuran mediante el Administrador de inquilinos o la API de administración de inquilinos. Toman la siguiente forma:
-
arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype
-
urn:mysite:es:::mydomain/myindex/mytype
El punto final debe configurarse antes de enviar el XML de configuración; de lo contrario, la configuración fallará con un error 404.
URN está incluido en el elemento Destino.
Sí
-
-
En el Administrador de inquilinos, seleccione ALMACENAMIENTO (S3) > Cubos.
-
Seleccione el nombre del depósito de origen.
Aparece la página de detalles del depósito.
-
Seleccione Servicios de plataforma > Integración de búsqueda
-
Seleccione la casilla de verificación Habilitar integración de búsqueda.
-
Pegue la configuración de notificación de metadatos en el cuadro de texto y seleccione Guardar cambios.
Los servicios de plataforma deben ser habilitados para cada cuenta de inquilino por un administrador de StorageGRID mediante Grid Manager o la API de administración. Comuníquese con su administrador de StorageGRID si se produce un error al guardar el XML de configuración. -
Verifique que el servicio de integración de búsqueda esté configurado correctamente:
-
Agregue un objeto al depósito de origen que cumpla con los requisitos para activar una notificación de metadatos según lo especificado en el XML de configuración.
En el ejemplo mostrado anteriormente, todos los objetos agregados al depósito activan una notificación de metadatos.
-
Confirme que se agregó un documento JSON que contiene los metadatos y las etiquetas del objeto al índice de búsqueda especificado en el punto final.
-
Según sea necesario, puede deshabilitar la integración de búsqueda para un depósito utilizando cualquiera de los siguientes métodos:
-
Seleccione ALMACENAMIENTO (S3) > Cubos y desmarque la casilla Habilitar integración de búsqueda.
-
Si está utilizando la API S3 directamente, utilice una solicitud de notificación de metadatos de DELETE Bucket. Consulte las instrucciones para implementar aplicaciones cliente S3.
Ejemplo: Configuración de notificación de metadatos que se aplica a todos los objetos
En este ejemplo, los metadatos de todos los objetos se envían al mismo destino.
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>urn:myes:es:::sgws-notifications/test1/all</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
Ejemplo: Configuración de notificación de metadatos con dos reglas
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.
<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>
Formato de notificación de metadatos
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" } }
Campos incluidos en el documento JSON
El nombre del documento incluye el nombre del depósito, el nombre del objeto y el ID de la versión, si está presente.
- Información de depósito y objeto
-
bucket
: Nombre del bucketkey
: Nombre de la clave del objetoversionID
:Versión del objeto, para objetos en depósitos versionadosregion
: Región del cubo, por ejemplous-east-1
- Metadatos del sistema
-
size
:Tamaño del objeto (en bytes) tal como lo ve un cliente HTTPmd5
: Hash de objeto - Metadatos del usuario
-
metadata
:Todos los metadatos del usuario para el objeto, como pares clave-valorkey:value
- Etiquetas
-
tags
:Todas las etiquetas de objeto definidas para el objeto, como pares clave-valorkey:value
Cómo ver resultados en Elasticsearch
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. Habilite 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.