Configurez le service d'intégration de recherche dans StorageGRID
Vous activez l'intégration de la recherche pour un compartiment en créant un fichier XML d'intégration de recherche et en utilisant le Tenant Manager pour appliquer le fichier XML au compartiment.
-
${post_edited_translations.segment}
-
Vous avez déjà créé un compartiment S3 dont vous souhaitez indexer le contenu.
-
Le point de terminaison que vous souhaitez utiliser comme destination pour le service d'intégration de recherche existe déjà, et vous disposez de son URN.
-
Vous appartenez à un groupe d'utilisateurs qui dispose de la "Gérer tous les compartiments ou autorisation d'accès Root". Ces autorisations prévalent sur les paramètres d'autorisation des politiques de groupe ou de compartiment lors de la configuration du compartiment à l'aide du Tenant Manager.
Une fois le service d'intégration de recherche configuré pour un compartiment source, la création d'un objet ou la mise à jour des métadonnées ou des balises d'un objet déclenche l'envoi des métadonnées de l'objet au point de terminaison de destination.
Si vous activez le service d'intégration de recherche pour un compartiment contenant déjà des objets, les notifications de métadonnées ne sont pas automatiquement envoyées pour les objets existants. Mettez à jour ces objets existants pour garantir que leurs métadonnées sont ajoutées à l'index de recherche de destination.
-
Activer l'intégration de la recherche pour un compartiment :
-
Utilisez un éditeur de texte pour créer le fichier XML de notification des métadonnées requis pour activer l'intégration de la recherche.
-
Lors de la configuration du fichier XML, utilisez l'URN d'un point de terminaison d'intégration de recherche comme destination.
Les objets peuvent être filtrés sur le préfixe du nom de l'objet. Par exemple, vous pouvez envoyer les métadonnées des objets avec le préfixe
imagesà une destination, et les métadonnées des objets avec le préfixevideosà une autre. Les configurations comportant des préfixes qui se chevauchent ne sont pas valides et sont rejetées lors de leur soumission. Par exemple, une configuration qui inclut une règle pour les objets avec le préfixetestet une seconde règle pour les objets avec le préfixetest2n'est pas autorisée.Au besoin, reportez-vous au Exemples pour la configuration des métadonnées XML.
<MetadataNotificationConfiguration> <Rule> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>/Urn> </Destination> </Rule> </MetadataNotificationConfiguration>Éléments du fichier XML de configuration des notifications de métadonnées :
Nom Description Obligatoire MetadataNotificationConfiguration
Balise 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 conteneur pour une règle qui identifie les objets dont les métadonnées doivent être ajoutées à un index spécifié.
Les règles comportant des préfixes qui se chevauchent sont rejetées.
Inclus dans l’élément MetadataNotificationConfiguration.
Oui
ID
Identifiant unique de la règle.
Inclus dans l’élément Rule.
Non
Statut
Le statut peut être « Activé » ou « Désactivé ». Aucune action n'est entreprise pour les règles désactivées.
Inclus dans l’élément Rule.
Oui
Préfixe
Les objets correspondant au préfixe sont concerné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 Rule.
Oui
Destination
Étiquette conteneur pour la destination d'une règle.
Inclus dans l’élément Rule.
Oui
Urn
URN de la destination où les métadonnées de l'objet sont envoyées. Doit être l'URN d'un point de terminaison StorageGRID possédant les propriétés suivantes :
-
esdoit être le troisième élément. -
L'URN doit se terminer par l'index et le type où les métadonnées sont stockées, sous la forme
domain-name/myindex/mytype.
Les points de terminaison 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 :
-
arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype -
urn:mysite:es:::mydomain/myindex/mytype
Le point de terminaison doit être configuré avant la soumission du fichier XML de configuration, sinon la configuration échouera avec une erreur 404.
L'URN est inclus dans l'élément Destination.
Oui
-
-
Dans le Tenant Manager, sélectionnez STORAGE (S3) > Buckets.
-
Sélectionnez le nom du compartiment source.
${post_edited_translations.segment}
-
Sélectionnez Services de plateforme > Intégration de recherche
-
Cochez la case Activer l'intégration de la recherche.
-
Collez la configuration de notification des métadonnées dans la zone de texte, puis sélectionnez Enregistrer les modifications.
Les services de la plateforme doivent être activés pour chaque compte client par un administrateur StorageGRID à l'aide de Grid Manager ou de l'API de gestion. Contactez votre administrateur StorageGRID si une erreur se produit lors de l'enregistrement du fichier XML de configuration. -
Vérifiez que le service d'intégration de recherche est correctement configuré :
-
Ajoutez un objet au compartiment source qui répond aux exigences de déclenchement d'une notification de métadonnées, comme spécifié dans le fichier XML de configuration.
Dans l'exemple présenté précédemment, tous les objets ajoutés au compartiment déclenchent une notification de métadonnées.
-
Confirmez qu'un document JSON contenant les métadonnées et les balises de l'objet a été ajouté à l'index de recherche spécifié dans le point de terminaison.
-
Si nécessaire, vous pouvez désactiver l'intégration de recherche pour un compartiment en utilisant l'une des méthodes suivantes :
-
Sélectionnez STOCKAGE (S3) > Buckets et décochez la case Activer l'intégration de recherche.
-
Si vous utilisez directement l'API S3, utilisez une requête de notification de métadonnées DELETE Bucket. Consultez les instructions pour la mise en œuvre des applications clientes S3.
Exemple : Configuration de notification des métadonnées qui s’applique à tous les objets
Dans cet exemple, les métadonnées de tous les objets sont envoyées à la même destination.
<MetadataNotificationConfiguration>
<Rule>
<ID>Rule-1</ID>
<Status>Enabled</Status>
<Prefix></Prefix>
<Destination>
<Urn>urn:myes:es:::sgws-notifications/test1/all</Urn>
</Destination>
</Rule>
</MetadataNotificationConfiguration>
Exemple : Configuration des notifications de métadonnées avec deux règles
Dans cet exemple, les métadonnées d'objet pour les objets qui correspondent au préfixe /images sont envoyées à une destination, tandis que les métadonnées d'objet pour les objets qui correspondent au préfixe /videos sont envoyées à une seconde destination.
<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>
Format de notification des métadonnées
${post_edited_translations.segment}
Cet exemple montre un exemple du JSON qui pourrait être généré lorsqu'un objet avec la clé SGWS/Tagging.txt est créé dans un compartiment nommé test. Le compartiment test n'est pas versionné, la balise versionId est donc vide.
{
"bucket": "test",
"key": "SGWS/Tagging.txt",
"versionId": "",
"accountId": "86928401983529626822",
"size": 38,
"md5": "3d6c7634a85436eee06d43415012855",
"region":"us-east-1",
"metadata": {
"age": "25"
},
"tags": {
"color": "yellow"
}
}
Champs inclus dans le document JSON
Le nom du document comprend le nom du compartiment, le nom de l'objet et l'identifiant de version, le cas échéant.
- Informations sur le bucket et l'objet
-
bucket: Nom du compartimentkey: Nom de la clé de l'objetversionID: Version de l'objet, pour les objets dans des compartiments versionnésregion: Région du compartiment, par exempleus-east-1 - Métadonnées système
-
size: Taille de l'objet (en octets) telle qu'elle est visible pour un client HTTPmd5: Hachage d'objet - Métadonnées utilisateur
-
metadata: Toutes les métadonnées utilisateur de l'objet, sous forme de paires clé-valeurkey:value - Étiquettes
-
tags: Toutes les étiquettes d'objet définies pour l'objet, sous forme de paires clé-valeurkey:value
Comment afficher les résultats dans Elasticsearch
Pour les balises et les métadonnées utilisateur, StorageGRID transmet les dates et les nombres à Elasticsearch sous forme de chaînes ou de notifications d'événements S3. Pour configurer Elasticsearch afin qu'il interprète ces chaînes comme des dates ou des nombres, suivez les instructions Elasticsearch concernant le mappage dynamique des champs et le mappage des formats de date. Activez le mappage dynamique des champs sur l'index avant de configurer le service d'intégration de recherche. Après l'indexation d'un document, vous ne pouvez plus modifier les types de champs du document dans l'index.