Cloud Bridge – User Documentation

Table of Contents

  • VISIONDATA Cloud Bridge – Online Documentation
    • Table of Contents
    • 1. Welcome to VISIONDATA Cloud Bridge
      • What is Cloud Bridge?
      • How does Cloud Bridge work?
      • Architecture Overview
    • 2. Getting Started
      • 2.1 Getting Started with Cloud Bridge
        • Quick Start Overview
        • What You Need
        • Who Does What?
        • Next Steps
      • 2.2 Frequently Asked Questions
        • FAQ
        • Minimum Requirements
    • 3. Setting Up Cloud Bridge
      • 3.1 SaaS Installation
      • 3.2 OnPrem Installation
        • 3.2.1 Business Central
        • 3.2.2 Kestrel
        • 3.2.3 Business Central Agent
    • 4. Printing Features
      • 4.1 Printers
        • Setting Up Printers
      • 4.2 Print Jobs
        • Printing Reports
        • Monitoring Print Jobs
    • 5. File Features
      • File Access from Business Central
      • Prerequisites
      • Common Scenarios
        • Scenario 1: Processing Import Files
        • Scenario 2: Creating Export Files
        • Scenario 3: Monitoring Directories
      • Security & Best Practices
    • 6. Troubleshooting
      • Common Problems and Solutions
        • Agent Not Responding
        • Printer Not Found
        • File Access Denied
        • Invalid Azure Relay Connection String
    • 7. Glossary
      • Terms
      • Abbreviations

1. Welcome to VISIONDATA Cloud Bridge

What is Cloud Bridge?

Cloud Bridge Connector is a Business Central extension that connects cloud and on-premises environments to local resources – without VPN configuration.

What can you do with Cloud Bridge?

FeatureDescriptionUsage
🖨️ Print ManagementAccess local network printers directly from BC CloudOutput labels, reports, documents on local printers
📁 File System AccessRead/write/delete files and directoriesDocument exchange, import/export, archiving
🗄️ SQL Server IntegrationExecute SQL queries on on-prem databasesConnect legacy systems, data migration
📡 FTP/SFTP ClientFile transfer via FTP, FTPS, SFTPEDI systems, partner interfaces
🔗 API Relay BridgeReach on-prem APIs via Azure Service BusREST services, SOAP endpoints

How does Cloud Bridge work?

Business Central (Cloud/OnPrem)
         │
         ├─── Azure Relay (Hybrid Connections)
         │
CloudBridge Agent (Windows Service on local server)
         │
         ├─── Local Printers
         ├─── File System (C:\Data\...)
         ├─── SQL Server
         └─── FTP Server

Benefits:

  • ✅ Secure connection via Azure (no VPN configuration required)
  • ✅ Cloud BC can access on-premises resources
  • ✅ No public IP address required for local server
  • ✅ TLS encrypted (end-to-end)
  • ✅ GDPR compliant (Azure region selectable)
  • ✅ Low ongoing costs
  • ✅ WebSocket-based bidirectional communication

Architecture Overview

Cloud Bridge uses Azure Service Bus Relay as a secure bridge between Business Central and local resources:

  • BC Extension – Sends requests via Azure Relay
  • CloudBridge Agent – Windows Service on local server, receives requests and executes them
  • Azure Relay – Secure hybrid connection (no VPN infrastructure required)

2. Getting Started

2.1 Getting Started with Cloud Bridge

Quick Start Overview

Setting up Cloud Bridge requires three main steps:

  1. Set up Azure Relay (approx. 10 minutes)
  2. Install CloudBridge Agent (approx. 10 minutes)
  3. Configure Agent in Business Central (approx. 10 minutes)

Total Time: Approx. 30 minutes

What You Need

  •  Windows Server with internet access (for CloudBridge Agent)
  •  Azure Subscription (for Azure Relay)
  •  Business Central (Cloud or On-Premises, from version BC25)
  •  Administrator Rights on Windows Server
  •  CloudBridge Connector Extension installed in Business Central

Who Does What?

TaskResponsible
Set up Azure Service Bus RelayIT Administrator
Install CloudBridge AgentIT Administrator / Server Admin
Configure Agent in BCKey User / BC Administrator
Set up printers/resourcesKey User
Assign permissionsBC Administrator

Next Steps

Follow the detailed installation guide in chapter 3. Setting Up Cloud Bridge.


2.2 Frequently Asked Questions

FAQ

What is CloudBridge Connector?

