How to add filter for azure function service bus topic trigger using python code

I have requirement of : - I have azure function service bus topic trigger by using python code, So the service bus topic having one topic and multiple subscription with in it.

I have to add a sqlfilter to the subscription so that the message which I sent right it should only go to that subscription if the filter condition satisfies and triggers the function app

How to add the filter option in python code. I found multiple of reference in c# but I need for python.

public async Task SendMessage(MyPayload payload)
        {
            string messagePayload = JsonSerializer.Serialize(payload);
            ServiceBusMessage message = new ServiceBusMessage(messagePayload);
 
            message.ApplicationProperties.Add("goals", payload.Goals);
 
            try

for sample I have add the code for c# where there are adding application properties in function app code , so which ever subscription satisfy the condition which is goals = payload.Goals the mgs will go to that subscription.

I want to know how can we add the application properties in python azure function app code for service bus topic trigger

Upvotes: 0

Views: 586

Answers (1)

Anand Sowmithiran
Anand Sowmithiran

Reputation: 2920

Using the python client sdk for Azure Service bus, you can apply SqlFilter and SqlRuleAction before you start processing your messages.

Pseudocode will be like,

servicebus_mgmt_client.create_rule(topicname,sub_name,filtername, filter, action)

send_mesgs_to_topic()  #set filter in your message

receive_mesgs() #received mesg will have properties

See the detailed examples here in github.

Upvotes: 0

Related Questions