Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Azure Service Bus-Emulator bietet eine lokale Entwicklungserfahrung 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 unter den Microsoft-Software-Lizenzbedingungen verfügbar.
Der Service Bus-Emulator ist nicht mit dem communityeigenen Open Source Service Bus Explorer kompatibel.
Funktionen
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 der ServiceBus-Entitäten mithilfe des ServiceBus-Verwaltungsclients oder 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:
- Er kann keine Nachrichten mit dem JMS-Protokoll streamen.
- Partitionierte Entitäten sind nicht mit dem Emulator kompatibel.
- AMQP-Websockets werden nicht unterstützt. AMQP TCP ist der einzige unterstützte Transporttyp.
Hinweis
Nach einem Containerneustart bleiben Daten und Entitäten im Emulator nicht erhalten.
Unterschiede zum Clouddienst
Da der Service Bus-Emulator nur für Entwicklungs- und Testzwecke vorgesehen ist, gibt es funktionale Unterschiede 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 für Entwicklungs- und Testszenarien vorgesehen, insbesondere für sequenzielle Testanwendungsfälle. Verwenden Sie den Service Bus-Emulator nicht für Produktionsworkloads, da er keine SLA bietet.
Wir bieten keinen offiziellen Support für den Emulator. Melden Sie alle Probleme oder Vorschläge im GitHub-Installer-Repository des Emulators.
Nutzungskontingente
Wie der Dienstbus-Clouddienst stellt der Emulator die folgenden Kontingente für die Verwendung bereit:
| Eigenschaft | Maximalwert | Innerhalb der Grenzwerte vom Benutzer konfigurierbar |
|---|---|---|
| Anzahl unterstützter Namespaces | 1 | Nein |
| Anzahl der Entitäten (Warteschlangen/Themen) in einem Namespace | 50 | Ja |
| Anzahl der Abonnements pro Thema | 50 | Ja |
| Anzahl von Korrelationsfiltern pro Thema | 1.000 | Ja |
| Anzahl von SQL-Filtern pro Thema | 70 | Ja |
| Länge der Filterbedingung oder Regelaktionszeichenfolge | 1,024 | Ja |
| Anzahl der Ausdrücke pro Regelaktion | 32 | Ja |
| Anzahl der parallelen Verbindungen zum Namespace | 10 | Ja |
| Anzahl der parallelen Anfragen auf Entitäten (Warteschlange/Thema) oder Abonnement-Entitäten | 200 | Ja |
| Nachrichtengröße | 256 KB | Nein |
| Größe von Warteschlangen oder Themen | 100 MB | Nein |
| Time-to-Live der Nachricht | 1 Std. | Ja |
Das SQL-Filterlimit gilt pro Thema und wird über alle Abonnements zu diesem Thema verteilt.
Erstellen und Verwalten von Entitäten im Service Bus-Emulator
Mithilfe des Service Bus-Verwaltungsclients können Sie Service Bus-Entitäten wie Warteschlangen und Themen erstellen und verwalten. Standardmäßig wird der Emulator mit der Konfigurationsdatei config.json ausgeführt. Sie können auch deklarative Änderungen an der Konfigurationsdatei gemäß Ihren Anforderungen vornehmen:
- Entitäten: Sie können weitere Service Bus Entitäten entsprechend 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.
Bei der Emulatorinitialisierung setzen einstellungen, die in der Konfigurationsdatei definiert sind, alle Entitäten außer Kraft, die zuvor mithilfe des Service Bus-Verwaltungsclients erstellt oder geändert wurden.
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.