CloudBridge Connector is a Business Central extension that connects cloud and on-premises environments to local resources:

  • 📁 File Access to local servers
  • 🖨️ Printing on network printers
  • 🗄️ SQL Server access
  • 📡 FTP/SFTP data transfer
  • 🔗 API Bridge for on-premises services

Does CloudBridge cost extra?

  • Extension: Open Source (free)
  • Azure Relay: Approx. €0.02/hour (approx. €14.40/month)
  • Example: Monthly costs independent of number of messages

![ℹ️] Note: Azure Relay only has Standard tier available (no Basic tier).

Which BC versions are supported?

  • Minimum: Business Central 25 (BC25)
  • Currently tested: BC27 (Business Central 2025 Release Wave 2)
  • Cloud & On-Premises: Both supported

Where do I install the CloudBridge Agent?

The Agent runs on a Windows Server (or Windows 10/11 PC) that:

  • ✅ Has access to local resources (printers, files, SQL)
  • ✅ Has internet access (outbound HTTPS port 443)
  • ✅ Runs continuously (24/7)

Common Scenarios:

  • Option A: Local Windows Server in office
  • Option B: Azure VM (for Cloud BC + Azure printers)
  • Option C: Terminal Server

![⚠️] Important: Not suitable for workstation PCs (shut down in the evening).

Do I need an Azure Subscription?

Yes, for Azure Relay:

  • Create Azure account: portal.azure.com
  • Create Azure Relay Namespace (only Standard tier available)
  • Create Hybrid Connection
  • Copy Connection String

Cost: Approx. €14.40 per month

Can I use multiple Agents?

Yes! Common scenarios:

  • Multiple locations: Munich, Berlin, Hamburg (one agent each)
  • Different networks: Office, production hall, warehouse
  • Redundancy: Backup agent in case of failure

Setup:

  1. Create separate Azure Relay Hybrid Connection per agent (or separate Relay Namespace)
  2. Create agents with different names in BC (AGENT-MUNICHAGENT-BERLIN)
  3. Select corresponding agent for printers/files

Is the connection secure?

Yes, secured in multiple ways:

  • ✅ TLS Encryption (end-to-end via Azure)
  • ✅ SAS Token Authentication (Shared Access Signature with 1h validity)
  • ✅ No inbound firewall rules required (only outbound HTTPS)
  • ✅ Isolated Storage for Connection Strings in BC (encrypted)
  • ✅ Azure Relay uses WebSocket protocol (TLS 1.2+)

What data is transmitted?

  • HTTP requests from BC to Agent (JSON format)
  • HTTP responses from Agent to BC (JSON/Base64)
  • Print data (PDF as Base64)
  • File contents (text or Base64)
  • SQL query results (JSON)

![ℹ️] Note: All data is transmitted encrypted via Azure Relay.


Minimum Requirements

Business Central:

  • Version: BC25 or higher
  • Deployment: Cloud (SaaS) or On-Premises
  • Permissions: CloudBridge Connector Extension installable
  • Users: Permission sets „CloudBridge Core“ and „CloudBridge Printing“ assignable

CloudBridge Agent (Windows Server):

  • Operating System: Windows Server 2016 or higher (alternatively: Windows 10/11)
  • RAM: Minimum 2 GB
  • CPU: 2 cores
  • .NET Runtime: .NET 8.0 or higher
  • Network: Outbound HTTPS connection to Azure (port 443)
  • Access: Local resources (printers, file system, SQL Server) must be reachable

Azure Resources:

  • Azure Subscription: Active subscription
  • Azure Relay Namespace: Standard Tier (approx. €14.40/month)
  • Hybrid Connections: 1 per agent (unlimited messages)

Network:

  • Firewall: Outbound HTTPS connection to *.servicebus.windows.net (port 443)
  • Proxy: If present, must support WebSocket protocol
  • VPN: Not required!

3. Setting Up Cloud Bridge

3.1 SaaS Installation

3.1.1 Business Central

Step 1: Install Extension

  1. Open AppSource (from BC: Search → „Extension Marketplace“)
  2. Search for „Cloud Bridge Connector“
  3. Click Install
  4. Confirm installation (accept permissions)
  5. Wait (approx. 2-5 minutes)

Alternative: Manual Installation (.app file)

  1. Receive .app file from partner
  2. Open Business Central Admin Center
  3. Select Environment → Apps → Upload
  4. Upload .app file
  5. Start installation

