Konfigurieren des Suchintegrationsdienstes
Sie aktivieren die Suchintegration für einen Bucket, indem Sie XML für die Suchintegration erstellen und den Tenant Manager verwenden, um das XML auf den Bucket anzuwenden.
-
Die Plattformdienste wurden von einem StorageGRID Administrator für Ihr Mandantenkonto aktiviert.
-
Sie haben bereits einen S3-Bucket erstellt, dessen Inhalt Sie indizieren möchten.
-
Der Endpunkt, den Sie als Ziel für den Suchintegrationsdienst verwenden möchten, ist bereits vorhanden und Sie verfügen über seine URN.
-
Sie gehören einer Benutzergruppe an, die über die"Verwalten Sie alle Buckets oder Root-Zugriffsberechtigungen" . Diese Berechtigungen überschreiben die Berechtigungseinstellungen in Gruppen- oder Bucket-Richtlinien, wenn der Bucket mit dem Tenant Manager konfiguriert wird.
Nachdem Sie den Suchintegrationsdienst für einen Quell-Bucket konfiguriert haben, löst das Erstellen eines Objekts oder das Aktualisieren der Metadaten oder Tags eines Objekts das Senden von Objektmetadaten an den Zielendpunkt aus.
Wenn Sie den Suchintegrationsdienst für einen Bucket aktivieren, der bereits Objekte enthält, werden für vorhandene Objekte nicht automatisch Metadatenbenachrichtigungen gesendet. Aktualisieren Sie diese vorhandenen Objekte, um sicherzustellen, dass ihre Metadaten zum Zielsuchindex hinzugefügt werden.
-
Aktivieren Sie die Suchintegration für einen Bucket:
-
Verwenden Sie einen Texteditor, um die XML-Metadatenbenachrichtigung zu erstellen, die zum Aktivieren der Suchintegration erforderlich ist.
-
Verwenden Sie beim Konfigurieren des XML die URN eines Suchintegrationsendpunkts als Ziel.
Objekte können nach dem Präfix des Objektnamens gefiltert werden. Beispielsweise könnten Sie Metadaten für Objekte mit dem Präfix
images
zu einem Ziel und Metadaten für Objekte mit dem Präfixvideos
zu einem anderen. Konfigurationen mit überlappenden Präfixen sind ungültig und werden bei der Übermittlung abgelehnt. Beispielsweise eine Konfiguration, die eine Regel für Objekte mit dem Präfixtest
und eine zweite Regel für Objekte mit dem Präfixtest2
ist nicht erlaubt.Bei Bedarf finden Sie weitere Informationen imBeispiele für die Metadatenkonfigurations-XML .
<MetadataNotificationConfiguration> <Rule> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>/Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
Elemente in der XML-Konfiguration der Metadatenbenachrichtigung:
Name Beschreibung Erforderlich Metadatenbenachrichtigungskonfiguration
Container-Tag für Regeln, die zum Angeben der Objekte und des Ziels für Metadatenbenachrichtigungen verwendet werden.
Enthält ein oder mehrere Regelelemente.
Ja
Regel
Container-Tag für eine Regel, die die Objekte identifiziert, deren Metadaten einem angegebenen Index hinzugefügt werden sollen.
Regeln mit überlappenden Präfixen werden abgelehnt.
Im MetadataNotificationConfiguration-Element enthalten.
Ja
AUSWEIS
Eindeutige Kennung für die Regel.
Im Regelelement enthalten.
Nein
Status
Der Status kann „Aktiviert“ oder „Deaktiviert“ sein. Für deaktivierte Regeln werden keine Maßnahmen ergriffen.
Im Regelelement enthalten.
Ja
Präfix
Objekte, die dem Präfix entsprechen, sind von der Regel betroffen und ihre Metadaten werden an das angegebene Ziel gesendet.
Um alle Objekte abzugleichen, geben Sie ein leeres Präfix an.
Im Regelelement enthalten.
Ja
Ziel
Container-Tag für das Ziel einer Regel.
Im Regelelement enthalten.
Ja
Urne
URN des Ziels, an das die Objektmetadaten gesendet werden. Muss die URN eines StorageGRID -Endpunkts mit den folgenden Eigenschaften sein:
-
`es`muss das dritte Element sein.
-
Die URN muss mit dem Index und Typ enden, in dem die Metadaten gespeichert sind, in der Form
domain-name/myindex/mytype
.
Endpunkte werden mithilfe des Tenant Managers oder der Tenant Management API konfiguriert. Sie haben folgende Form:
-
arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype
-
urn:mysite:es:::mydomain/myindex/mytype
Der Endpunkt muss konfiguriert werden, bevor die Konfigurations-XML übermittelt wird, andernfalls schlägt die Konfiguration mit einem 404-Fehler fehl.
URN ist im Zielelement enthalten.
Ja
-
-
Wählen Sie im Tenant Manager STORAGE (S3) > Buckets.
-
Wählen Sie den Namen des Quell-Buckets aus.
Die Bucket-Detailseite wird angezeigt.
-
Wählen Sie Plattformdienste > Suchintegration
-
Aktivieren Sie das Kontrollkästchen Suchintegration aktivieren.
-
Fügen Sie die Metadaten-Benachrichtigungskonfiguration in das Textfeld ein und wählen Sie Änderungen speichern.
Plattformdienste müssen für jedes Mandantenkonto von einem StorageGRID Administrator mithilfe des Grid Managers oder der Management-API aktiviert werden. Wenden Sie sich an Ihren StorageGRID -Administrator, wenn beim Speichern der XML-Konfiguration ein Fehler auftritt. -
Überprüfen Sie, ob der Suchintegrationsdienst richtig konfiguriert ist:
-
Fügen Sie dem Quell-Bucket ein Objekt hinzu, das die Anforderungen zum Auslösen einer Metadatenbenachrichtigung erfüllt, wie im Konfigurations-XML angegeben.
Im zuvor gezeigten Beispiel lösen alle zum Bucket hinzugefügten Objekte eine Metadatenbenachrichtigung aus.
-
Bestätigen Sie, dass dem im Endpunkt angegebenen Suchindex ein JSON-Dokument hinzugefügt wurde, das die Metadaten und Tags des Objekts enthält.
-
Bei Bedarf können Sie die Suchintegration für einen Bucket mit einer der folgenden Methoden deaktivieren:
-
Wählen Sie STORAGE (S3) > Buckets und deaktivieren Sie das Kontrollkästchen Suchintegration aktivieren.
-
Wenn Sie die S3-API direkt verwenden, verwenden Sie eine Benachrichtigungsanforderung zum Löschen von Bucket-Metadaten. Siehe die Anweisungen zum Implementieren von S3-Clientanwendungen.
Beispiel: Metadaten-Benachrichtigungskonfiguration, die für alle Objekte gilt
In diesem Beispiel werden die Objektmetadaten für alle Objekte an dasselbe Ziel gesendet.
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>urn:myes:es:::sgws-notifications/test1/all</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
Beispiel: Konfiguration der Metadatenbenachrichtigung mit zwei Regeln
In diesem Beispiel werden Objektmetadaten für Objekte verwendet, die mit dem Präfix /images
wird an ein Ziel gesendet, während Objektmetadaten für Objekte, die dem Präfix entsprechen /videos
wird an ein zweites Ziel gesendet.
<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>
Metadaten-Benachrichtigungsformat
Wenn Sie den Suchintegrationsdienst für einen Bucket aktivieren, wird jedes Mal, wenn Objektmetadaten oder Tags hinzugefügt, aktualisiert oder gelöscht werden, ein JSON-Dokument generiert und an den Zielendpunkt gesendet.
Dieses Beispiel zeigt ein Beispiel des JSON, das generiert werden könnte, wenn ein Objekt mit dem Schlüssel SGWS/Tagging.txt
wird in einem Bucket namens erstellt test
. Der test
Bucket ist nicht versioniert, also die versionId
-Tag ist leer.
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1", "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
Im JSON-Dokument enthaltene Felder
Der Dokumentname umfasst den Bucket-Namen, den Objektnamen und die Versions-ID, falls vorhanden.
- Bucket- und Objektinformationen
-
bucket
: Name des Bucketskey
: ObjektschlüsselnameversionID
: Objektversion, für Objekte in versionierten Bucketsregion
: Bucket-Bereich, zum Beispielus-east-1
- Systemmetadaten
-
size
: Objektgröße (in Bytes), wie sie für einen HTTP-Client sichtbar istmd5
: Objekt-Hash - Benutzermetadaten
-
metadata
: Alle Benutzermetadaten für das Objekt als Schlüssel-Wert-Paarekey:value
- Schlagwörter
-
tags
: Alle für das Objekt definierten Objekt-Tags als Schlüssel-Wert-Paarekey:value
So zeigen Sie Ergebnisse in Elasticsearch an
Für Tags und Benutzermetadaten übergibt StorageGRID Daten und Zahlen als Zeichenfolgen oder als S3-Ereignisbenachrichtigungen an Elasticsearch. Um Elasticsearch so zu konfigurieren, dass diese Zeichenfolgen als Datumsangaben oder Zahlen interpretiert werden, befolgen Sie die Elasticsearch-Anweisungen zur dynamischen Feldzuordnung und zur Zuordnung von Datumsformaten. Aktivieren Sie die dynamischen Feldzuordnungen im Index, bevor Sie den Suchintegrationsdienst konfigurieren. Nachdem ein Dokument indiziert wurde, können Sie die Feldtypen des Dokuments im Index nicht mehr bearbeiten.