Wir werden oft gefragt, wie das hierarchische Speichermanagement (HSM) der Nuxeo Platform gehandhabt wird. Für unsere Kunden ist dieses Thema besonders wichtig, da sich somit eine Möglichkeit ergibt, die Speicherkosten für Unternehmen zu senken. In unserem heutigen Blog-Beitrag zeigen wir, wie Sie einen Nuxeo-Arbeitsbereich so einrichten können, dass sämtliche hochgeladene Binärdateien in einem Amazon S3-Bucket abgelegt werden, während alle anderen Arbeitsbereiche Inhalte auf dem lokalen Datenträger ablegen (Standard). Werfen wir einen Blick auf die nötigen Schritte.
Amazon S3-Speicherpaket herunterladen
Navigieren Sie zunächst zum Nuxeo Marketplace, um das Amazon S3-Speicherpaket (Abbildung) herunterzuladen und zu installieren.
Amazon S3-Parameter festlegen
In der Datei nuxeo.conf müssen einige Zeilen mit Bezug auf AWS ergänzt werden. Ersetzen Sie AWS-Bucket-Namen, AWS-Zugriffsschlüssel und AWS-Geheimschlüssel durch Ihre eigenen Werte. Weitere Informationen zur Konfiguration von Nuxeo für S3 finden Sie hier. Benötigen Sie Hilfe bei der Einrichtung von AWS, lesen Sie sich die Dokumentation von Amazon durch.
Erforderliche Studio-Konfigurationen
Wir benötigen ein neues Schema, in dem eine Kennzeichnung gespeichert wird, die anzeigt, ob Binärdateien in S3 gespeichert werden sollen. Ich habe für dieses Beispiel ein Schema mit dem Namen “s3“ mit dem Präfix “amazon“ erstellt. Das Schema enthält ein Boolesches Feld mit der Bezeichnung “syncWithS3“ und dem Standardwert FALSE (falsch).
Anschließend benötigen wir ein Automatisierungsskript, mit dem “amazon:syncWithS3“ in TRUE (wahr) geändert wird. Dieses Feld wird vom Binärmanager von S3 verwendet, auf den ich unten genauer eingehen möchte.
Das Skript tut Folgendes (in Pseudo-Code): 1. Nimmt ein Dokument als Eingabe an. 2. Erfasst das übergeordnete Dokument des Dokuments, das wir hochladen. 3. Erfasst den Arbeitsbereichnamen des übergeordneten Dokuments. In diesem Fall interessieren wir uns lediglich für den Arbeitsbereich “Amazon S3 Archive”. Alle in diesen Arbeitsbereich hochgeladenen Dateien senden die entsprechende Binärdatei an S3. 4. Lautet der Arbeitsbereichname “Amazon s3 Archive“, wird amazon:syncWithS3 = TRUE festgelegt. 5. Geben Sie das Dokument zurück, sodass es entweder in S3 oder auf dem lokalen Datenträger abgelegt werden kann, abhängig von der Bedingung in Schritt 4.
Nun benötigen wir einen neuen Ereignishandler. Unser Ereignishandler sucht nach Aktionen des Typs “kurz davor, zu erstellen” für alle Dokumente vom Typ “Datei“. Der Ereignishandler führt das Automatisierungsskript aus, das Sie im vorangegangenen Schritt erstellt haben.
Abschließend müssen wir eine neue XML-Erweiterung hinzufügen. Die XML-Erweiterung ist nämlich für die wesentlichen Aktionen verantwortlich. Wir richten nun also zwei getrennte Blob-Provider ein: einen für AWS und einen für den lokalen Datenträger (localEncrypted). Wir geben eine Eigenschaft an den AWS-Blob-Provider weiter, um zu bestimmen, ob das Feld “amazon:syncWithS3“ des Dokuments TRUE ist. Falls ja, wird die Binärdatei in AWS gespeichert, falls nicht, wird sie auf dem lokalen Datenträger abgelegt.
In diesem Blog-Beitrag wird gezeigt, wie einfach die Speicherung von Binärdateien in Amazon S3 für bestimmte Arbeitsbereiche festgelegt werden kann. Es handelt sich hierbei nur um eine von zahlreichen modernen Funktionen, die Ihnen die Nuxeo Platform bietet. Weitere Informationen finden Sie in unserem Dokumentationszentrum.