I am trying to send a message to a service bus in azure. But I get following error:
ServiceBusError: Handler failed: DefaultAzureCredential failed to retrieve a token from the included credentials.
This is the line that fails: credential = DefaultAzureCredential()
Anyone has a sample on how to add a message to a servicebus or similar?
Notebook:
import nest_asyncio
import asyncio
from azure.servicebus import ServiceBusMessage
from azure.servicebus.aio import ServiceBusClient
from azure.identity.aio import DefaultAzureCredential
nest_asyncio.apply()
local_user = dbutils.notebook.entry_point.getDbutils().notebook().getContext().userName().get()
FULLY_QUALIFIED_NAMESPACE = "xxx.servicebus.windows.net"
TOPIC_NAME = "xxoutbound"
credential = DefaultAzureCredential()
token = credential.get_token('xxx')
print(token)
async def send_single_message(sender):
message = ServiceBusMessage("Single Message")
await sender.send_messages(message)
print("Sent a single message")
async def run():
async with ServiceBusClient(
fully_qualified_namespace=FULLY_QUALIFIED_NAMESPACE,
credential=credential,
logging_enable=True) as servicebus_client:
sender = servicebus_client.get_topic_sender(topic_name=TOPIC_NAME)
async with sender:
await send_single_message(sender)
await credential.close()
asyncio.run(run())