Retrieve Correlation Id of a Service Bus Message in Azure Function
Rahul Baskar
0
Reputation points
A message on an Azure Service Bus queue triggers Azure Function. Receiving simple message and performing a logging activity of the message body is successfull.
But when I want to retrieve Broker Properties like Correlation Id, its resulting in error. Below is how I am trying to fetch Correlation Id and other properties.
package com.function.servicebus;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;
import com.azure.messaging.servicebus.ServiceBusMessage;
import com.azure.messaging.servicebus.ServiceBusReceivedMessage;
/**
* Azure Functions with Service Bus Trigger.
*/
public class LoggerServiceBus {
/**
* This function will be invoked when a new message is received at the Service Bus Queue.
*/
@FunctionName("loggerServiceBus")
public void run(
//@ServiceBusQueueTrigger(name = "message", queueName = "orders", connection = "AzureServiceBus") String message,
@ServiceBusQueueTrigger(name = "message", queueName = "orders", connection = "AzureServiceBus") ServiceBusReceivedMessage message,
final ExecutionContext context
) {
message.getApplicationProperties().toString();
context.getLogger().info("Java Service Bus Queue trigger function executed.");
//context.getLogger().info("Data: " + message.getSessionId());
context.getLogger().info("Received Message: " + message.getBody().toString());
context.getLogger().info("Message ID: " + message.getMessageId());
context.getLogger().info("Correlation ID: " + message.getCorrelationId());
//context.getLogger().info("Content Type: " + message.getContentType());
//context.getLogger().info("Sequence Number: " + message.getSequenceNumber());
//message.getApplicationProperties().forEach((key,value) ->
//context.getLogger().info("Custom Property - " + key + ": " + value)
//);
}
}
Sign in to answer