Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configuration des notifications de métadonnées du compartiment PUT

La demande de configuration de notification des métadonnées PUT Bucket vous permet d'activer le service d'intégration de recherche pour des buckets individuels. La configuration XML de notification de métadonnées que vous fournissez dans le corps de la demande spécifie les objets dont les métadonnées sont envoyées à l'index de recherche de destination.

Vous devez disposer de l'autorisation s3:PutBucketMetadataNotification pour un bucket ou être root du compte pour terminer cette opération.

Demande

La demande doit inclure la configuration de notification des métadonnées dans le corps de la demande. Chaque configuration de notification de métadonnées comprend une ou plusieurs règles. Chaque règle spécifie les objets auxquels elle s’applique et la destination vers laquelle StorageGRID doit envoyer les métadonnées de l’objet.

Les objets peuvent être filtrés sur le préfixe du nom de l'objet. Par exemple, vous pouvez envoyer des métadonnées pour des objets avec le préfixe /images vers une destination et les objets avec le préfixe /videos à un autre.

Les configurations dont les préfixes se chevauchent ne sont pas valides et sont rejetées lorsqu'elles sont soumises. Par exemple, une configuration qui incluait une règle pour les objets avec le préfixe test et une deuxième 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 point de terminaison StorageGRID . Le point de terminaison doit exister lorsque la configuration de notification des métadonnées est soumise, sinon 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 de métadonnées.

Nom Description Obligatoire

Configuration des notifications de métadonnées

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 pour 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 MetadataNotificationConfiguration.

Oui

ID

Identifiant unique de la règle.

Inclus dans l'élément Règle.

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 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 de l'objet sont envoyées. Doit être l'URN d'un point de terminaison StorageGRID avec les propriétés suivantes :

  • `es`doit ê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 de l’API Tenant Manager ou Tenant Management. Ils prennent 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 que le XML de configuration ne soit soumis, sinon 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 bucket. Dans cet exemple, les métadonnées d’objet pour 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é à une destination, tandis que les métadonnées d'objet pour les objets qui correspondent au préfixe /videos est envoyé vers une deuxième 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 recherche

Lorsque vous activez le service d'intégration de recherche pour un bucket, un document JSON est généré et envoyé au point de terminaison de destination chaque fois que des métadonnées ou des balises d'objet sont ajoutées, mises à jour ou supprimées.

Cet exemple montre un exemple de JSON qui pourrait être généré lorsqu'un objet avec la clé SGWS/Tagging.txt est créé dans un bucket nommé test . Le test le bucket n'est pas versionné, donc le versionId la balise 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 envoyé au point de terminaison de destination lorsque l'intégration de la recherche est activée.

Le nom du document inclut le nom du bucket, le nom de l'objet et l'ID de version s'il est présent.

Type Nom de l'article Description

Informations sur le bucket et l'objet

seau

Nom du seau

Informations sur le bucket et l'objet

clé

Nom de la clé de l'objet

Informations sur le bucket et l'objet

ID de version

Version de l'objet, pour les objets dans les buckets versionnés

Informations sur le bucket et l'objet

région

Région de bucket, par exemple us-east-1

Métadonnées du système

taille

Taille de l'objet (en octets) telle que visible par un client HTTP

Métadonnées du système

md5

Hachage d'objet

Métadonnées de l'utilisateur

métadonnées key:value

Toutes les métadonnées utilisateur pour l'objet, sous forme de paires clé-valeur

Mots-clés

balises key:value

Toutes les balises d'objet définies pour l'objet, sous forme de paires clé-valeur

Remarque Pour les balises et les métadonnées utilisateur, StorageGRID transmet des dates et des nombres à Elasticsearch sous forme de chaînes ou de notifications d'événements S3. Pour configurer Elasticsearch afin d'interpréter ces chaînes comme des dates ou des nombres, suivez les instructions Elasticsearch pour le mappage de champs dynamiques et pour le 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 recherche. Une fois qu'un document est indexé, vous ne pouvez pas modifier les types de champs du document dans l'index.
Informations connexes

"Utiliser un compte locataire"