Cloud Bridge – Anwenderdokumentation

Inhaltsverzeichnis

  • VISIONDATA Cloud Bridge – Online-Dokumentation
    • Inhaltsverzeichnis
    • 1. Willkommen bei VISIONDATA Cloud Bridge
      • Was ist Cloud Bridge?
      • Wie funktioniert Cloud Bridge?
      • Architektur-Übersicht
    • 2. Erste Schritte
      • 2.1 Erste Schritte mit Cloud Bridge
        • Schnellstart-Übersicht
        • Was Sie benötigen
        • Wer macht was?
        • Nächste Schritte
      • 2.2 Häufig gestellte Fragen
        • FAQ
        • Mindestanforderungen
    • 3. Cloud Bridge einrichten
      • 3.1 SaaS Installation
        • 3.1.1 Business Central
        • 3.1.2 Azure Relay
        • 3.1.3 Business Central Agent
      • 3.2 OnPrem Installation
        • 3.2.1 Business Central
        • 3.2.2 Kestrel
        • 3.2.3 Business Central Agent
    • 4. Druckfunktionen
      • 4.1 Drucker
        • Drucker einrichten
      • 4.2 Druckaufträge
        • Berichte drucken
        • Print Jobs überwachen
    • 5. Dateifunktionen
      • Dateizugriff aus Business Central
      • Voraussetzungen
      • Typische Szenarien
        • Szenario 1: Import-Datei verarbeiten
        • Szenario 2: Export-Datei erstellen
        • Szenario 3: Verzeichnisse überwachen
      • Sicherheit & Best Practices
    • 6. Fehlerbehandlung
      • Häufige Probleme und Lösungen
        • Agent antwortet nicht
        • Drucker nicht gefunden
        • Dateizugriff verweigert
        • Azure Relay Connection String ungültig
    • 7. Glossar
      • Begriffe
      • Abkürzungen

1. Willkommen bei VISIONDATA Cloud Bridge

Was ist Cloud Bridge?

Cloud Bridge Connector ist eine Business Central Extension, die Cloud- und On-Premises-Umgebungen mit lokalen Ressourcen verbindet – ohne VPN-Konfiguration.

Was können Sie mit Cloud Bridge tun?

FeatureBeschreibungVerwendung
🖨️ DruckmanagementLokale Netzwerkdrucker direkt aus BC Cloud ansteuernEtiketten, Berichte, Dokumente auf lokalen Druckern ausgeben
📁 Dateisystem-ZugriffDateien und Verzeichnisse lesen/schreiben/löschenDokumentenaustausch, Import/Export, Archivierung
🗄️ SQL Server-IntegrationSQL-Abfragen auf On-Prem-Datenbanken ausführenLegacy-Systeme anbinden, Datenmigration
📡 FTP/SFTP-ClientDateitransfer via FTP, FTPS, SFTPEDI-Systeme, Partner-Schnittstellen
🔗 API-Relay-BrückeOn-Prem-APIs über Azure Service Bus erreichenREST-Services, SOAP-Endpoints

Wie funktioniert Cloud Bridge?

Business Central (Cloud/OnPrem)
         │
         ├─── Azure Relay (Hybrid Connections)
         │
CloudBridge Agent (Windows Service auf lokalem Server)
         │
         ├─── Lokale Drucker
         ├─── Dateisystem (C:\Data\...)
         ├─── SQL Server
         └─── FTP-Server

Vorteile:

  • ✅ Sichere Verbindung über Azure (keine VPN-Konfiguration erforderlich)
  • ✅ Cloud BC kann auf On-Premises-Ressourcen zugreifen
  • ✅ Keine öffentliche IP-Adresse für lokalen Server nötig
  • ✅ TLS-verschlüsselt (Ende-zu-Ende)
  • ✅ DSGVO-konform (Azure-Region wählbar)
  • ✅ Geringe laufende Kosten
  • ✅ WebSocket-basierte bidirektionale Kommunikation

Architektur-Übersicht

Cloud Bridge nutzt Azure Service Bus Relay als sichere Brücke zwischen Business Central und lokalen Ressourcen:

  • BC Extension – Sendet Anfragen über Azure Relay
  • CloudBridge Agent – Windows Service auf lokalem Server, empfängt Anfragen und führt sie aus
  • Azure Relay – Sichere Hybrid-Verbindung (keine VPN-Infrastruktur erforderlich)

2. Erste Schritte

2.1 Erste Schritte mit Cloud Bridge