Step 2: Assign Permissions

  1. Open Users page
  2. Select user
  3. User Permission Sets → Edit
  4. Add following permission sets:
    • VDBC Core (CloudBridge Core) – Base functions
    • VDBC Printing (CloudBridge Printing) – Print functions
    • VDBC File (CloudBridge File) – File functions

Step 3: Verify Setup

  1. Search: „VDBC Agents“
  2. CloudBridge Agents page opens
  3. Still empty – will be configured in 3.1.2 Azure Relay

3.1.2 Azure Relay

Step 1: Create Azure Relay Namespace

  1. Sign in to Azure Portalportal.azure.com
  2. Search for and open Relay (or enter „Azure Relay“ in search bar)
  3. Click + Create

Configuration:

FieldValueDescription
Namecloudbridge-prodUnique name (global)
LocationWest EuropeSelect nearest Azure location
Resource Groupcloudbridge-rgCreate new group
Pricing TierStandardOnly Standard available
  1. Click Review + create
  2. Click Create (duration: approx. 2 minutes)

Step 2: Create Hybrid Connection

  1. Open Relay Namespace cloudbridge-prod (after creation)
  2. Menu: Entities → Hybrid Connections
  3. Click + Hybrid Connection

Configuration:

FieldValueDescription
Nameagent-01Agent name
Requires Client Authorization☑️ YesEnabled (recommended)
Other SettingsDefaultKeep default
  1. Click Create

Step 3: Create Shared Access Policy

  1. Open Hybrid Connection agent-01
  2. Menu: Settings → Shared access policies
  3. Click + Add

Configuration:

FieldValue
Policy namecloudbridge-agent-policy
Permissions☑️ Send
☑️ Listen
☐ Manage (not needed)
  1. Click Create

Step 4: Copy Connection String

  1. Click on policy cloudbridge-agent-policy
  2. Copy Primary Connection String

Example (looks similar to this):

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

![⚠️] Important: Although the endpoint says „sb://“ (Service Bus), this is an Azure Relay Hybrid Connection!


3.1.3 Business Central Agent

Step 1: Download Agent

  1. Open GitHub Releases: CloudBridgeAgent/releases
  2. Select latest version
  3. Download CloudBridgeAgent.zip
  4. Extract ZIP file on Windows Server (e.g., C:\CloudBridgeAgent\)

Step 2: Adjust Configuration

  1. Open appsettings.json file in an editor
  2. Paste Connection String from 3.1.2 Azure Relay

Example Configuration:

{
  "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"
  }
}

Important Settings:

FieldDescriptionExample
UseAzureHybridConnectionEnable Azure Relay modetrue
AzureHybridConnectionStringAzure Relay Connection StringFrom Step 3.1.2
UseKestrelKestrel HTTP mode (for OnPrem)false
  1. Save file

Step 3: Install Agent as Windows Service

  1. Open Command Prompt as Administrator
  2. Execute in agent directory: CloudBridgeAgent.exe install
  3. Open Windows Services (services.msc) → Start CloudBridge Agent
  4. Check status: Should be Running

Step 4: Register Agent in Business Central

  1. Open Business Central
  2. Search: „VDBC Agents“
  3. CloudBridge Agents page opens
  4. Click New
  5. Fill in fields:
FieldValueDescription
NameAGENT-01Unique agent name
DescriptionLocal File & Print ServerDescription
Connection Key[Paste Connection String]From Step 3.1.2
Http Client Time Out30000Timeout in milliseconds (30 sec)
  1. Click Save

Step 5: Test Connection

  1. Open agent card (AGENT-01)
  2. Click Actions → Test Connection
  3. System sends test request to agent

Expected Message:

✅ Connection successful!
Agent Version: 1.0.0

On error message: See Chapter 6: Troubleshooting.


3.2 OnPrem Installation

3.2.1 Business Central

Step 1: Deploy Extension (.app file)

  1. Copy .app file to BC server
  2. Open Business Central Administration Shell as Administrator
  3. Deploy extension with following steps:
    • Publish extension
    • Install extension
    • Synchronize extension

![ℹ️] Note: Use BC Administration Shell cmdlets for Publish-NAVApp, Install-NAVApp, and Sync-NAVApp.

Step 2: Assign Permissions

See 3.1.1 Business Central – Step 2.


3.2.2 Kestrel

For On-Premises without Azure Relay: Kestrel as HTTP Server

![ℹ️] Note: Kestrel is an alternative to Azure Relay for pure on-premises scenarios. The CloudBridge Agent can be accessed directly via HTTP/HTTPS.

