X4 Produktdokumentation

Microsoft Azure Blob Storage Connector

Dieser Adapter ermöglicht die Verbindung zu einem Microsoft Azure Blob-Speicher, um verschiedene Operationen durchzuführen.

Eigenschaften (Properties)

Operation

Vom Adapter ausgeführte Operation

Mögliche Werte:

Die Parameter containerName und blobName sind für alle Operationen erforderlich.

  • Search: Sucht nach Informationen (Container oder Blobs) im Microsoft-Azure-Konto

  • Append: Fügt Informationen zum ausgewählten Blob im Microsoft-Azure-Konto hinzu
    Erforderliche Parameter: fileLocation

  • Upload: Lädt Container oder Blobs hoch oder legt Container oder Blobs im Microsoft-Azure-Konto an
    Erforderliche Parameter: fileLocation

  • Download: Lädt ein Blob vom Microsoft-Azure-Konto herunter

  • Delete: Löscht ein Container oder Blob vom Microsoft-Azure-Konto

  • UpdateDirectory: Aktualisiert den Namen des Quellverzeichnisses mit dem Namen des Zielverzeichnisses
    Erforderliche Parameter: sourceDirectoryName, targetDirectoryName

  • MoveDirectory: Verschiebt den Inhalt vom Quellverzeichnis in das Zielverzeichnis
    Erforderliche Parameter: sourceDirectoryName, targetDirectoryName

  • DeleteDirectory: Löscht den Inhalt des Quellverzeichnisses
    Erforderliche Parameter: sourceDirectoryName , targetDirectoryName

  • MoveBlobDirectory: Verschiebt einen bestimmten Blob vom Quellverzeichnis in das Zielverzeichnis
    Erforderliche Parameter: sourceDirectoryName , targetDirectoryName

Parameter

Adapter

Hauptklasse des Adapters (nicht verändern!)

Mögliche Werte:  de.softproject.integration.adapter.microsoft.azure.blob.MicrosoftAzureBlobStorageAdapter: Hauptklasse (Standard)

accountName

Name des Microsoft-Azure-Kontos

Mögliche Werte: Beliebige Zeichenkette, z. B. softproject

accountKey

Passwort für das Microsoft-Azure-Konto

Mögliche Werte: Beliebige Zeichenkette mit dem Schlüssel z. B. AD9ohFhJ6Hve9ODJEXTw53MjR1tjoUZ8lWfDlw5UFqGMih3VtUCapIwIfEMBmITeShQN9MbCITE4SzxTcGIybw==

containerName

Name des Containers in dem die Blobs organisiert werden

Mögliche Werte: Beliebige Zeichenkette mit dem Namen

Container-Namen müssen folgende Namenskonventionen erfüllen:

    • Container-Namen müssen mit einem Buchstaben oder einer Zahl beginnen und können nur Buchstaben, Zahlen oder Bindestriche (-) enthalten

    • Jeder Bindestrich (-) muss unmittelbar vor und nach einem Buchstaben oder einer Zahl stehen; aufeinanderfolgende Bindestriche sind in Container-Namen nicht zulässig

    • Container-Namen dürfen nur Kleinbuchstaben enthalten

    • Container-Namen müssen zwischen 3 und 63 Zeichen enthalten

blobName

Name der gespeicherten Blobs

Mögliche Werte: Beliebige Zeichenkette mit dem Blob-Namen

Blob-Namen müssen folgende Namenskonventionen erfüllen:

    • Blob-Namen können eine beliebige Kombination aus Zeichen enthalten

    • Blob-Namen müssen mindestens ein Zeichen und dürfen nicht mehr als 1.024 Zeichen lang sein

    • Bei Blob-Namen wird zwischen Groß- und Kleinbuchstaben unterschieden

    • Reservierte URL-Zeichen müssen ordnungsgemäß maskiert sein

    • Die Anzahl der Pfad-Segmente, die den Blob-Namen umfassen, darf 254 nicht überschreiten. Ein Pfad-Segment ist die Zeichenkette zwischen aufeinanderfolgenden Begrenzungszeichen (z. B. der Schrägstrich '/'), die dem Namen eines virtuellen Verzeichnisses entsprechen.

fileLocation

Pfad der hochzuladenden Datei; Dieser Parameter ist nur für die Operation Upload gültig.

