Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

PUT bucket metadata notification Configuration

Colaboradores

La solicitud de configuración de notificación DE metadatos DE PUT Bucket permite habilitar el servicio de integración de búsqueda para bloques individuales. El XML de configuración de notificación de metadatos que se proporciona en el cuerpo de la solicitud especifica los objetos cuyos metadatos se envían al índice de búsqueda de destino.

Tiene el permiso s3:PutBucketMetadataNotification para un bloque o ser raíz de la cuenta, para completar esta operación.

Solicitud

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 varias reglas. Cada regla especifica los objetos a los que se aplica y el destino al que StorageGRID debe enviar metadatos de objetos.

Los objetos se pueden filtrar según el prefijo del nombre del objeto. Por ejemplo, puede enviar metadatos de los objetos con el prefijo /images en 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 objetos con el prefijo test y una segunda regla para los objetos con el prefijo test2 no se permitirá.

Los destinos se deben especificar con el URN de un extremo de StorageGRID. El extremo debe existir cuando se envía la configuración de notificación de metadatos o la solicitud falla como un 400 Bad Request. El mensaje de error indica: 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>

En la tabla se describen los elementos del XML de configuración de notificaciones de metadatos.

Nombre Descripción Obligatorio

MetadataNotificationConfiguration

Etiqueta de contenedor para las reglas que se usan para especificar los objetos y el destino de las notificaciones de metadatos.

Contiene uno o más elementos Regla.

Regla

Código de contenedor de una regla que identifica los objetos cuyos metadatos deben agregarse a un índice especificado.

Se rechazan las reglas con prefijos superpuestos.

Incluido en el elemento MetadataNotificationConfiguration.

ID

Identificador único de la regla.

Incluido en el elemento Regla.

No

Estado

El estado puede ser "activado" o "desactivado". No se toman medidas para las reglas que están desactivadas.

Incluido en el elemento Regla.

Prefijo

Los objetos que coinciden con el prefijo se ven afectados por la regla y sus metadatos se envían al destino especificado.

Para hacer coincidir todos los objetos, especifique un prefijo vacío.

Incluido en el elemento Regla.

Destino

Etiqueta de contenedor para el destino de una regla.

Incluido en el elemento Regla.

No

URN del destino donde se envían los metadatos del objeto. Debe ser URN de un extremo de StorageGRID con las siguientes propiedades:

  • es debe ser el tercer elemento.

  • El URN debe terminar con el índice y el tipo donde se almacenan los metadatos, en el formulario domain-name/myindex/mytype.

Los extremos se configuran con el administrador de inquilinos o la API de gestión de inquilinos. Tienen el siguiente formato:

  • arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype

  • urn:mysite:es:::mydomain/myindex/mytype

El punto final debe estar configurado antes de enviar el XML de configuración o la configuración fallará con un error 404.

El valor de urn se incluye en el elemento Destination.

Solicitar ejemplos

Este ejemplo muestra habilitar la integración de búsqueda de un bloque. En este ejemplo, los metadatos de objeto 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 de objetos de 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

Al habilitar el servicio de integración de búsqueda para un bloque, se genera un documento JSON y se envía al extremo de destino cada vez que se agregan, actualizan o eliminan metadatos o etiquetas del objeto.

Este ejemplo muestra un ejemplo de JSON que se podría generar cuando un objeto con la clave SGWS/Tagging.txt se crea en un bloque llamado test. La test el bloque no tiene versiones, por lo que el 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

En la tabla se enumeran todos los campos que se incluyen en el documento JSON que se envían al extremo de destino cuando la integración de búsqueda está habilitada.

El nombre del documento incluye el nombre del bloque, el nombre del objeto y el ID de versión, si existe.

Tipo Nombre del elemento Descripción

Información sobre bloques y objetos

cucharón

Nombre del bloque

Información sobre bloques y objetos

clave

Nombre de clave de objeto

Información sobre bloques y objetos

ID de versión

Versión de objeto, para objetos en bloques con versiones

Información sobre bloques y objetos

región

Región de bloque, por ejemplo us-east-1

Metadatos del sistema

tamaño

Tamaño del objeto (en bytes) visible para un cliente HTTP

Metadatos del sistema

md5

Hash de objeto

Metadatos del usuario

metadatos key:value

Todos los metadatos de usuario del objeto, como pares clave-valor

Etiquetas

etiquetas key:value

Todas las etiquetas de objeto definidas para el objeto, como pares clave-valor

Nota: para etiquetas y metadatos de usuario, StorageGRID pasa fechas y números a Elasticsearch como cadenas o como notificaciones de eventos S3. Para configurar Elasticsearch para interpretar estas cadenas como fechas o números, siga las instrucciones de Elasticsearch para la asignación dinámica de campos y para asignar 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 indizado un documento, no se pueden editar los tipos de campo del documento en el índice.

Información relacionada

Usar cuenta de inquilino