Step 1: Agent with Kestrel Configuration

  1. Open appsettings.json
  2. Add Kestrel configuration:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "BusinessCentralAgent": {
    "UseKestrel": true,
    "KestrelConnectionString": "Endpoint=http://localhost:5000/;SharedAccessKeyName=key1;SharedAccessKey=YourKey==",
    "UseAzureHybridConnection": false
  },
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://*:5000"
      }
    }
  }
}

Important Settings:

FieldDescriptionExample
UseKestrelEnable Kestrel modetrue
KestrelConnectionStringConnection String for KestrelEndpoint=http://localhost:5000/;SharedAccessKeyName=key1;SharedAccessKey=YourKey==
UseAzureHybridConnectionDisable Azure Relayfalse
Kestrel.Endpoints.Http.UrlBind address for HTTP serverhttp://*:5000

Step 2: Create Firewall Rule (if needed)

If BC server and agent run on different servers:

  1. Open Windows Firewall with Advanced Security
  2. Inbound Rules → New Rule
  3. Rule type: Port
  4. Protocol: TCP, Port: 5000
  5. Action: Allow connection
  6. Name: CloudBridge Agent Kestrel

Step 3: Configure Agent in BC

  1. Open VDBC Agents page
  2. Create new agent:
FieldValue
NameAGENT-ONPREM
DescriptionOn-Prem Kestrel Agent
Connection Keyhttp://server-name:5000

![ℹ️] Note: Connection Key contains Kestrel URL instead of Azure Relay Connection String.


3.2.3 Business Central Agent

Installation as in 3.1.3 Business Central Agent, but with adjusted configuration for on-premises.

Differences:

  • With Azure Relay: Connection String with sb://
  • With Kestrel: URL with http:// or https://

4. Printing Features

4.1 Printers

Setting Up Printers

Step 1: Configure Print Server

![ℹ️] Architecture: CloudBridge uses a three-tier structure: Agent → Print Server → Printer

  1. Search: „VDBC Print Servers“
  2. CloudBridge Print Servers page opens
  3. Click New
  4. Fill in fields:
FieldValueDescription
NamePRINTSERVER-01Unique name
Agent CodeAGENT-01Reference to CloudBridge Agent
  1. Click Save

Step 2: Get Printers from Agent

  1. Open Print Server PRINTSERVER-01
  2. Click Actions → Printers → Get Printers
  3. System queries agent for available printers
  4. All printers are automatically created under this print server

Example Result:

NameDescriptionAgentDefault
HP-LaserJet-500HP LaserJet 500 M551AGENT-01No
Zebra-Label-PrinterZebra ZD420AGENT-01No
PDF-PrinterMicrosoft Print to PDFAGENT-01Yes

Step 3: Adjust Printer Settings

  1. Select printer from list (e.g., „HP-LaserJet-500“)
  2. Card opens
  3. Edit fields:
FieldDescriptionExample
NameUnique ID (don’t change)HP-LaserJet-500
DescriptionDisplay name for usersMain Printer Accounting
AgentAssociated agentAGENT-01
PrinterActual printer nameHP LaserJet 500 M551
DefaultMark as default printer☑️ Yes

4.2 Print Jobs

Printing Reports

Step 1: Print Report with Printer Selection

Example: Print Sales Invoice

  1. Open Posted Sales Invoice
  2. Click Print → Print
  3. Report request page opens
  4. Select Printer:

Printer Options:

OptionWhat Happens?
Local PrinterPrints on printer at your PC (if available)
CloudBridge: HP-LaserJet-500Prints via agent on server printer
PDFPDF download in browser
  1. Click Print
  2. Document is sent to agent
  3. Agent prints on configured printer

Step 2: Batch Printing

Example: Print 100 invoices at once

  1. Posted Sales Invoices (list)
  2. Set filter: Invoices from today
  3. Click Print → Print
  4. Printer: HP-LaserJet-500
  5. Click OK

Background Processing:

  • Reports are queued as Print Jobs
  • Agent processes jobs one by one
  • You can continue working (no waiting!)

Monitoring Print Jobs

Step 1: Open Print Job List

  1. Search: „VDBC Print Jobs“
  2. CloudBridge Print Jobs page opens

Step 2: Understanding Job Status

StatusMeaningAction
⏰ PendingWaiting for processingNormal, will be printed soon
🔄 ProcessingAgent is currently printingWait
✅ CompletedSuccessfully printedNo action needed
❌ ErrorPrint errorOpen print job, check error details

Step 3: Handle Failed Print Jobs

  1. Open print job with status Error
  2. Check Error Message field