Schnellstart-Übersicht

Die Einrichtung von Cloud Bridge erfolgt in drei Hauptschritten:

  1. Azure Relay einrichten (ca. 10 Minuten)
  2. CloudBridge Agent installieren (ca. 10 Minuten)
  3. Agent in Business Central konfigurieren (ca. 10 Minuten)

Gesamtzeit: Ca. 30 Minuten

Was Sie benötigen

  •  Windows Server mit Internetzugang (für CloudBridge Agent)
  •  Azure-Subscription (für Azure Relay)
  •  Business Central (Cloud oder On-Premises, ab Version BC25)
  •  Administrator-Rechte auf dem Windows Server
  •  CloudBridge Connector Extension installiert in Business Central

Wer macht was?

AufgabeVerantwortlich
Azure Service Bus Relay einrichtenIT-Administrator
CloudBridge Agent installierenIT-Administrator / Server-Admin
Agent in BC konfigurierenKey-User / BC-Administrator
Drucker/Ressourcen einrichtenKey-User
Berechtigungen vergebenBC-Administrator

Nächste Schritte

Folgen Sie der detaillierten Installationsanleitung im Kapitel 3. Cloud Bridge einrichten.


2.2 Häufig gestellte Fragen

FAQ

Was ist CloudBridge Connector?

CloudBridge Connector ist eine Business Central Extension, die Cloud- und On-Premises-Umgebungen mit lokalen Ressourcen verbindet:

  • 📁 Dateizugriff auf lokale Server
  • 🖨️ Drucken auf Netzwerkdrucker
  • 🗄️ SQL Server Zugriff
  • 📡 FTP/SFTP Datentransfer
  • 🔗 API-Bridge für On-Premises-Services

Kostet CloudBridge extra?

  • Extension: Open Source (kostenlos)
  • Azure Relay: Ca. 0,02 €/Stunde (ca. 14,40 €/Monat)
  • Beispiel: Monatliche Kosten unabhängig von Anzahl der Nachrichten

![ℹ️] Hinweis: Azure Relay hat nur den Standard Tier (kein Basic Tier verfügbar).

Welche BC-Versionen werden unterstützt?

  • Minimum: Business Central 25 (BC25)
  • Aktuell getestet: BC27 (Business Central 2025 Release Wave 2)
  • Cloud & On-Premises: Beide unterstützt

Wo installiere ich den CloudBridge Agent?

Der Agent läuft auf einem Windows Server (oder Windows 10/11 PC), der:

  • ✅ Zugriff auf lokale Ressourcen hat (Drucker, Dateien, SQL)
  • ✅ Internetzugang hat (ausgehend HTTPS Port 443)
  • ✅ Dauerhaft läuft (24/7)

Typische Szenarien:

  • Option A: Lokaler Windows Server im Büro
  • Option B: Azure VM (für Cloud BC + Azure-Drucker)
  • Option C: Terminal Server

![⚠️] Wichtig: Nicht geeignet sind Arbeitsplatz-PCs (werden abends heruntergefahren).

Benötige ich eine Azure-Subscription?

Ja, für Azure Relay:

  • Azure-Konto erstellen: portal.azure.com
  • Azure Relay Namespace anlegen (nur Standard Tier verfügbar)
  • Hybrid Connection erstellen
  • Connection String kopieren

Kosten: Ca. 14,40 € pro Monat

Kann ich mehrere Agents nutzen?

Ja! Typische Szenarien:

  • Mehrere Standorte: München, Berlin, Hamburg (je ein Agent)
  • Unterschiedliche Netzwerke: Büro, Produktionshalle, Lager
  • Redundanz: Backup-Agent bei Ausfall

Setup:

  1. Pro Agent eigene Azure Relay Hybrid Connection erstellen (oder separates Relay Namespace)
  2. Agents mit unterschiedlichen Namen in BC anlegen (AGENT-MUNICHAGENT-BERLIN)
  3. Bei Druckern/Dateien entsprechenden Agent auswählen

Ist die Verbindung sicher?

Ja, mehrfach abgesichert:

  • ✅ TLS-Verschlüsselung (Ende-zu-Ende über Azure)
  • ✅ SAS-Token-Authentifizierung (Shared Access Signature mit 1h Gültigkeit)
  • ✅ Keine eingehenden Firewall-Regeln erforderlich (nur ausgehend HTTPS)
  • ✅ Isolated Storage für Connection Strings in BC (verschlüsselt)
  • ✅ Azure Relay verwendet WebSocket-Protokoll (TLS 1.2+)