Mögliche Werte:

  • System-Pfad, z. B. C:\X4\V_5.9\Server\X4DB\1\ExampleProcess/MAzureBlobStore/Data/TextDocument.txt

  • X4db-Pfad, z. B. x4db://1/ExampleProcess/MAzureBlobStore/Data/TextDocument.txt

  • Xstore-Pfad, z. B. xstore://ExampleProcess/MAzureBlobStore/Data/TextDocument.txt

overwrite

Information, ob Blobs überschrieben werden oder nicht

sourceDirectoryName

Name des Quellverzeichnisses für alle Directory-Operationen

Mögliche Werte: Beliebige gültige Zeichenkette mit einem Abschließenden /, z. B. sourceFolder/

targetDirectoryName

Name des Zielverzeichnisses für alle Directory -Operationen

Mögliche Werte: Beliebige gültige Zeichenkette mit einem Abschließenden / , z. B. targetFolder/

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt

-1

Es kam zu einem Fehler während der Ausführung

0

  • Operation Download: Der Blob, der heruntergeladen werden soll, existiert nicht

  • Operation Delete: Der Blob, der gelöscht werden soll, existiert nicht

  • Operationen UpdateDirectory, MoveDirectory, DeleteDirectory, MoveBlobDirectory:das Quellverzeichnis existiert nichtdas Zielverzeichnis konnte nicht gefunden werden (Operationen MoveDirectory , MoveBlobDirectory)der Blob existiert nicht im Quellverzeichnis (Operation MoveBlobDirectory)

Input

Der Adapter erwartet ein beliebiges Input-Dokument, z. B. ein Binär- oder ein Base64-Dokument (XML oder Text).

  • Operation Upload: Ist der Parameter fileLocation angegeben, so kann auf das Input-Dokument verzichtet werden. In allen anderen Fällen wird ein Input-Dokument vorausgesetzt.

  • Für alle anderen Operationen wird kein Input-Dokument vorausgesetzt.

Output

Abhängig von der gewählten Operation gibt der Adapter verschiedene Dokumente aus:

Operation Upload:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt der Adapter ein XML-Dokument mit der URL der hochgeladenen Datei oder dem Dokument aus.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <BLOB>
    	<Upload>https://storage_account_name.blob.core.windows.net/container_name/blob_name</Upload>
    </BLOB>
    


  • Bei einem Fehler (Status  -1 ), entspricht die Ausgabe dem Input-Dokument.

Operation Search:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt der Adapter ein XML-Dokument mit allen Containern und ihren Blob-URI-Objekten aus.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <ListBlobs>
    	<Container name="pc-files">
    		<Blob name="C-structure.xml">https://softproject.blob.core.windows.net/pc-files/C-structure.xml</Blob>
    		<Blob name="XStore_WordDocument.doc">https://softproject.blob.core.windows.net/pc-files/XStore_WordDocument.doc</Blob>
    		<Blob name="jar_files(1).zip">https://softproject.blob.core.windows.net/pc-files/jar_files(1).zip</Blob>
    		<Blob name="x4db/HipChat-4.30.6.1676.exe">https://softproject.blob.core.windows.net/pc-files/x4db/HipChat-4.30.6.1676.exe</Blob>
    		<Blob name="xstore/MWDocument.doc">https://softproject.blob.core.windows.net/pc-files/xstore/MWDocument.doc</Blob>
    	</Container>
    	<Container name="testcontainer-prototype">
    		<Blob name="base64Files/file1">https://softproject.blob.core.windows.net/testcontainer-prototype/base64Files/file1</Blob>
    		<Blob name="documents/doc1">https://softproject.blob.core.windows.net/testcontainer-prototype/documents/doc1</Blob>
    		<Blob name="documents/doc1.docx">https://softproject.blob.core.windows.net/testcontainer-prototype/documents/doc1.docx</Blob>
    		<Blob name="imagesFiles/image1">https://softproject.blob.core.windows.net/testcontainer-prototype/imagesFiles/image1</Blob>
    		<Blob name="textFiles/subTextFiles/text5.txt">https://softproject.blob.core.windows.net/testcontainer-prototype/textFiles/subTextFiles/text5.txt</Blob>
    		<Blob name="xml1.xml">https://softproject.blob.core.windows.net/testcontainer-prototype/xml1.xml</Blob>
    		<Blob name="xmlFiles/xml1">https://softproject.blob.core.windows.net/testcontainer-prototype/xmlFiles/xml1</Blob>
    		<Blob name="xmlFiles/xml1.xml">https://softproject.blob.core.windows.net/testcontainer-prototype/xmlFiles/xml1.xml</Blob>
    	</Container>
    	<Container name="test">... </Container>
    </ListBlobs>
    


  • Bei einem Fehler (Status -1), entspricht die Ausgabe dem Input-Dokument.