Common Errors:

Error MessageCauseSolution
Printer not foundPrinter not available at agentCheck printer on server
Access deniedAgent has no permissionCheck service account rights
TimeoutAgent not respondingCheck agent service status
  1. Fix error
  2. Click Actions → Retry (resend print job)

Step 4: Auto-delete Print Jobs

Set up Job Queue Entry:

  1. Search: „Job Queue Entries“
  2. Create new line:
FieldValue
Object Type to RunCodeunit
Object ID to Run70540881 (VDBC Print Job Cleanup)
No. of Minutes between Runs1440 (daily)
StatusReady

![ℹ️] This codeunit deletes print jobs older than 30 days.


5. File Features

File Access from Business Central

With CloudBridge, you can access files and directories on local servers directly from Business Central.

What can you do?

  • ✅ Read files (e.g., process import files)
  • ✅ Write files (e.g., store exports)
  • ✅ Browse directories
  • ✅ Delete files
  • ✅ Create directories
  • ✅ Rename/move files

Prerequisites

Permissions in Business Central:

You need the permission set: VDBC Core (CloudBridge Core)

CloudBridge Agent Configuration:

Agent must be configured correctly:

  • UseAzureHybridConnection or UseKestrel must be enabled
  • Connection String must be valid

![⚠️] Security: Agent can only access files below the configured BasePath!

Examples:

  • ✅ Allowed: C:\Data\Import\customers.csv
  • ✅ Allowed: C:\Data\Export\invoices.xml
  • ❌ Blocked: C:\Windows\system32\file.txt (outside C:\Data)
  • ❌ Blocked: D:\Other\file.txt (different drive)

Common Scenarios

![ℹ️] Note: The following scenarios are examples of using CloudBridge. Implementation is done through custom AL code extensions or partner apps.

Scenario 1: Processing Import Files

Use Case: Every morning, a CSV file with new customers is placed in folder C:\Data\Import\.

Workflow:

┌─────────────────────────────────────────────┐
│ 1. Business Central starts import job       │
│    (e.g., via Job Queue Entry)              │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 2. AL code calls File Connector:           │
│    - GetFilesInDirectory("C:\Data\Import")  │
│    - Finds: customers.csv                   │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 3. Read file:                               │
│    - ReadFileAsText("C:\Data\Import\        │
│      customers.csv")                        │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 4. Process CSV → Import customers           │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ 5. Archive file:                            │
│    - MoveFile("C:\Data\Import\customers.csv",│
│                "C:\Data\Archive\customers_  │
│                 2025-01-15.csv")            │
└─────────────────────────────────────────────┘

Scenario 2: Creating Export Files

Use Case: Export accounting data as XML for tax software.

Workflow:

┌─────────────────────────────────────────────┐
│ User clicks: "Start DATEV Export"          │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ BC generates XML content (XMLport)          │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ File Connector writes file:                │
│ - WriteFile("C:\Data\Export\datev.xml",    │
│   XmlContent)                               │
└─────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────┐
│ Tax software picks up file (automatically)  │
└─────────────────────────────────────────────┘

Scenario 3: Monitoring Directories

Use Case: Automatically react to new files.

Setup:

  1. Create Job Queue Entry
    • Execute codeunit: „Check import files“
    • Repeat every 5 minutes
  2. Codeunit Logic:
    • Browse directory C:\Data\Import\
    • Find new files (by timestamp)
    • Process files
  3. Error Handling:
    • Move failed files to C:\Data\Error\
    • Notify admin via email

Security & Best Practices

Access Restrictions:

  1. BasePath Protection
    • Agent blocks access outside BasePath
    • Example: Agent with BasePath=C:\Data cannot access C:\Windows
  2. No System Files
    • Agent should not run with admin rights
    • Use dedicated service account with minimal permissions
  3. Validation in BC
    • AL code should validate paths
    • Don’t use user input directly as path

Example – Secure Code:

// ✅ SECURE: Validate path
procedure ImportFile(UserFilename: Text)
var
    AllowedPath: Text;
begin
    AllowedPath := 'C:\Data\Import\';
    
    if not UserFilename.StartsWith(AllowedPath) then
        Error('Invalid path: %1', UserFilename);
    
    FileConnector.ReadFileAsText(UserFilename);
end;

6. Troubleshooting

Common Problems and Solutions

Agent Not Responding

Symptom:

  • Error message: „Timeout“ or „Agent not responding“
  • Print jobs remain in „Pending“ status

Causes & Solutions:

CauseCheckSolution
Service not runningWindows Services (services.msc)Start service via Windows Services
Wrong Connection StringCheck agent logCorrect Connection String in BC
Azure Relay unreachableNetwork/firewall testOpen port 443 to *.servicebus.windows.net
Agent crashEvent Viewer (Windows)Check log files, reinstall agent

Diagnostic Steps:

  1. Check service status:
    • Open Windows Services (services.msc)
    • Find CloudBridge Agent
    • Check status (should be Running)
  2. Check agent logs:C:\CloudBridgeAgent\logs\agent-{date}.log
  3. Test network:
    • Check if port 443 to cloudbridge-prod.servicebus.windows.net is reachable
    • Tools: telnet, browser, or contact network administrator
  4. Test connection in BC:
    • VDBC Agents → Open agent → Test Connection

Printer Not Found

Symptom:

  • Error message: „Printer not found“
  • Print job status: „Error“

Causes & Solutions:

CauseCheckSolution
Printer not installed on serverPrinter list on serverInstall printer on agent server
Wrong printer namePrinter card in BCExecute Get Printers again
Printer offlineCheck printer statusTurn on printer / check connection
Service account has no rightsPrinter permissionsGive service account print rights

Diagnostic Steps:

  1. Check printer on server:
    • Control Panel → Devices and Printers
    • View available printers
  2. Get printers from agent:
    • VDBC Print Servers → Get Printers
  3. Print job error details:
    • VDBC Print Jobs → Open job → Error Message field

File Access Denied

Symptom:

  • Error message: „Access denied“ or „Path not found“
  • File cannot be read/written

Causes & Solutions:

CauseCheckSolution
Path outside BasePathappsettings.jsonUse path within BasePath
Service account has no rightsNTFS permissionsGive service account read/write rights
File lockedFile open in another programClose file, retry
Directory doesn’t existCheck pathCreate directory (CreateDirectory)

Diagnostic Steps:

  1. Check agent configuration:
    • appsettings.json → BusinessCentralAgent section
  2. Check permissions:
    • Right-click folder → Properties → Security
    • Service account must have read/write rights
  3. Test path:
    • Open Windows Explorer
    • Navigate to path (e.g., C:\Data\Import\test.txt)
    • Check if file/folder exists

Invalid Azure Relay Connection String

Symptom:

  • Error message: „Invalid Connection String“
  • Agent doesn’t start

Causes & Solutions:

CauseCheckSolution
Wrong formattingConnection String formatUse correct format
SAS policy deletedAzure Portal → Shared Access PoliciesRecreate policy
Hybrid Connection deletedAzure Portal → Hybrid ConnectionsRecreate Hybrid Connection
Wrong permissionPolicy permissionsSend + Listen must be enabled

Correct Format:

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

Diagnostic Steps:

  1. Validate format:
    • All 4 components present? (Endpoint, KeyName, Key, EntityPath)
    • No spaces?
  2. Check in Azure Portal:
    • Relay Namespace → Hybrid Connections → Select connection
    • Shared Access Policies → Select policy
    • Copy Primary Connection String

7. Glossary

Terms

TermDescription
AgentCloudBridge Agent – Windows Service on local server
Azure RelayAzure service for secure hybrid connections (WebSocket-based)
BasePathBase path for file access (e.g., C:\Data) – Agent can only access within
BCBusiness Central
Connection StringConnection information for Azure Relay (contains Endpoint, SAS Key, EntityPath)
ConnectorAL codeunit for communication with agent (File Connector, Print Connector, etc.)
Hybrid ConnectionAzure Relay resource for bidirectional communication
Isolated StorageEncrypted storage in BC for sensitive data (Connection Strings)
Job Queue EntryBC function for scheduled/recurring tasks
KestrelHTTP server for on-premises scenarios (alternative to Azure Relay)
Print JobPrint job in queue (BC table)
Print ServerLogical grouping of printers (1 Print Server per Agent)
SAS TokenShared Access Signature – Authentication for Azure Relay (1h validity)
Service BusAzure Service Bus (Namespace for Relay)

Abbreviations

AbbreviationMeaning
BCBusiness Central
VDBCVisionData Business Connector (object prefix)
SaaSSoftware as a Service (BC Cloud)
OnPremOn-Premises (BC installed locally)
FTPFile Transfer Protocol
SFTPSSH File Transfer Protocol
FTPSFTP over SSL/TLS
TLSTransport Layer Security
SASShared Access Signature
GUIDGlobally Unique Identifier
JSONJavaScript Object Notation