Welche Daten werden übertragen?

  • HTTP-Requests von BC an Agent (JSON-Format)
  • HTTP-Responses vom Agent an BC (JSON/Base64)
  • Druckdaten (PDF als Base64)
  • Dateiinhalte (Text oder Base64)
  • SQL-Query-Ergebnisse (JSON)

![ℹ️] Hinweis: Alle Daten werden verschlüsselt über Azure Relay übertragen.


Mindestanforderungen

Business Central:

  • Version: BC25 oder höher
  • Deployment: Cloud (SaaS) oder On-Premises
  • Berechtigungen: CloudBridge Connector Extension installierbar
  • Benutzer: Berechtigungssets „CloudBridge Core“ und „CloudBridge Printing“ zuweisbar

CloudBridge Agent (Windows Server):

  • Betriebssystem: Windows Server 2016 oder höher (alternativ: Windows 10/11)
  • RAM: Mindestens 2 GB
  • CPU: 2 Kerne
  • .NET Runtime: .NET 8.0 oder höher
  • Netzwerk: Ausgehende HTTPS-Verbindung zu Azure (Port 443)
  • Zugriff: Lokale Ressourcen (Drucker, Dateisystem, SQL Server) müssen erreichbar sein

Azure-Ressourcen:

  • Azure-Subscription: Aktive Subscription
  • Azure Relay Namespace: Standard Tier (ca. 14,40 €/Monat)
  • Hybrid Connections: 1 pro Agent (unbegrenzte Nachrichten)

Netzwerk:

  • Firewall: Ausgehende HTTPS-Verbindung zu *.servicebus.windows.net (Port 443)
  • Proxy: Falls vorhanden, muss WebSocket-Protokoll unterstützen
  • VPN: Nicht erforderlich!

3. Cloud Bridge einrichten

3.1 SaaS Installation

3.1.1 Business Central

Schritt 1: Extension installieren

  1. AppSource öffnen (aus BC: Suche → „Extension Marketplace“)
  2. Nach „Cloud Bridge Connector“ suchen
  3. Auf Installieren klicken
  4. Installation bestätigen (Berechtigungen akzeptieren)
  5. Warten (ca. 2-5 Minuten)

Alternative: Manuelle Installation (.app-Datei)

  1. .app-Datei vom Partner erhalten
  2. Business Central Admin Center öffnen
  3. Environment auswählen → Apps → Upload
  4. .app-Datei hochladen
  5. Installation starten

Schritt 2: Berechtigungen zuweisen

  1. Benutzer Seite öffnen
  2. Benutzer auswählen
  3. Benutzer-Berechtigungssätze → Bearbeiten
  4. Folgende Berechtigungssätze hinzufügen:
    • VDBC Core (CloudBridge Core) – Basis-Funktionen
    • VDBC Printing (CloudBridge Printing) – Druckfunktionen
    • VDBC File (CloudBridge File) – Dateifunktionen

Schritt 3: Einrichtung prüfen

  1. Suche: „VDBC Agents“
  2. Seite CloudBridge Agents öffnet sich
  3. Noch leer – wird in 3.1.2 Azure Relay konfiguriert

3.1.2 Azure Relay

Schritt 1: Azure Relay Namespace erstellen

  1. Anmelden im Azure Portalportal.azure.com
  2. Relay suchen und öffnen (oder „Azure Relay“ in die Suchleiste eingeben)
  3. Auf + Erstellen klicken

Konfiguration:

FeldWertBeschreibung
Namecloudbridge-prodEindeutiger Name (global)
StandortWest EuropeNächster Azure-Standort wählen
Ressourcengruppecloudbridge-rgNeue Gruppe erstellen
TarifStandardNur Standard verfügbar
  1. Auf Überprüfen + erstellen klicken
  2. Auf Erstellen klicken (Dauer: ca. 2 Minuten)

Schritt 2: Hybrid Connection erstellen

  1. Relay Namespace cloudbridge-prod öffnen (nach Erstellung)
  2. Menü: Entities → Hybrid Connections
  3. Auf + Hybrid Connection klicken

Konfiguration:

FeldWertBeschreibung
Nameagent-01Name des Agents
Requires Client Authorization☑️ JaAktiviert (empfohlen)
Weitere EinstellungenStandardBeibehalten
  1. Auf Erstellen klicken

