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
- 2.1 Erste Schritte mit Cloud Bridge
- 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
- 3.1 SaaS Installation
- 4. Druckfunktionen
- 4.1 Drucker
- Drucker einrichten
- 4.2 Druckaufträge
- Berichte drucken
- Print Jobs überwachen
- 4.1 Drucker
- 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
- Häufige Probleme und Lösungen
- 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?
| Feature | Beschreibung | Verwendung |
|---|---|---|
| 🖨️ Druckmanagement | Lokale Netzwerkdrucker direkt aus BC Cloud ansteuern | Etiketten, Berichte, Dokumente auf lokalen Druckern ausgeben |
| 📁 Dateisystem-Zugriff | Dateien und Verzeichnisse lesen/schreiben/löschen | Dokumentenaustausch, Import/Export, Archivierung |
| 🗄️ SQL Server-Integration | SQL-Abfragen auf On-Prem-Datenbanken ausführen | Legacy-Systeme anbinden, Datenmigration |
| 📡 FTP/SFTP-Client | Dateitransfer via FTP, FTPS, SFTP | EDI-Systeme, Partner-Schnittstellen |
| 🔗 API-Relay-Brücke | On-Prem-APIs über Azure Service Bus erreichen | REST-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:
- Azure Relay einrichten (ca. 10 Minuten)
- CloudBridge Agent installieren (ca. 10 Minuten)
- 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?
| Aufgabe | Verantwortlich |
|---|---|
| Azure Service Bus Relay einrichten | IT-Administrator |
| CloudBridge Agent installieren | IT-Administrator / Server-Admin |
| Agent in BC konfigurieren | Key-User / BC-Administrator |
| Drucker/Ressourcen einrichten | Key-User |
| Berechtigungen vergeben | BC-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:
- Pro Agent eigene Azure Relay Hybrid Connection erstellen (oder separates Relay Namespace)
- Agents mit unterschiedlichen Namen in BC anlegen (
AGENT-MUNICH,AGENT-BERLIN) - 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
- AppSource öffnen (aus BC: Suche → „Extension Marketplace“)
- Nach „Cloud Bridge Connector“ suchen
- Auf Installieren klicken
- Installation bestätigen (Berechtigungen akzeptieren)
- Warten (ca. 2-5 Minuten)
Alternative: Manuelle Installation (.app-Datei)
.app-Datei vom Partner erhalten- Business Central Admin Center öffnen
- Environment auswählen → Apps → Upload
.app-Datei hochladen- Installation starten
Schritt 2: Berechtigungen zuweisen
- Benutzer Seite öffnen
- Benutzer auswählen
- Benutzer-Berechtigungssätze → Bearbeiten
- 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
- Suche: „VDBC Agents“
- Seite CloudBridge Agents öffnet sich
- Noch leer – wird in 3.1.2 Azure Relay konfiguriert
3.1.2 Azure Relay
Schritt 1: Azure Relay Namespace erstellen
- Anmelden im Azure Portal: portal.azure.com
- Relay suchen und öffnen (oder „Azure Relay“ in die Suchleiste eingeben)
- Auf + Erstellen klicken
Konfiguration:
| Feld | Wert | Beschreibung |
|---|---|---|
| Name | cloudbridge-prod | Eindeutiger Name (global) |
| Standort | West Europe | Nächster Azure-Standort wählen |
| Ressourcengruppe | cloudbridge-rg | Neue Gruppe erstellen |
| Tarif | Standard | Nur Standard verfügbar |
- Auf Überprüfen + erstellen klicken
- Auf Erstellen klicken (Dauer: ca. 2 Minuten)
Schritt 2: Hybrid Connection erstellen
- Relay Namespace cloudbridge-prod öffnen (nach Erstellung)
- Menü: Entities → Hybrid Connections
- Auf + Hybrid Connection klicken
Konfiguration:
| Feld | Wert | Beschreibung |
|---|---|---|
| Name | agent-01 | Name des Agents |
| Requires Client Authorization | ☑️ Ja | Aktiviert (empfohlen) |
| Weitere Einstellungen | Standard | Beibehalten |
- Auf Erstellen klicken
Schritt 3: Shared Access Policy erstellen
- Hybrid Connection agent-01 öffnen
- Menü: Settings → Shared access policies
- Auf + Add klicken
Konfiguration:
| Feld | Wert |
|---|---|
| Policy name | cloudbridge-agent-policy |
| Berechtigungen | ☑️ Send ☑️ Listen ☐ Manage (nicht benötigt) |
- Auf Create klicken
Schritt 4: Connection String kopieren
- Policy cloudbridge-agent-policy anklicken
- 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
- GitHub-Releases öffnen: CloudBridgeAgent/releases
- Neueste Version auswählen
- CloudBridgeAgent.zip herunterladen
- ZIP-Datei auf Windows Server entpacken (z.B.
C:\CloudBridgeAgent\)
Schritt 2: Konfiguration anpassen
- Datei
appsettings.jsonin einem Editor öffnen - 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:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| UseAzureHybridConnection | Azure Relay Modus aktivieren | true |
| AzureHybridConnectionString | Azure Relay Connection String | Aus Schritt 3.1.2 |
| UseKestrel | Kestrel HTTP-Modus (für OnPrem) | false |
- Datei speichern
Schritt 3: Agent als Windows Service installieren
- Eingabeaufforderung als Administrator öffnen
- Im Agent-Verzeichnis ausführen:
CloudBridgeAgent.exe install - Windows-Dienste (services.msc) öffnen → CloudBridge Agent starten
- Status prüfen: Sollte Wird ausgeführt sein
Schritt 4: Agent in Business Central registrieren
- Business Central öffnen
- Suche: „VDBC Agents“
- Seite CloudBridge Agents öffnet sich
- Auf Neu klicken
- Felder ausfüllen:
| Feld | Wert | Beschreibung |
|---|---|---|
| Name | AGENT-01 | Eindeutiger Agent-Name |
| Description | Lokaler File & Print Server | Beschreibung |
| Connection Key | [Connection String einfügen] | Aus Schritt 3.1.2 |
| Http Client Time Out | 30000 | Timeout in Millisekunden (30 Sek.) |
- Speichern klicken
Schritt 5: Verbindung testen
- Agent-Karte öffnen (AGENT-01)
- Aktionen → Test Connection klicken
- 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)
.app-Datei auf BC-Server kopieren- Business Central Administration Shell als Administrator öffnen
- 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
appsettings.jsonöffnen- 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:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| UseKestrel | Kestrel-Modus aktivieren | true |
| KestrelConnectionString | Connection String für Kestrel | Endpoint=http://localhost:5000/;SharedAccessKeyName=key1;SharedAccessKey=IhrKey== |
| UseAzureHybridConnection | Azure Relay deaktivieren | false |
| Kestrel.Endpoints.Http.Url | Bind-Adresse für HTTP-Server | http://*:5000 |
Schritt 2: Firewall-Regel erstellen (falls nötig)
Wenn BC-Server und Agent auf unterschiedlichen Servern laufen:
- Windows Firewall mit erweiterter Sicherheit öffnen
- Eingehende Regeln → Neue Regel
- Regeltyp: Port
- Protokoll: TCP, Port: 5000
- Aktion: Verbindung zulassen
- Name: CloudBridge Agent Kestrel
Schritt 3: Agent in BC konfigurieren
- VDBC Agents Seite öffnen
- Neuen Agent anlegen:
| Feld | Wert |
|---|---|
| Name | AGENT-ONPREM |
| Description | On-Prem Kestrel Agent |
| Connection Key | http://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://oderhttps://
4. Druckfunktionen
4.1 Drucker
Drucker einrichten
Schritt 1: Print Server konfigurieren
![ℹ️] Architektur: CloudBridge verwendet eine dreistufige Struktur: Agent → Print Server → Drucker
- Suche: „VDBC Print Servers“
- Seite CloudBridge Print Servers öffnet sich
- Auf Neu klicken
- Felder ausfüllen:
| Feld | Wert | Beschreibung |
|---|---|---|
| Name | PRINTSERVER-01 | Eindeutiger Name |
| Agent Code | AGENT-01 | Verweis auf CloudBridge Agent |
- Speichern klicken
Schritt 2: Drucker vom Agent abrufen
- Print Server PRINTSERVER-01 öffnen
- Aktionen → Printers → Get Printers klicken
- System fragt Agent nach verfügbaren Druckern
- Alle Drucker werden automatisch unter diesem Print Server angelegt
Beispiel-Ergebnis:
| Name | Beschreibung | Agent | Standard |
|---|---|---|---|
| HP-LaserJet-500 | HP LaserJet 500 M551 | AGENT-01 | Nein |
| Zebra-Label-Printer | Zebra ZD420 | AGENT-01 | Nein |
| PDF-Drucker | Microsoft Print to PDF | AGENT-01 | Ja |
Schritt 3: Drucker-Einstellungen anpassen
- Drucker aus Liste auswählen (z.B. „HP-LaserJet-500“)
- Karte öffnet sich
- Felder bearbeiten:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Name | Eindeutige ID (nicht ändern) | HP-LaserJet-500 |
| Beschreibung | Anzeigename für Benutzer | Hauptdrucker Buchhaltung |
| Agent | Zugehöriger Agent | AGENT-01 |
| Drucker | Tatsächlicher Druckername | HP LaserJet 500 M551 |
| Standard | Als Standarddrucker markieren | ☑️ Ja |
4.2 Druckaufträge
Berichte drucken
Schritt 1: Bericht mit Drucker-Auswahl drucken
Beispiel: Verkaufsrechnung drucken
- Gebuchte Verkaufsrechnung öffnen
- Drucken → Drucken
- Bericht-Anforderungsseite öffnet sich
- Drucker auswählen:
Drucker-Optionen:
| Option | Was passiert? |
|---|---|
| Lokaler Drucker | Druckt auf Drucker an Ihrem PC (falls verfügbar) |
| CloudBridge: HP-LaserJet-500 | Druckt über Agent auf Server-Drucker |
| PDF-Download in Browser |
- Drucken klicken
- Dokument wird an Agent gesendet
- Agent druckt auf dem konfigurierten Drucker
Schritt 2: Stapelverarbeitung drucken
Beispiel: 100 Rechnungen auf einmal drucken
- Gebuchte Verkaufsrechnungen (Liste)
- Filter setzen: Rechnungen von heute
- Drucken → Drucken
- Drucker:
HP-LaserJet-500 - 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
- Suche: „VDBC Print Jobs“
- Seite CloudBridge Print Jobs öffnet sich
Schritt 2: Job-Status verstehen
| Status | Bedeutung | Aktion |
|---|---|---|
| ⏰ Pending | Warten auf Verarbeitung | Normal, wird bald gedruckt |
| 🔄 Processing | Agent druckt gerade | Warten |
| ✅ Completed | Erfolgreich gedruckt | Keine Aktion nötig |
| ❌ Error | Fehler beim Drucken | Print Job öffnen, Fehlerdetails prüfen |
Schritt 3: Fehlerhafte Print Jobs behandeln
- Print Job mit Status Error öffnen
- Feld Error Message prüfen
Häufige Fehler:
| Fehlermeldung | Ursache | Lösung |
|---|---|---|
Printer not found | Drucker am Agent nicht verfügbar | Drucker am Server prüfen |
Access denied | Agent hat keine Berechtigung | Service-Account-Rechte prüfen |
Timeout | Agent antwortet nicht | Agent-Service-Status prüfen |
- Fehler beheben
- Aktionen → Retry klicken (Print Job erneut senden)
Schritt 4: Print Jobs automatisch löschen
Job Queue Entry einrichten:
- Suche: „Job Queue Entries“
- Neue Zeile anlegen:
| Feld | Wert |
|---|---|
| Object Type to Run | Codeunit |
| Object ID to Run | 70540881 (VDBC Print Job Cleanup) |
| No. of Minutes between Runs | 1440 (täglich) |
| Status | Bereit |
![ℹ️] 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:
- Job Queue Entry anlegen
- Codeunit ausführen: „Import-Dateien prüfen“
- Alle 5 Minuten wiederholen
- Codeunit-Logik:
- Verzeichnis
C:\Data\Import\durchsuchen - Neue Dateien finden (per Zeitstempel)
- Dateien verarbeiten
- Verzeichnis
- Fehlerbehandlung:
- Fehlerhafte Dateien nach
C:\Data\Error\verschieben - Admin per E-Mail informieren
- Fehlerhafte Dateien nach
Sicherheit & Best Practices
Zugriffsbeschränkungen:
- BasePath-Schutz
- Agent blockiert Zugriff außerhalb von
BasePath - Beispiel: Agent mit
BasePath=C:\Datakann nicht aufC:\Windowszugreifen
- Agent blockiert Zugriff außerhalb von
- Keine Systemdateien
- Agent sollte nicht mit Admin-Rechten laufen
- Eigener Service-Account mit minimalen Berechtigungen
- 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:
| Ursache | Prüfen | Lösung |
|---|---|---|
| Service läuft nicht | Windows-Dienste (services.msc) | Service starten über Windows-Dienste |
| Falsche Connection String | Agent-Log prüfen | Connection String in BC korrigieren |
| Azure Relay nicht erreichbar | Netzwerk-/Firewall-Test | Port 443 zu *.servicebus.windows.net öffnen |
| Agent-Absturz | Event Viewer (Windows) | Log-Dateien prüfen, Agent neu installieren |
Diagnose-Schritte:
- Service-Status prüfen:
- Windows-Dienste öffnen (services.msc)
- CloudBridge Agent suchen
- Status prüfen (sollte Wird ausgeführt sein)
- Agent-Logs prüfen:
C:\CloudBridgeAgent\logs\agent-{datum}.log - Netzwerk testen:
- Prüfen, ob Port 443 zu
cloudbridge-prod.servicebus.windows.neterreichbar ist - Tools: telnet, Browser, oder Netzwerk-Administrator kontaktieren
- Prüfen, ob Port 443 zu
- 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:
| Ursache | Prüfen | Lösung |
|---|---|---|
| Drucker am Server nicht installiert | Drucker-Liste am Server | Drucker am Agent-Server installieren |
| Druckername falsch | Drucker-Karte in BC | Get Printers erneut ausführen |
| Drucker offline | Druckerstatus prüfen | Drucker einschalten / Verbindung prüfen |
| Service-Account hat keine Rechte | Drucker-Berechtigungen | Service-Account Druckrechte geben |
Diagnose-Schritte:
- Drucker am Server prüfen:
- Systemsteuerung → Geräte und Drucker
- Verfügbare Drucker anzeigen
- Drucker vom Agent abrufen:
- VDBC Print Servers → Get Printers
- 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:
| Ursache | Prüfen | Lösung |
|---|---|---|
| Pfad außerhalb BasePath | appsettings.json | Pfad innerhalb BasePath verwenden |
| Service-Account hat keine Rechte | NTFS-Berechtigungen | Service-Account Lese-/Schreibrechte geben |
| Datei gesperrt | Datei mit anderem Programm geöffnet | Datei schließen, Retry |
| Verzeichnis existiert nicht | Pfad prüfen | Verzeichnis erstellen (CreateDirectory) |
Diagnose-Schritte:
- Agent-Konfiguration prüfen:
appsettings.json→BusinessCentralAgentAbschnitt
- Berechtigungen prüfen:
- Rechtsklick auf Ordner → Eigenschaften → Sicherheit
- Service-Account muss Lese-/Schreibrechte haben
- 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:
| Ursache | Prüfen | Lösung |
|---|---|---|
| Falsche Formatierung | Connection String-Format | Korrektes Format verwenden |
| SAS-Policy gelöscht | Azure Portal → Shared Access Policies | Policy neu erstellen |
| Hybrid Connection gelöscht | Azure Portal → Hybrid Connections | Hybrid Connection neu erstellen |
| Falsche Berechtigung | Policy-Berechtigungen | Send + Listen müssen aktiviert sein |
Korrektes Format:
Endpoint=sb://namespace.servicebus.windows.net/;
SharedAccessKeyName=policy-name;
SharedAccessKey=key-value==;
EntityPath=connection-name
Diagnose-Schritte:
- Format validieren:
- Alle 4 Komponenten vorhanden? (Endpoint, KeyName, Key, EntityPath)
- Keine Leerzeichen?
- 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
| Begriff | Beschreibung |
|---|---|
| Agent | CloudBridge Agent – Windows Service auf lokalem Server |
| Azure Relay | Azure-Dienst für sichere Hybrid-Verbindungen (WebSocket-basiert) |
| BasePath | Basis-Pfad für Dateizugriff (z.B. C:\Data) – Agent kann nur innerhalb zugreifen |
| BC | Business Central |
| Connection String | Verbindungsinformationen für Azure Relay (enthält Endpoint, SAS Key, EntityPath) |
| Connector | AL-Codeunit für Kommunikation mit Agent (File Connector, Print Connector, etc.) |
| Hybrid Connection | Azure Relay-Ressource für bidirektionale Kommunikation |
| Isolated Storage | Verschlüsselter Speicher in BC für sensible Daten (Connection Strings) |
| Job Queue Entry | BC-Funktion für geplante/wiederkehrende Aufgaben |
| Kestrel | HTTP-Server für On-Premises-Szenarien (Alternative zu Azure Relay) |
| Print Job | Druckauftrag in Warteschlange (BC-Tabelle) |
| Print Server | Logische Gruppierung von Druckern (1 Print Server pro Agent) |
| SAS Token | Shared Access Signature – Authentifizierung für Azure Relay (1h Gültigkeit) |
| Service Bus | Azure Service Bus (Namespace für Relay) |
Abkürzungen
| Abkürzung | Bedeutung |
|---|---|
| BC | Business Central |
| VDBC | VisionData Business Connector (Object-Präfix) |
| SaaS | Software as a Service (BC Cloud) |
| OnPrem | On-Premises (BC lokal installiert) |
| FTP | File Transfer Protocol |
| SFTP | SSH File Transfer Protocol |
| FTPS | FTP over SSL/TLS |
| TLS | Transport Layer Security |
| SAS | Shared Access Signature |
| GUID | Globally Unique Identifier |
| JSON | JavaScript Object Notation |