Zum Hauptinhalt springen

GetFileSystemContent@1

Der Node GetFileSystemContent@1 liest den Binärinhalt eines System.Reporting/FileSystemItem als base64-String zurück in die Pipeline. Er ist das Lese-Gegenstück zu CreateFileSystemUpdate@1 und ermöglicht Pipelines, die zuvor gespeicherte Dateien asynchron verarbeiten — zum Beispiel eine Polling-Analyse-Pipeline, die zwischengespeicherte Uploads für OCR und KI-Extraktion aufgreift.

Adapter-Voraussetzungen​

Node-Konfiguration​

Zu den Feldern targetPath, targetValueWriteMode und targetValueKind siehe Überblick.

transformations:
- type: GetFileSystemContent@1
rtIdPath: $.key.Attributes.FileRtId # JSON path to the RtId of the FileSystemItem to read
targetPath: $.pdf.data # The base64-encoded file content is stored here
fileNameTargetPath: $.pdf.fileName # Optional output path for the stored file name
contentTypeTargetPath: $.pdf.contentType # Optional output path for the stored content type
contentLengthTargetPath: $.pdf.length # Optional output path for the content length in bytes

Konfigurationsparameter​

ParameterTypErforderlichStandardBeschreibung
rtIdPathstringJa-JSON-Pfad zur RtId des System.Reporting/FileSystemItem, dessen Inhalt gelesen werden soll
fileNameTargetPathstringNein-Ausgabepfad für den gespeicherten Dateinamen
contentTypeTargetPathstringNein-Ausgabepfad für den gespeicherten Content-Type
contentLengthTargetPathstringNein-Ausgabepfad für die Inhaltslänge in Bytes

Fehlerbehandlung​

  • Ist der Wert unter rtIdPath nicht gesetzt, schlägt der Node mit einem Value not set-Fehler fehl.
  • Existiert kein FileSystemItem mit der angegebenen RtId, schlägt der Node mit Entity with RtId '…' not found fehl.
  • Hat das Element keinen gespeicherten Binärinhalt, schlägt der Node mit File system item '…' has no binary content fehl.

Beispiel: Asynchrone Dokumentenanalyse​

Eine Staging-Pipeline speichert Uploads über CreateFileSystemUpdate@1 und vermerkt die RtId der Datei auf einer Staging-Entität. Eine zweite Pipeline (Polling-Trigger) lädt den Inhalt zurück und verarbeitet ihn:

triggers:
- type: FromPolling@1
interval: 00:05:00
transformations:
- type: GetRtEntitiesByType@1
ckTypeId: MyModel/UploadedDocument
fieldFilters:
- attributePath: ProcessingState
operator: Equals
comparisonValue: 0 # NEW
targetPath: $.pending
- type: ForEach@1
iterationPath: $.pending.Items
targetPath: $.processed
transformations:
- type: GetFileSystemContent@1
rtIdPath: $.key.Attributes.FileRtId
targetPath: $.pdf.data
- type: PdfOcrExtraction@1
path: $.pdf.data
targetPath: $.ocr.result
language: de