Umgebungsvariablen

Alle Konfigurationsparameter der DataBridge Function App — mit Standardwerten und Erläuterung.

Die DataBridge Function App wird über Anwendungseinstellungen (Application Settings) konfiguriert. Diese sind im Azure Portal unter Function App → Einstellungen → Umgebungsvariablen zu finden und zu bearbeiten.


Infrastruktur-Verbindungen

Diese Variablen verbinden die Function App mit den zugehörigen Azure-Diensten. Sie werden durch das Deployment automatisch befüllt.

VariablePflichtBeschreibung
AzureWebJobsStorage✅¹Connection String zum Azure Storage Account (Table Storage für die Konfiguration + Function-interner Storage).
ExportQueueServiceBus✅¹Connection String zum Service Bus Namespace (alle Verarbeitungs-Queues)
APPLICATIONINSIGHTS_CONNECTION_STRINGfaktischConnection String zu Application Insights. Ohne den Wert startet die DataBridge trotzdem, gibt aber nur eine Warnung aus und sendet keinerlei Telemetrie — kein Logging, keine Metriken, keine Fehlerdiagnose.

¹ Schlüssel- oder identitätsbasiert. Standardmäßig werden die beiden Connection Strings gesetzt. Ist der Preview-Schalter enableManagedIdentity (Bicep) aktiv, entfallen sie und werden durch die identitätsbasierten Varianten ersetzt — die Function nutzt dann die Managed Identity:

Variable (Identity-Modus)Beschreibung
AzureWebJobsStorage__accountNameName des Storage Accounts. Der Functions-Host leitet Blob/Queue/Table-Endpunkte daraus ab und authentifiziert über die Managed Identity.
ExportQueueServiceBus__fullyQualifiedNamespaceVoll qualifizierter Service-Bus-Namespace (z. B. sbfoo.servicebus.windows.net) für den identitätsbasierten Zugriff.

Lokal (local.settings.json) bleiben die schlüsselbasierten Connection Strings maßgeblich.


Laufzeit-Einstellungen

VariableTypStandardwertPflichtBeschreibung
GetChangesTimerExpressionCRON (6-stellig)*/15 * * * * *✅Taktung des GetChanges-Timers. Bei einer Neuinstallation alle 15 Sekunden.
SkipOutdatedMessagesBooleanfalse—Wenn true: Nachrichten, deren Quell-Zeitstempel älter ist als der Zieldatensatz, werden nicht verarbeitet, sondern nach sbqignored verschoben.

CRON-Ausdruck — Format

Der CRON-Ausdruck nutzt das 6-stellige NCrontab-Format (inkl. Sekunden):

┌─────────── Sekunde  (0–59)
│ ┌───────── Minute   (0–59)
│ │ ┌─────── Stunde   (0–23)
│ │ │ ┌───── Tag      (1–31)
│ │ │ │ ┌─── Monat    (1–12)
│ │ │ │ │ ┌─ Wochentag (0–6, Sonntag=0)
│ │ │ │ │ │
*/15 * * * * *  →  alle 15 Sekunden (Vorgabe)
0 */2 * * * *   →  alle 2 Minuten
0 */5 * * * *   →  alle 5 Minuten
0 0 */1 * * *   →  stündlich

Einzelne Jobs können über das Feld Schedule einen eigenen, seltener greifenden Zeitplan bekommen — siehe Jobs.


Logging & Telemetrie

Die DataBridge steuert ihr Telemetrie-Volumen über zwei Mechanismen: gepuffertes Logging für Log-Einträge und Sampling für ausgehende Aufrufe. Ausführlich beschrieben unter Betrieb → Logging.

VariableTypStandardwertBeschreibung
TELEMETRY_CONTROLStringTRACE_SAMPLEGlobaler Override für beide Sampling-Mechanismen. Werte: TRACE_SAMPLE (selektives Sampling, entspricht auch einem leeren Wert), TRACE_ALL (sendet alles), TRACE_NONE (unterdrückt alles).
TELEMETRY_INFO_SAMPLE_RATEInteger 0–10020Anteil der Information-Einträge, die bei erfolgreichen Läufen gesendet werden. Bei Läufen mit Warnungen oder Fehlern immer 100 %.
TELEMETRY_DEPENDENCY_SAMPLE_RATEInteger 0–10010Anteil der erfolgreichen und schnellen Aufrufe an Quell- und Zielsysteme (D365 OData, SQL, Table Storage, Service Bus), die gesendet werden. Fehlgeschlagene und langsame Aufrufe sind davon nicht betroffen.
TELEMETRY_DEPENDENCY_SLOW_MSInteger (ms)2000Schwellwert, ab dem ein Aufruf als „langsam" gilt und immer gesendet wird — auch bei Erfolg.

