'How to dynamically Configure different "SubscriptionProperties" for Azure ServiceSub Subscription in C#

I'm trying to configure Azure ServiceBus Topic Subscription dynamically(using C#) with all of its properties which we can set up using Azure Portal.

I have tried the below code, but it's giving me an "object reference error" for SubscriptionProperties while setting up its values.

    static SubscriptionProperties subscriptionProperties;
    static async Task Main(string[] args)
    {
        adminClient = new ServiceBusAdministrationClient(connectionString);
        client = new ServiceBusClient(connectionString);
        

        subscriptionProperties.AutoDeleteOnIdle = TimeSpan.FromDays(14);
        subscriptionProperties.DefaultMessageTimeToLive = TimeSpan.FromDays(14);
        subscriptionProperties.TopicName = topicName;
        subscriptionProperties.SubscriptionName = subscriptionName;
        subscriptionProperties.MaxDeliveryCount = 3;
        subscriptionProperties.LockDuration = TimeSpan.FromSeconds(5.00);
        subscriptionProperties.DeadLetteringOnMessageExpiration = true;
        subscriptionProperties.EnableDeadLetteringOnFilterEvaluationExceptions = true;

        Console.WriteLine($"Creating the subscription {subscriptionName} with a correlation filter");
        
        if (!await adminClient.SubscriptionExistsAsync(topicName, subscriptionName))
        {
            await adminClient.CreateSubscriptionAsync(
                    new CreateSubscriptionOptions(subscriptionProperties),
                    new CreateRuleOptions(subscriptionFilterName, new CorrelationRuleFilter() { Subject = correlationFilterValue }));

        }
}

Let me know if this is the correct way of setting the property values for "SubscriptionProperties" class or how can I do so?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source