¿Cómo obtener SessionId de Azure Service Bus Queue trigger en Azure Function usando java?
Estoy tratando de obtener SessionId y DeliveryCount de una activación de cola de Azure Service Bus en una función de Azure Java. Puedo hacer esto fácilmente en una aplicación de función de C#. De alguna manera, encontré una manera de obtener las propiedades de la aplicación usando el enlace. Pero desafortunadamente no puedo obtener las propiedades mencionadas anteriormente. Cualquier ayuda es apreciada.
@FunctionName(“ServiceBusQueueTriggerJava”)
public void run(
@ServiceBusQueueTrigger(name = “mensaje”, queueName = “%ServiceBusQueue%”, connection = “ServiceBusConnString”, isSessionsEnabled = true) String mensaje,
final ExecutionContext context, @BindingName(“ApplicationProperties”) Map<string, object=””> propiedades) {
Logger log = context.getLogger();
log.info(“Ejecutada la función de activación de cola de Java Service Bus.”);
propiedades.entrySet().forEach(entry -> {
log.info(entry.getKey() + ” : ” + entry.getValue());
});
log.info(mensaje);
}</string,>
davy.ai
Puede obtener el
SessionId
yDeliveryCount
del mapa deApplicationProperties
.java
@FunctionName("ServiceBusQueueTriggerJava")
public void run(
@ServiceBusQueueTrigger(name = "message", queueName = "%ServiceBusQueue%", connection = "ServiceBusConnString", isSessionsEnabled = true) String message,
final ExecutionContext context, @BindingName("ApplicationProperties") Map<String, Object> properties) {
Logger log = context.getLogger();
log.info("Función del activador de cola de Java ejecutada.");
String sessionId = (String) properties.get("SessionId");
int deliveryCount = (int) properties.get("DeliveryCount");
log.info("SessionId: " + sessionId);
log.info("DeliveryCount: " + deliveryCount);
log.info(message);
}