Operation Download:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt der Adapter den heruntergeladenen Blob (Text, XML, Binärdokument etc.) aus.

  • Bei einem Fehler (Status -1), entspricht die Ausgabe dem Input-Dokument.

  • Existieren Blob oder Container nicht (Status 0), entspricht die Ausgabe dem Input-Dokument.

Operation UpdateDirectory:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt das Output-Dokument nach dem Aktualisieren des Quellordners mit dem Namen des Zielordners alle betroffenen Blobs aus.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <UpdateDirectory targetDirectory="testFolderR/" sourceDirectory="testFolder/">
    	<Blob newName="testFolderR/C-structure.xml" name="testFolder/C-structure.xml"/>
    	<Blob newName="testFolderR/X4_1_Configuration.txt" name="testFolder/X4_1_Configuration.txt"/>
    </UpdateDirectory>
    


  • Bei einem Fehler (Status -1) entspricht die Ausgabe dem Input-Dokument.

  • Existiert das Quellverzeichnis nicht (Status 0), ist das Output ein leeres XML-Dokument.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <UpdateDirectory targetDirectory="otherFiles/testSubFolderR/" sourceDirectory="textFiles/subTextFiles"/>
    


Operation MoveDirectory:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt das Output-Dokument nach dem Verschieben des Quellordners in den Zielordner alle betroffenen Blobs aus.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <MoveDirectory targetDirectory="textFiles/" sourceDirectory="testFolderR/">
    	<Blob newName="textFiles/C-structure.xml" name="testFolderR/C-structure.xml"/>
    	<Blob newName="textFiles/X4_1_Configuration.txt" name="testFolderR/X4_1_Configuration.txt"/>
    </MoveDirectory>
    


  • Bei einem Fehler (Status -1) entspricht die Ausgabe dem Input-Dokument.

  • Existiert das Quell- oder Zielverzeichnis nicht (Status 0), ist das Output ein leeres XML-Dokument.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <MoveDirectory targetDirectory="otherFiles/testSubFolderR/" sourceDirectory="textFiles/subFolderR"> Target Directory not found for Move operation </MoveDirectory>
    


    XML
    <?xml version="1.0" encoding="UTF-8"
    <MoveBlobDirectory targetDirectory="textFiles/" sourceDirectory="otherFiles/testSubFolderR"/>
    


Operation DeleteDirectory:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt das Output-Dokument nach dem Löschen des Quellordners und seines Inhalts alle betroffenen Blobs aus.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <DeleteDirectory targetDirectory="" sourceDirectory="imagesFiles2/">
    	<Blob newName="" name="imagesFiles2/image1.png"/>
    </DeleteDirectory>
    


  • Bei einem Fehler (Status -1), entspricht die Ausgabe dem Input-Dokument.

  • Existiert das Quellverzeichnis nicht (Status 0), ist das Output ein leeres XML-Dokument.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <DeleteDirectory targetDirectory="" sourceDirectory="imagesFiles2/"/>
    


Operation MoveBlobDirectory:

  • Wurde die Operation erfolgreich ausgeführt (Status 1), gibt das Output-Dokument alle Blobs aus, die vom Quell- in den Zielordner verschoben wurde.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <MoveBlobDirectory targetDirectory="/" sourceDirectory="textFiles/">
    	<Blob newName="X4_1_Configuration.txt" name="textFiles/X4_1_Configuration.txt"/>
    </MoveBlobDirectory>
    


  • Bei einem Fehler (Status -1), entspricht die Ausgabe dem Input-Dokument.

  • Existieren Quell- oder Zielverzeichnis nicht (Status 0), ist das Output ein leeres XML-Dokument.

    XML
    <?xml version="1.0" encoding="UTF-8"
    <MoveBlobDirectory targetDirectory="otherFiles/testSubFolderR/" sourceDirectory="textFiles/subFolderR"> Target Directory not found for Move operation </MoveDirectory>
    


    XML
    <?xml version="1.0" encoding="UTF-8"
    <MoveBlobDirectory targetDirectory="textFiles/" sourceDirectory="otherFiles/testSubFolderR"/>