Schritt 3: Shared Access Policy erstellen

  1. Hybrid Connection agent-01 öffnen
  2. Menü: Settings → Shared access policies
  3. Auf + Add klicken

Konfiguration:

FeldWert
Policy namecloudbridge-agent-policy
Berechtigungen☑️ Send
☑️ Listen
☐ Manage (nicht benötigt)
  1. Auf Create klicken

Schritt 4: Connection String kopieren

  1. Policy cloudbridge-agent-policy anklicken
  2. Primary Connection String kopieren

Beispiel (sieht ähnlich aus):

Endpoint=sb://cloudbridge-prod.servicebus.windows.net/;
SharedAccessKeyName=cloudbridge-agent-policy;
SharedAccessKey=abc123xyz789==;
EntityPath=agent-01

![⚠️] Wichtig: Obwohl der Endpoint „sb://“ (Service Bus) sagt, ist dies eine Azure Relay Hybrid Connection!


3.1.3 Business Central Agent

Schritt 1: Agent herunterladen

  1. GitHub-Releases öffnen: CloudBridgeAgent/releases
  2. Neueste Version auswählen
  3. CloudBridgeAgent.zip herunterladen
  4. ZIP-Datei auf Windows Server entpacken (z.B. C:\CloudBridgeAgent\)

Schritt 2: Konfiguration anpassen

  1. Datei appsettings.json in einem Editor öffnen
  2. Connection String aus 3.1.2 Azure Relay einfügen

Beispiel-Konfiguration:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "BusinessCentralAgent": {
    "UseKestrel": false,
    "UseAzureHybridConnection": true,
    "AzureHybridConnectionString": "Endpoint=sb://cloudbridge-prod.servicebus.windows.net/;SharedAccessKeyName=cloudbridge-agent-policy;SharedAccessKey=abc123xyz789==;EntityPath=agent-01"
  }
}

Wichtige Einstellungen:

FeldBeschreibungBeispiel
UseAzureHybridConnectionAzure Relay Modus aktivierentrue
AzureHybridConnectionStringAzure Relay Connection StringAus Schritt 3.1.2
UseKestrelKestrel HTTP-Modus (für OnPrem)false
  1. Datei speichern

Schritt 3: Agent als Windows Service installieren

  1. Eingabeaufforderung als Administrator öffnen
  2. Im Agent-Verzeichnis ausführen: CloudBridgeAgent.exe install
  3. Windows-Dienste (services.msc) öffnen → CloudBridge Agent starten
  4. Status prüfen: Sollte Wird ausgeführt sein

Schritt 4: Agent in Business Central registrieren

  1. Business Central öffnen
  2. Suche: „VDBC Agents“
  3. Seite CloudBridge Agents öffnet sich
  4. Auf Neu klicken
  5. Felder ausfüllen:
FeldWertBeschreibung
NameAGENT-01Eindeutiger Agent-Name
DescriptionLokaler File & Print ServerBeschreibung
Connection Key[Connection String einfügen]Aus Schritt 3.1.2
Http Client Time Out30000Timeout in Millisekunden (30 Sek.)
  1. Speichern klicken

Schritt 5: Verbindung testen

  1. Agent-Karte öffnen (AGENT-01)
  2. Aktionen → Test Connection klicken
  3. System sendet Testanfrage an Agent

Erwartete Meldung:

✅ Verbindung erfolgreich!
Agent Version: 1.0.0

Bei Fehlermeldung: Siehe Kapitel 6: Fehlerbehandlung.


3.2 OnPrem Installation

3.2.1 Business Central

Schritt 1: Extension deployen (.app-Datei)

  1. .app-Datei auf BC-Server kopieren
  2. Business Central Administration Shell als Administrator öffnen
  3. Extension mit folgenden Schritten deployen:
    • Extension publishen
    • Extension installieren
    • Extension synchronisieren

![ℹ️] Hinweis: Verwenden Sie die BC Administration Shell Cmdlets für Publish-NAVApp, Install-NAVApp und Sync-NAVApp.

Schritt 2: Berechtigungen zuweisen

Siehe 3.1.1 Business Central – Schritt 2.


3.2.2 Kestrel

Für On-Premises ohne Azure Relay: Kestrel als HTTP-Server

![ℹ️] Hinweis: Kestrel ist eine Alternative zu Azure Relay für reine On-Premises-Szenarien. Der CloudBridge Agent kann direkt via HTTP/HTTPS angesprochen werden.

