An Azure service that provides cloud messaging as a service and hybrid integration.
Hi @Hiroshi Tashiro ,
Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.
The behavior you are seeing is a known limitation of the current Azure Service Bus Emulator.
The Root Cause: There is a distinction between the Data Plane (sending/receiving messages) and the Control Plane (managing entities, checking counts, verifying rules).
-
ServiceBusClient(Working): Your manual client code uses pure AMQP (Data Plane) to send/receive, which the emulator supports fully. -
ServiceBusTrigger(Failing): The Azure Functions Runtime tries to perform Management operations (Control Plane) during startup—such as verifying the subscription exists, checking active message counts for scaling, or validating filters. The emulator currently does not fully implement these management endpoints. As a result, the Functions Host fails to "bind" the listener, even though the connection string is valid.
Recommended Workarounds:
- Use a Queue for Local Testing: The emulator's support for Queues is much more robust than for Topics/Subscriptions. If you are just testing the processing logic of your function, switch the trigger to a Queue temporarily for local Docker runs.
- Use a Real Dev Namespace: For testing Topic/Subscription triggers specifically (especially with filters), it is currently recommended to use a real Azure Service Bus namespace (Basic or Standard tier) instead of the emulator.