I completed Azure solution: Azure Function, Service Bus, Python SDK code. My Function is triggered by Service Bus message. Function is triggered as expected. Function code below
import logging
import json
import requests
import azure.functions as func
def main(msg: func.ServiceBusMessage):
logging.info('Python ServiceBus queue trigger processed message: %s',
msg.get_body().decode('utf-8'))
url = 'WebHookURL'
payload = {"keyA": "valueA"}
requests.post(url, data=json.dumps(payload), headers={'Content-Type': 'application/json'})
Question is how can I get Service bus message nested values.
In Ms documentation I found an example, below, but how to get message body details ('body': msg.get_body().decode('utf-8')). Message body is the core of the solution because in this message body there are a lot of key:value properties delivered by external service.
def main(msg: func.ServiceBusMessage):
logging.info('Python ServiceBus queue trigger processed message.')
result = json.dumps({
'message_id': msg.message_id,
'body': msg.get_body().decode('utf-8'),
'content_type': msg.content_type,
'expiration_time': msg.expiration_time,
'label': msg.label,
'partition_key': msg.partition_key,
'reply_to': msg.reply_to,
'reply_to_session_id': msg.reply_to_session_id,
'scheduled_enqueue_time': msg.scheduled_enqueue_time,
'session_id': msg.session_id,
'time_to_live': msg.time_to_live,
'to': msg.to,
'user_properties': msg.user_properties,
'metadata' : msg.metadata
}, default=str)