INSERIRE la configurazione della notifica dei metadati del bucket
La richiesta di configurazione DELLA notifica dei metadati PUT bucket consente di attivare il servizio di integrazione della ricerca per i singoli bucket. L'XML di configurazione della notifica dei metadati fornito nel corpo della richiesta specifica gli oggetti i cui metadati vengono inviati all'indice di ricerca di destinazione.
Per completare questa operazione, si dispone dell'autorizzazione s3:PutBucketMetadataNotification per un bucket o si è root dell'account.
Richiesta
La richiesta deve includere la configurazione della notifica dei metadati nel corpo della richiesta. Ogni configurazione di notifica dei metadati include una o più regole. Ogni regola specifica gli oggetti a cui si applica e la destinazione in cui StorageGRID deve inviare i metadati degli oggetti.
Gli oggetti possono essere filtrati in base al prefisso del nome dell'oggetto. Ad esempio, è possibile inviare metadati per oggetti con il prefisso /images
a una destinazione e agli oggetti con il prefisso /videos
a un altro.
Le configurazioni con prefissi sovrapposti non sono valide e vengono rifiutate al momento dell'invio. Ad esempio, una configurazione che includeva una regola per per gli oggetti con il prefisso test
e una seconda regola per gli oggetti con il prefisso test2
non sarebbe consentito.
Le destinazioni devono essere specificate utilizzando l'URN di un endpoint StorageGRID. L'endpoint deve esistere quando viene inviata la configurazione della notifica dei metadati, oppure la richiesta non riesce come a. 400 Bad Request
. Il messaggio di errore 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>
La tabella descrive gli elementi contenuti nel file XML di configurazione per la notifica dei metadati.
Nome | Descrizione | Obbligatorio |
---|---|---|
MetadataNotificationConfiguration |
Tag container per le regole utilizzate per specificare gli oggetti e la destinazione per le notifiche dei metadati. Contiene uno o più elementi della regola. |
Sì |
Regola |
Tag container per una regola che identifica gli oggetti i cui metadati devono essere aggiunti a un indice specificato. Le regole con prefissi sovrapposti vengono rifiutate. Incluso nell'elemento MetadataNotificationConfiguration. |
Sì |
ID |
Identificatore univoco della regola. Incluso nell'elemento Rule. |
No |
Stato |
Lo stato può essere "abilitato" o "Disabilitato". Non viene intrapresa alcuna azione per le regole disattivate. Incluso nell'elemento Rule. |
Sì |
Prefisso |
Gli oggetti che corrispondono al prefisso vengono influenzati dalla regola e i relativi metadati vengono inviati alla destinazione specificata. Per far corrispondere tutti gli oggetti, specificare un prefisso vuoto. Incluso nell'elemento Rule. |
Sì |
Destinazione |
Tag container per la destinazione di una regola. Incluso nell'elemento Rule. |
Sì |
Urna |
URNA della destinazione in cui vengono inviati i metadati dell'oggetto. Deve essere l'URN di un endpoint StorageGRID con le seguenti proprietà:
Gli endpoint vengono configurati utilizzando l'API tenant Manager o tenant Management. Hanno la seguente forma:
L'endpoint deve essere configurato prima dell'invio dell'XML di configurazione, altrimenti la configurazione non riesce e viene visualizzato un errore 404. L'urn è incluso nell'elemento Destination. |
Sì |
Richiedi esempi
Questo esempio mostra come abilitare l'integrazione della ricerca per un bucket. In questo esempio, i metadati degli oggetti per tutti gli oggetti vengono inviati alla stessa destinazione.
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>
In questo esempio, i metadati degli oggetti per gli oggetti che corrispondono al prefisso /images
viene inviato a una destinazione, mentre i metadati degli oggetti per gli oggetti che corrispondono al prefisso /videos
viene inviato a una seconda destinazione.
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 generato dal servizio di integrazione della ricerca
Quando si attiva il servizio di integrazione della ricerca per un bucket, viene generato un documento JSON e inviato all'endpoint di destinazione ogni volta che vengono aggiunti, aggiornati o cancellati metadati o tag dell'oggetto.
Questo esempio mostra un esempio di JSON che potrebbe essere generato quando un oggetto con la chiave SGWS/Tagging.txt
viene creato in un bucket denominato test
. Il test
bucket non è configurato, quindi il versionId
tag vuoto.
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1" "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
Metadati degli oggetti inclusi nelle notifiche dei metadati
La tabella elenca tutti i campi inclusi nel documento JSON che viene inviato all'endpoint di destinazione quando è attivata l'integrazione della ricerca.
Il nome del documento include il nome del bucket, il nome dell'oggetto e l'ID della versione, se presente.
Tipo | Nome dell'elemento | Descrizione |
---|---|---|
Informazioni su bucket e oggetti |
bucket |
Nome del bucket |
Informazioni su bucket e oggetti |
chiave |
Nome chiave oggetto |
Informazioni su bucket e oggetti |
ID versione |
Versione oggetto, per gli oggetti nei bucket con versione |
Informazioni su bucket e oggetti |
regione |
Area bucket, ad esempio |
Metadati di sistema |
dimensione |
Dimensione dell'oggetto (in byte) come visibile a un client HTTP |
Metadati di sistema |
md5 |
Hash di oggetto |
Metadati dell'utente |
metadati
|
Tutti i metadati dell'utente per l'oggetto, come coppie chiave-valore |
Tag |
tag
|
Tutti i tag di oggetto definiti per l'oggetto, come coppie chiave-valore |
|
Per tag e metadati dell'utente, StorageGRID passa date e numeri a Elasticsearch come stringhe o come notifiche di eventi S3. Per configurare Elasticsearch in modo da interpretare queste stringhe come date o numeri, seguire le istruzioni di Elasticsearch per la mappatura dinamica dei campi e per i formati di mappatura dei dati. Prima di configurare il servizio di integrazione della ricerca, è necessario attivare le mappature dinamiche dei campi sull'indice. Una volta indicizzato un documento, non è possibile modificare i tipi di campo del documento nell'indice. |