Telemetrie-Verhalten im Überblick

Lauf-ErgebnisTraceDebugInformationWarningError
Fehlerfreier Laufnie—~20 % (konfigurierbar)✅✅
Lauf mit Warnungennie—✅ alle✅✅
Lauf mit Fehlernie✅ alle✅ alle✅✅

Trace-Einträge erreichen Application Insights grundsätzlich nie — auch nicht bei Fehler-Läufen. Sie sind ausschließlich live im Log Stream der Function App bzw. im Container-Log sichtbar.

Abhängigkeiten

AufrufWird gesendet
Fehlgeschlagenimmer vollständig
Langsam (≥ TELEMETRY_DEPENDENCY_SLOW_MS)immer vollständig
Erfolgreich und schnellanteilig gemäß TELEMETRY_DEPENDENCY_SAMPLE_RATE

Die Entscheidung fällt hier pro Aufruf und nicht pro Funktionsausführung — ein fehlgeschlagener Lauf enthält deshalb nicht zwangsläufig die erfolgreichen Aufrufe davor.


Funktionen gezielt deaktivieren

Einzelne Azure Functions können ohne Redeployment deaktiviert werden. Das ist nützlich, um z. B. die Quellabruf-Funktion zu stoppen, ohne die Queue-Verarbeitung zu unterbrechen.

VariableBetrifftWert zum Deaktivieren
AzureWebJobs.GetChanges.DisabledTimer-Funktion (Quellabruf)true
AzureWebJobs.ProcessStandardQueueItems.DisabledStandard-Prioritäts-Queuetrue
AzureWebJobs.ProcessHighPriorityQueueItems.DisabledHoch-Prioritäts-Queuetrue
AzureWebJobs.ProcessLowPriorityQueueItems.DisabledNiedrig-Prioritäts-Queuetrue

Das Namensschema AzureWebJobs.<Funktionsname>.Disabled gilt für jede Function der App. Neben den vier betrieblich relevanten oben sind das:

ExecuteJob · ExecuteHttpRequest · GetInfo · Validate · CheckList · StartGetChangesOrchestration · GetChangesOrchestrator · GetChangesActivity · JobState

Die letzten vier gehören zur optionalen Durable-Orchestrierung, die im Regelbetrieb ohnehin nicht aktiv ist.


Plattform-Einstellungen — nicht verändern

Diese Werte setzt das Deployment. Sie steuern die Azure-Functions-Laufzeit selbst und haben keinen fachlichen Bezug zur DataBridge:

VariableWertBedeutung
FUNCTIONS_EXTENSION_VERSION~4Version der Azure-Functions-Runtime
FUNCTIONS_WORKER_RUNTIMEdotnet-isolatedWorker-Modell (.NET Isolated Worker)
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING= AzureWebJobsStorageAblage des Function-Contents
WEBSITE_RUN_FROM_PACKAGE1Ausführung direkt aus dem Deployment-Paket

Nur im Container-Betrieb

VariableWertBedeutung
AzureWebJobsSecretStorageTypefilesWeist die Runtime an, Function-Keys ins Dateisystem zu schreiben. Ohne diesen Wert sind HTTP-Trigger mit Function-Authentifizierung nicht aufrufbar.

Key Vault (optional)

Statt Connection Strings direkt in den Anwendungseinstellungen zu speichern, können diese in einem Azure Key Vault hinterlegt werden. Die Function App referenziert das Secret dann per Key Vault Reference:

@Microsoft.KeyVault(SecretUri=https://<vault>.vault.azure.net/secrets/<name>/)

Diese Referenz wird direkt als Wert der jeweiligen Umgebungsvariable eingetragen. Azure löst sie zur Laufzeit automatisch auf — ohne Änderungen am Code.

Für die Zugangsdaten zu Quell- und Zielsystemen gibt es einen zweiten, davon unabhängigen Weg über den Parameter keyVaultUrl im Verbindungs-JSON — siehe Verbindungen.