Schritt 1: Agent mit Kestrel-Konfiguration

  1. appsettings.json öffnen
  2. Kestrel-Konfiguration hinzufügen:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "BusinessCentralAgent": {
    "UseKestrel": true,
    "KestrelConnectionString": "Endpoint=http://localhost:5000/;SharedAccessKeyName=key1;SharedAccessKey=IhrKey==",
    "UseAzureHybridConnection": false
  },
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://*:5000"
      }
    }
  }
}

Wichtige Einstellungen:

FeldBeschreibungBeispiel
UseKestrelKestrel-Modus aktivierentrue
KestrelConnectionStringConnection String für KestrelEndpoint=http://localhost:5000/;SharedAccessKeyName=key1;SharedAccessKey=IhrKey==
UseAzureHybridConnectionAzure Relay deaktivierenfalse
Kestrel.Endpoints.Http.UrlBind-Adresse für HTTP-Serverhttp://*:5000

Schritt 2: Firewall-Regel erstellen (falls nötig)

Wenn BC-Server und Agent auf unterschiedlichen Servern laufen:

  1. Windows Firewall mit erweiterter Sicherheit öffnen
  2. Eingehende Regeln → Neue Regel
  3. Regeltyp: Port
  4. Protokoll: TCP, Port: 5000
  5. Aktion: Verbindung zulassen
  6. Name: CloudBridge Agent Kestrel

Schritt 3: Agent in BC konfigurieren

  1. VDBC Agents Seite öffnen
  2. Neuen Agent anlegen:
FeldWert
NameAGENT-ONPREM
DescriptionOn-Prem Kestrel Agent
Connection Keyhttp://server-name:5000

![ℹ️] Hinweis: Connection Key enthält die Kestrel-URL statt Azure Relay Connection String.


3.2.3 Business Central Agent

Installation wie in 3.1.3 Business Central Agent, aber mit angepasster Konfiguration für On-Premises.

Unterschiede:

  • Bei Azure Relay: Connection String mit sb://
  • Bei Kestrel: URL mit http:// oder https://

4. Druckfunktionen

4.1 Drucker

Drucker einrichten

Schritt 1: Print Server konfigurieren

![ℹ️] Architektur: CloudBridge verwendet eine dreistufige Struktur: Agent → Print Server → Drucker

  1. Suche: „VDBC Print Servers“
  2. Seite CloudBridge Print Servers öffnet sich
  3. Auf Neu klicken
  4. Felder ausfüllen:
FeldWertBeschreibung
NamePRINTSERVER-01Eindeutiger Name
Agent CodeAGENT-01Verweis auf CloudBridge Agent
  1. Speichern klicken

Schritt 2: Drucker vom Agent abrufen

  1. Print Server PRINTSERVER-01 öffnen
  2. Aktionen → Printers → Get Printers klicken
  3. System fragt Agent nach verfügbaren Druckern
  4. Alle Drucker werden automatisch unter diesem Print Server angelegt

Beispiel-Ergebnis:

NameBeschreibungAgentStandard
HP-LaserJet-500HP LaserJet 500 M551AGENT-01Nein
Zebra-Label-PrinterZebra ZD420AGENT-01Nein
PDF-DruckerMicrosoft Print to PDFAGENT-01Ja

Schritt 3: Drucker-Einstellungen anpassen

  1. Drucker aus Liste auswählen (z.B. „HP-LaserJet-500“)
  2. Karte öffnet sich
  3. Felder bearbeiten:
FeldBeschreibungBeispiel
NameEindeutige ID (nicht ändern)HP-LaserJet-500
BeschreibungAnzeigename für BenutzerHauptdrucker Buchhaltung
AgentZugehöriger AgentAGENT-01
DruckerTatsächlicher DruckernameHP LaserJet 500 M551
StandardAls Standarddrucker markieren☑️ Ja

4.2 Druckaufträge

Berichte drucken

Schritt 1: Bericht mit Drucker-Auswahl drucken

Beispiel: Verkaufsrechnung drucken

  1. Gebuchte Verkaufsrechnung öffnen
  2. Drucken → Drucken
  3. Bericht-Anforderungsseite öffnet sich
  4. Drucker auswählen:

Drucker-Optionen:

OptionWas passiert?
Lokaler DruckerDruckt auf Drucker an Ihrem PC (falls verfügbar)
CloudBridge: HP-LaserJet-500Druckt über Agent auf Server-Drucker
PDFPDF-Download in Browser
  1. Drucken klicken
  2. Dokument wird an Agent gesendet
  3. Agent druckt auf dem konfigurierten Drucker

