Freigeben über


Übersicht über den Azure Service Bus-Emulator

Der Azure Service Bus-Emulator bietet eine lokale Entwicklungsumgebung für den Service Bus-Dienst. Sie können den Emulator verwenden, um Code für den Dienst isoliert und ganz ohne Cloudeinflüsse zu entwickeln und zu testen.

Vorteile

Die Verwendung des Emulators bietet die folgenden Hauptvorteile:

  • Lokale Entwicklung: Der Emulator bietet eine lokale Entwicklungsumgebung, sodass Sie offline arbeiten und Netzwerkwartezeit vermeiden können.
  • Kosteneffizienz: Mit dem Emulator können Sie Ihre Anwendungen testen, ohne dass dabei Kosten für die Cloudnutzung anfallen.
  • Isolierte Testumgebung: Sie können Ihren Code isoliert testen und so sicherstellen, dass die Tests nicht durch andere Aktivitäten in der Cloud beeinflusst werden.
  • Optimierte innere Entwicklungsschleife: Sie können den Emulator verwenden, um schnell Prototypen für Ihre Anwendungen zu erstellen und Ihre Anwendungen zu testen, bevor Sie sie in der Cloud bereitstellen.

Hinweis

Der Service Bus-Emulator ist im Rahmen der Microsoft-Software-Lizenzbedingungen verfügbar.

Der Service Bus-Emulator ist nicht mit dem Open Source Service Bus Explorer kompatibel

Features

Der Emulator bietet folgende Features:

  • Containerisierte Bereitstellung: Er wird als (Linux-basierter) Docker-Container ausgeführt.
  • Plattformübergreifende Kompatibilität: Der Emulator kann auf allen Plattformen verwendet werden, einschließlich Windows, macOS und Linux.
  • Konfigurierbarkeit: Sie können die Anzahl von Service Bus-Entitäten mithilfe der bereitgestellten JSON-Konfiguration verwalten.
  • Streamingunterstützung: Der Emulator unterstützt das Streamen von Nachrichten per AMQP (Advanced Message Queuing Protocol).
  • Einblick: Der Emulator bietet Einblickfeatures wie Konsolen- und Dateiprotokollierung.

Bekannte Einschränkungen

Für die aktuelle Version des Emulators gelten folgende Einschränkungen:

  • Nachrichten können nicht unter Verwendung des JMS-Protokolls gestreamt werden.
  • Partitionierte Entitäten sind nicht mit dem Emulator kompatibel.
  • Der Emulator unterstützt keine Verwaltungsvorgänge während der Ausführung über ein clientseitiges SDK.

Hinweis

Nach einem Containerneustart bleiben Daten und Entitäten im Emulator nicht erhalten.

Unterschiede zum Clouddienst

Da der Service Bus-Emulator nur für Dev/Test-Zwecke vorgesehen ist, gibt es Funktionsunterschiede zwischen dem Emulator und dem Clouddienst.

Folgende allgemeine Features werden vom Emulator nicht unterstützt:

  • Azure-Features wie VNet-Integration, Microsoft Entra ID-Integration, Aktivitätsprotokolle und ein Benutzeroberflächenportal
  • Autoskalierungsfunktionen
  • Funktionen für die georedundante Notfallwiederherstellung
  • Unterstützung für umfangreiche Nachrichten
  • Visuelle Metriken und Warnungen

Hinweis

Der Emulator ist ausschließlich für Dev/Test-Szenarien vorgesehen. Von einer Verwendung in Produktionsszenarien wird abgeraten. Wir bieten keinen offiziellen Support für den Emulator.

Melden Sie alle Probleme oder Vorschläge im GitHub-Installer-Repository des Emulators.

Nutzungskontingente

Der Emulator stellt genau wie der Service Bus-Clouddienst folgende Kontingente für die Verwendung bereit:

Eigenschaft Höchstwert Innerhalb der Grenzwerte vom Benutzer konfigurierbar
Anzahl unterstützter Namespaces 1 No
Anzahl der Entitäten (Warteschlangen/Themen) in einem Namespace 50 Ja
Anzahl von Abonnements pro Thema 50 Ja
Anzahl von Korrelationsfiltern pro Thema 1.000 Ja
Maximale Anzahl gleichzeitiger Verbindungen zu einem Namespace 10 Ja
Anzahl der gleichzeitigen Empfangsanforderungen für eine Entität (Warteschlange/Thema) oder Abonnemententität 200 Ja
Nachrichtengröße 256 KB No
Größe von Warteschlangen oder Themen 100 MB No
Gültigkeitsdauer der Nachricht 1 Std. Ja

Änderungen an der Kontingentkonfiguration

Standardmäßig wird der Emulator mit der Konfigurationsdatei config.json ausgeführt. Sie können die mit Service Bus verknüpften Kontingente konfigurieren, indem Sie diese Datei gemäß Ihren Anforderungen wie folgt bearbeiten:

  • Entitäten: Sie können weitere Service Bus-Entitäten gemäß den unterstützten Kontingenten hinzufügen.
  • Protokollierung: Der Emulator unterstützt die Protokollierung in einer Konsole und/oder in einer Datei. Verwenden Sie die Option, die am besten zu Ihren persönlichen Präferenzen passt.

Wichtig

Änderungen müssen vor dem Ausführen des Emulators in der JSON-Konfiguration angegeben werden. Änderungen während der Ausführung werden nicht berücksichtigt. Damit Änderungen wirksam werden, muss der Container neu gestartet werden.

Der vordefinierte Namespace (name) in der Konfigurationsdatei kann nicht umbenannt werden.

Protokolle zum Debuggen

Während des Testens helfen Ihnen Konsolen- oder Dateiprotokolle beim Debuggen unerwarteter Fehler. So überprüfen Sie die Protokolle

  • Konsolenprotokolle: Wählen Sie auf der Desktopbenutzeroberfläche von Docker den Containernamen aus.
  • Dateiprotokolle: Navigieren Sie im Container zu /home/app/EmulatorLogs.

Ausführen lokaler Tests mithilfe des Azure Service Bus-Emulators