Zum Inhalt springen

S3-Multi-Datei-Upload im Jitterbit App Builder

Einführung

Sie können das Multi-Datei-Upload-Widget im App Builder zusammen mit den Amazon S3-Webdiensten verwenden. Dieser Artikel zeigt, wie das gemacht werden kann.

Bild 1

Anforderungen

Um das Multi-Datei-Upload-Widget mit den Speicherfunktionen von Amazons S3 zu kombinieren, benötigen Sie ein eindeutiges Feld, das dem S3-Dateinamen vorangestellt wird, um es innerhalb der Anwendung zuzuordnen. Dieses Feld organisiert die Dateien, indem es dem Dateinamen ein Präfix mit einer GUID hinzufügt und wird verwendet, um auf den S3-Bucket zuzugreifen.

Bild 2

Beispiel

In diesem Beispiel wird GroupID für die Zuordnung zur S3-Datei verwendet und der Zugriff auf die Datei für Benutzer, die zu dieser Gruppe gehören, eingeschränkt.

Bild 3

Diese Funktionalität basiert auf einer User-Tabelle, entweder einer spezifischen für die Anwendung oder der öffentlichen User_Read-Tabelle, solange Sie die Funktion Who('userid') anwenden können, um den aktuellen Benutzer zu identifizieren.

Bild 4

Gruppen sollten ebenfalls konfiguriert werden, und eine UserGroup-Tabelle kann verwendet werden, um sicherheitsbasierte Zugriffe anzuwenden.

Bild 5

Auf der Seite, auf der die Uploads stattfinden, sollte ein Panel vorhanden sein, das die GUID speichert, in diesem Beispiel die UserParameter-Tabelle mit einer Spalte zur Auswahl der Gruppe, zu der der Benutzer gehört; dieses Panel befindet sich in diesem Beispiel auf der linken Seite.

Konfigurieren Sie das Multi-Datei-Upload-Widget auf einem anderen Panel mit einem auf das UserParameter-Zielobjekt ausgerichteten Geschäftsobjekt. Bei dem Update-Ereignis dieses Geschäftsobjekts konfigurieren Sie drei Aktionen:

  • Eine XP CRUD Insert-Regel, um die Dateien in den S3-Bucket einzufügen. In dieser Insert-Regel fügen Sie GroupID + '/' + FileName zusammen.

  • Eine weitere CRUD Insert-Regel zum Erstellen von Datensätzen in einer lokalen Tabelle (in diesem Beispiel S3File genannt), die die Dateiinformationen enthält (aber nicht den tatsächlichen Dateinhalt); sicherstellen, dass der Dateiname identisch mit dem S3-Bucket-Insert gespeichert wird. Die Verwendung dieser Tabelle zur Zuordnung zur S3-Datei optimiert die Ladezeiten der Seite, sodass jeweils nur eine S3-Datei zugegriffen wird.

  • (Optional) Verwenden Sie das Persistable – Refresh Row-Plugin, um die Benutzererfahrung zu optimieren.

Das dritte Panel auf dieser Seite sollte ein Geschäftsobjekt haben, das auf die in der zweiten CRUD Insert angegebenen Tabelle abzielt. Dies wird die Dateiname-Spalte mit dem GroupID-Präfix haben. Binden Sie dieses Panel an das erste UserParameter-Panel (in diesem Beispiel das auf der linken Seite) mit einer LIKE-Anweisung auf die GroupID zum Dateiname. Hier kommt das Dateiname-GUID-Präfix ins Spiel. Dies ermöglicht der Anwendung, den Zugriff auf S3-Dateien basierend auf der Konfiguration ihrer Wahl zu beschränken.

Image 6

Da das untere Panel über der lokalen Tabelle und nicht über dem tatsächlichen S3-Bucket liegt, erfolgt der Downloadzugriff auf den tatsächlichen Dateinhalt über eine Pop-up-Seite, die mit dem FileName verlinkt ist. Die Pop-up-Seite wird ein Panel mit der S3-Bucket-Tabelle dahinter haben.

Image 7

Video-Demo