Schritt 2: Stapelverarbeitung drucken

Beispiel: 100 Rechnungen auf einmal drucken

  1. Gebuchte Verkaufsrechnungen (Liste)
  2. Filter setzen: Rechnungen von heute
  3. Drucken → Drucken
  4. Drucker: HP-LaserJet-500
  5. OK klicken

Hintergrundverarbeitung:

  • Berichte werden als Print Jobs in die Warteschlange gestellt
  • Agent arbeitet Jobs nacheinander ab
  • Sie können weiterarbeiten (kein Warten!)

Print Jobs überwachen

Schritt 1: Print Job-Liste öffnen

  1. Suche: „VDBC Print Jobs“
  2. Seite CloudBridge Print Jobs öffnet sich

Schritt 2: Job-Status verstehen

StatusBedeutungAktion
⏰ PendingWarten auf VerarbeitungNormal, wird bald gedruckt
🔄 ProcessingAgent druckt geradeWarten
✅ CompletedErfolgreich gedrucktKeine Aktion nötig
❌ ErrorFehler beim DruckenPrint Job öffnen, Fehlerdetails prüfen

Schritt 3: Fehlerhafte Print Jobs behandeln

  1. Print Job mit Status Error öffnen
  2. Feld Error Message prüfen

Häufige Fehler:

FehlermeldungUrsacheLösung
Printer not foundDrucker am Agent nicht verfügbarDrucker am Server prüfen
Access deniedAgent hat keine BerechtigungService-Account-Rechte prüfen
TimeoutAgent antwortet nichtAgent-Service-Status prüfen
  1. Fehler beheben
  2. Aktionen → Retry klicken (Print Job erneut senden)

Schritt 4: Print Jobs automatisch löschen

Job Queue Entry einrichten:

  1. Suche: „Job Queue Entries“
  2. Neue Zeile anlegen:
FeldWert
Object Type to RunCodeunit
Object ID to Run70540881 (VDBC Print Job Cleanup)
No. of Minutes between Runs1440 (täglich)
StatusBereit

![ℹ️] Diese Codeunit löscht Print Jobs, die älter als 30 Tage sind.


5. Dateifunktionen

Dateizugriff aus Business Central

Mit CloudBridge können Sie aus Business Central heraus auf Dateien und Verzeichnisse auf lokalen Servern zugreifen.

Was können Sie tun?

  • ✅ Dateien lesen (z.B. Import-Dateien verarbeiten)
  • ✅ Dateien schreiben (z.B. Exporte ablegen)
  • ✅ Verzeichnisse durchsuchen
  • ✅ Dateien löschen
  • ✅ Verzeichnisse erstellen
  • ✅ Dateien umbenennen/verschieben

Voraussetzungen

Berechtigungen in Business Central:

Sie benötigen das Berechtigungsset: VDBC Core (CloudBridge Core)

CloudBridge Agent Konfiguration:

Der Agent muss korrekt konfiguriert sein:

  • UseAzureHybridConnection oder UseKestrel muss aktiviert sein
  • Connection String muss gültig sein

![⚠️] Sicherheit: Der Agent kann nur auf Dateien unterhalb des konfigurierten BasePath zugreifen!

Beispiele:

  • ✅ Erlaubt: C:\Data\Import\kunden.csv
  • ✅ Erlaubt: C:\Data\Export\rechnungen.xml
  • ❌ Blockiert: C:\Windows\system32\datei.txt (außerhalb von C:\Data)
  • ❌ Blockiert: D:\Andere\datei.txt (anderes Laufwerk)

Typische Szenarien

![ℹ️] Hinweis: Die folgenden Szenarien sind Beispiele für den Einsatz von CloudBridge. Die Implementierung erfolgt durch eigene AL-Code-Erweiterungen oder Partner-Apps.

Szenario 1: Import-Datei verarbeiten

Anwendungsfall: Jeden Morgen liegt eine CSV-Datei mit neuen Kunden im Ordner C:\Data\Import\.

Workflow:

