CONFIGURATION de notification des métadonnées de compartiment
La demande de configuration DE notification DE métadonnées PUT compartiments vous permet d'activer le service d'intégration de la recherche pour chaque compartiment. Le XML de configuration de notification de métadonnées que vous fournissez dans le corps de la requête spécifie les objets dont les métadonnées sont envoyées à l'index de recherche de destination.
Pour effectuer cette opération, vous disposez de l'autorisation s3:PutBuckeMetadanotification pour un compartiment ou être un compte root.
Demande
La demande doit inclure la configuration de notification de métadonnées dans l'organisme de demande. Chaque configuration de notification de métadonnées comprend une ou plusieurs règles. Chaque règle spécifie les objets à lesquels elle s'applique, ainsi que la destination vers laquelle StorageGRID doit envoyer les métadonnées d'objet.
Les objets peuvent être filtrés sur le préfixe du nom de l'objet. Par exemple, vous pouvez envoyer les métadonnées pour les objets avec le préfixe /images
à une destination et à des objets avec le préfixe /videos
à un autre.
Les configurations avec des préfixes qui se chevauchent ne sont pas valides et sont rejetées lorsqu'elles sont soumises. Par exemple, une configuration comprenant une règle pour les objets avec le préfixe test
et une seconde règle pour les objets avec le préfixe test2
ne serait pas autorisé.
Les destinations doivent être spécifiées à l'aide de l'URN d'un terminal StorageGRID. Le noeud final doit exister lorsque la configuration de notification de métadonnées est soumise, ou que la demande échoue en tant que 400 Bad Request
. Le message d'erreur indique : 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>
Le tableau décrit les éléments du XML de configuration de notification des métadonnées.
Nom | Description | Obligatoire |
---|---|---|
Configuration de la MetadaNotificationConfiguration |
Balise de conteneur pour les règles utilisées pour spécifier les objets et la destination des notifications de métadonnées. Contient un ou plusieurs éléments de règle. |
Oui. |
Règle |
Balise de conteneur d'une règle qui identifie les objets dont les métadonnées doivent être ajoutées à un index spécifié. Les règles avec des préfixes qui se chevauchent sont rejetées. Inclus dans l'élément MetadaNotificationConfiguration. |
Oui. |
ID |
Identifiant unique de la règle. Inclus dans l'élément règle. |
Non |
État |
L'état peut être « activé » ou « désactivé ». Aucune action n'est prise pour les règles désactivées. Inclus dans l'élément règle. |
Oui. |
Préfixe |
Les objets qui correspondent au préfixe sont affectés par la règle et leurs métadonnées sont envoyées à la destination spécifiée. Pour faire correspondre tous les objets, spécifiez un préfixe vide. Inclus dans l'élément règle. |
Oui. |
Destination |
Balise de conteneur pour la destination d'une règle. Inclus dans l'élément règle. |
Oui. |
Urne |
URN de la destination où les métadonnées d'objet sont envoyées. Doit être l'URN d'un terminal StorageGRID avec les propriétés suivantes :
Les terminaux sont configurés à l'aide du Gestionnaire de locataires ou de l'API de gestion des locataires. Ils se présentent sous la forme suivante :
Le noeud final doit être configuré avant la soumission du XML de configuration, ou la configuration échouera avec une erreur 404. L'urne est incluse dans l'élément destination. |
Oui. |
Exemples de demandes
Cet exemple montre l'activation de l'intégration de la recherche pour un compartiment. Dans cet exemple, les métadonnées d'objet de tous les objets sont envoyées vers la même destination.
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>
Dans cet exemple, les métadonnées d'objet pour les objets qui correspondent au préfixe /images
est envoyée à une destination, tandis que les métadonnées d'objet correspondent au préfixe /videos
est envoyé à une seconde destination.
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 généré par le service d'intégration de la recherche
Lorsque vous activez le service d'intégration de la recherche pour un compartiment, un document JSON est généré et envoyé au terminal de destination à chaque ajout, mise à jour ou suppression de métadonnées d'objet.
Cet exemple montre un exemple de fichier JSON qui peut être généré lorsqu'un objet doté de la clé est associé SGWS/Tagging.txt
est créé dans un compartiment nommé test
. Le test
le compartiment n'est pas multiversion versionId
l'étiquette est vide.
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1" "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
Métadonnées d'objet incluses dans les notifications de métadonnées
Le tableau répertorie tous les champs inclus dans le document JSON qui est envoyé au noeud final de destination lorsque l'intégration de la recherche est activée.
Le nom du document inclut le nom du compartiment, le nom de l'objet et l'ID de version, le cas échéant.
Type | Nom de l'élément | Description |
---|---|---|
Informations sur les compartiments et les objets |
godet |
Nom du compartiment |
Informations sur les compartiments et les objets |
clé |
Nom de clé d'objet |
Informations sur les compartiments et les objets |
ID de version |
Version d'objet, pour les objets dans les compartiments multiversion |
Informations sur les compartiments et les objets |
région |
Zone de godet, par exemple |
Métadonnées de système |
taille |
Taille de l'objet (en octets) visible par un client HTTP |
Métadonnées de système |
md5 |
Hachage d'objets |
Métadonnées d'utilisateur |
les métadonnées
|
Toutes les métadonnées utilisateur pour l'objet, comme paires de clé-valeur |
Étiquettes |
balises
|
Toutes les balises d'objet définies pour l'objet, en tant que paires clé-valeur |
Pour les balises et les métadonnées d'utilisateur, StorageGRID transmet des dates et des chiffres à Elasticsearch en tant que chaînes ou notifications d'événement S3. Pour configurer Elasticsearch afin d'interpréter ces chaînes comme des dates ou des chiffres, suivez les instructions Elasticsearch pour un mappage dynamique des champs et un mappage des formats de date. Vous devez activer les mappages de champs dynamiques sur l'index avant de configurer le service d'intégration de la recherche. Une fois qu'un document est indexé, vous ne pouvez pas modifier les types de champ du document dans l'index. |