Ü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.
Zugehöriger Inhalt
Ausführen lokaler Tests mithilfe des Azure Service Bus-Emulators