┌─────────────────────────────────────────────┐
│ 1. Business Central startet Import-Job      │
│    (z.B. per Job Queue Entry)               │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 2. AL-Code ruft File Connector auf:        │
│    - GetFilesInDirectory("C:\Data\Import")  │
│    - Findet: kunden.csv                     │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 3. Datei lesen:                             │
│    - ReadFileAsText("C:\Data\Import\        │
│      kunden.csv")                           │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 4. CSV verarbeiten → Debitoren importieren  │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 5. Datei archivieren:                       │
│    - MoveFile("C:\Data\Import\kunden.csv",  │
│                "C:\Data\Archiv\kunden_      │
│                 2025-01-15.csv")            │
└─────────────────────────────────────────────┘

Szenario 2: Export-Datei erstellen

Anwendungsfall: Buchhaltungsdaten als XML für Steuersoftware exportieren.

Workflow:

┌─────────────────────────────────────────────┐
│ User klickt: "DATEV Export starten"        │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ BC generiert XML-Inhalt (XMLport)          │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ File Connector schreibt Datei:             │
│ - WriteFile("C:\Data\Export\datev.xml",    │
│   XmlContent)                               │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ Steuersoftware holt Datei ab (automatisch) │
└─────────────────────────────────────────────┘

Szenario 3: Verzeichnisse überwachen

Anwendungsfall: Automatisch auf neue Dateien reagieren.

Setup:

  1. Job Queue Entry anlegen
    • Codeunit ausführen: „Import-Dateien prüfen“
    • Alle 5 Minuten wiederholen
  2. Codeunit-Logik:
    • Verzeichnis C:\Data\Import\ durchsuchen
    • Neue Dateien finden (per Zeitstempel)
    • Dateien verarbeiten
  3. Fehlerbehandlung:
    • Fehlerhafte Dateien nach C:\Data\Error\ verschieben
    • Admin per E-Mail informieren

Sicherheit & Best Practices

Zugriffsbeschränkungen:

  1. BasePath-Schutz
    • Agent blockiert Zugriff außerhalb von BasePath
    • Beispiel: Agent mit BasePath=C:\Data kann nicht auf C:\Windows zugreifen
  2. Keine Systemdateien
    • Agent sollte nicht mit Admin-Rechten laufen
    • Eigener Service-Account mit minimalen Berechtigungen
  3. Validierung in BC
    • AL-Code sollte Pfade prüfen
    • Keine Benutzereingaben direkt als Pfad verwenden

Beispiel – Sicherer Code:

// ✅ SICHER: Pfad validieren
procedure ImportFile(UserFilename: Text)
var
    AllowedPath: Text;
begin
    AllowedPath := 'C:\Data\Import\';
    
    if not UserFilename.StartsWith(AllowedPath) then
        Error('Ungültiger Pfad: %1', UserFilename);
    
    FileConnector.ReadFileAsText(UserFilename);
end;

6. Fehlerbehandlung

Häufige Probleme und Lösungen

Agent antwortet nicht

Symptom:

  • Fehlermeldung: „Timeout“ oder „Agent not responding“
  • Print Jobs bleiben im Status „Pending“

Ursachen & Lösungen:

UrsachePrüfenLösung
Service läuft nichtWindows-Dienste (services.msc)Service starten über Windows-Dienste
Falsche Connection StringAgent-Log prüfenConnection String in BC korrigieren
Azure Relay nicht erreichbarNetzwerk-/Firewall-TestPort 443 zu *.servicebus.windows.net öffnen
Agent-AbsturzEvent Viewer (Windows)Log-Dateien prüfen, Agent neu installieren

Diagnose-Schritte:

  1. Service-Status prüfen:
    • Windows-Dienste öffnen (services.msc)
    • CloudBridge Agent suchen
    • Status prüfen (sollte Wird ausgeführt sein)
  2. Agent-Logs prüfen:C:\CloudBridgeAgent\logs\agent-{datum}.log
  3. Netzwerk testen:
    • Prüfen, ob Port 443 zu cloudbridge-prod.servicebus.windows.net erreichbar ist
    • Tools: telnet, Browser, oder Netzwerk-Administrator kontaktieren
  4. Verbindung in BC testen:
    • VDBC Agents → Agent öffnen → Test Connection

Drucker nicht gefunden

Symptom:

  • Fehlermeldung: „Printer not found“
  • Print Job-Status: „Error“

Ursachen & Lösungen:

UrsachePrüfenLösung
Drucker am Server nicht installiertDrucker-Liste am ServerDrucker am Agent-Server installieren
Druckername falschDrucker-Karte in BCGet Printers erneut ausführen
Drucker offlineDruckerstatus prüfenDrucker einschalten / Verbindung prüfen
Service-Account hat keine RechteDrucker-BerechtigungenService-Account Druckrechte geben

Diagnose-Schritte:

  1. Drucker am Server prüfen:
    • Systemsteuerung → Geräte und Drucker
    • Verfügbare Drucker anzeigen
  2. Drucker vom Agent abrufen:
    • VDBC Print Servers → Get Printers
  3. Print Job-Fehlerdetails:
    • VDBC Print Jobs → Job öffnen → Error Message Feld

Dateizugriff verweigert

Symptom:

  • Fehlermeldung: „Access denied“ oder „Path not found“
  • Datei kann nicht gelesen/geschrieben werden

Ursachen & Lösungen:

UrsachePrüfenLösung
Pfad außerhalb BasePathappsettings.jsonPfad innerhalb BasePath verwenden
Service-Account hat keine RechteNTFS-BerechtigungenService-Account Lese-/Schreibrechte geben
Datei gesperrtDatei mit anderem Programm geöffnetDatei schließen, Retry
Verzeichnis existiert nichtPfad prüfenVerzeichnis erstellen (CreateDirectory)

Diagnose-Schritte:

  1. Agent-Konfiguration prüfen:
    • appsettings.json → BusinessCentralAgent Abschnitt
  2. Berechtigungen prüfen:
    • Rechtsklick auf Ordner → Eigenschaften → Sicherheit
    • Service-Account muss Lese-/Schreibrechte haben
  3. Pfad testen:
    • Windows Explorer öffnen
    • Zum Pfad navigieren (z.B. C:\Data\Import\test.txt)
    • Prüfen, ob Datei/Ordner existiert

Azure Relay Connection String ungültig

Symptom:

  • Fehlermeldung: „Invalid Connection String“
  • Agent startet nicht

Ursachen & Lösungen:

UrsachePrüfenLösung
Falsche FormatierungConnection String-FormatKorrektes Format verwenden
SAS-Policy gelöschtAzure Portal → Shared Access PoliciesPolicy neu erstellen
Hybrid Connection gelöschtAzure Portal → Hybrid ConnectionsHybrid Connection neu erstellen
Falsche BerechtigungPolicy-BerechtigungenSend + Listen müssen aktiviert sein

Korrektes Format:

Endpoint=sb://namespace.servicebus.windows.net/;
SharedAccessKeyName=policy-name;
SharedAccessKey=key-value==;
EntityPath=connection-name

Diagnose-Schritte:

  1. Format validieren:
    • Alle 4 Komponenten vorhanden? (Endpoint, KeyName, Key, EntityPath)
    • Keine Leerzeichen?
  2. In Azure Portal prüfen:
    • Relay Namespace → Hybrid Connections → Connection auswählen
    • Shared Access Policies → Policy auswählen
    • Primary Connection String kopieren

7. Glossar

Begriffe

BegriffBeschreibung
AgentCloudBridge Agent – Windows Service auf lokalem Server
Azure RelayAzure-Dienst für sichere Hybrid-Verbindungen (WebSocket-basiert)
BasePathBasis-Pfad für Dateizugriff (z.B. C:\Data) – Agent kann nur innerhalb zugreifen
BCBusiness Central
Connection StringVerbindungsinformationen für Azure Relay (enthält Endpoint, SAS Key, EntityPath)
ConnectorAL-Codeunit für Kommunikation mit Agent (File Connector, Print Connector, etc.)
Hybrid ConnectionAzure Relay-Ressource für bidirektionale Kommunikation
Isolated StorageVerschlüsselter Speicher in BC für sensible Daten (Connection Strings)
Job Queue EntryBC-Funktion für geplante/wiederkehrende Aufgaben
KestrelHTTP-Server für On-Premises-Szenarien (Alternative zu Azure Relay)
Print JobDruckauftrag in Warteschlange (BC-Tabelle)
Print ServerLogische Gruppierung von Druckern (1 Print Server pro Agent)
SAS TokenShared Access Signature – Authentifizierung für Azure Relay (1h Gültigkeit)
Service BusAzure Service Bus (Namespace für Relay)

Abkürzungen

AbkürzungBedeutung
BCBusiness Central
VDBCVisionData Business Connector (Object-Präfix)
SaaSSoftware as a Service (BC Cloud)
OnPremOn-Premises (BC lokal installiert)
FTPFile Transfer Protocol
SFTPSSH File Transfer Protocol
FTPSFTP over SSL/TLS
TLSTransport Layer Security
SASShared Access Signature
GUIDGlobally Unique Identifier
JSONJavaScript Object Notation