java - 在带有azure函数@ServiceBusQueueTrigger的java中,如何获取Label,Custom Properties和Broker Properties?

标签 java azure azure-functions

这是JAVA中的azure网页示例,用于从azure服务总线获取消息内容:

    @FunctionName("sbprocessor")
 public void serviceBusProcess(
    @ServiceBusQueueTrigger(name = "msg",
                             queueName = "myqueuename",
                             connection = "myconnvarname") String message,
   final ExecutionContext context
 ) {
     context.getLogger().info(message);
 }

这仅返回消息的内容。如何获取您可以在服务总线资源管理器中看到的其他字段:标签、自定义属性和代理属性?

最佳答案

您可以通过向方法参数添加 @BindingName("UserProperties") 等注释来检索消息元数据,如下所示。您可以使用 binding expression 绑定(bind)到消息的任何元数据。在下面的例子中,它是“属性”和“标签”。

    @FunctionName("sbprocessor")
    public void serviceBusProcess(
        @ServiceBusQueueTrigger(name = "msg", queueName = "myqueuename", connection = "myconnvarname") 
        String message,
        final ExecutionContext context,
        @BindingName("UserProperties")
        Map<String, Object> properties,
        @BindingName("Label")
        String label) {

            context.getLogger().info("Message received: " + message + " , properties: " + properties + " , label: " + label);
    }

我使用 Service Bus Explorer 作为消息发送者来设置消息的元数据,如下所示,并且能够在“UserProperties”绑定(bind)中使用上述代码在消费者端查看这些元数据。 enter image description here

注意C# 函数 SDK 在这方面比 Java 有优势。在 C# 中,您可以获得整个 BrokeredMessage 对象,这样更容易直接导航元数据。但不幸的是,目前在 Java SDK 中这是不可能的,您必须单独绑定(bind)。

关于java - 在带有azure函数@ServiceBusQueueTrigger的java中,如何获取Label,Custom Properties和Broker Properties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64554593/

相关文章:

visual-studio - 启动Azure Function时,不要自动启动模拟器等

java - 有没有办法在运行时分配Java中的类?

java - 处理(Java可视化语言): spinning rectangle leaving odd fading trail effect with rectMode(CENTER) but not rectMode(CORNER)

Django 和 Azure Web 应用程序 : Run command on deployment

c# - 如何在azure函数中处理dbContext?

python - 无法从 Azure 事件中心写入 CosmosDB

java - 多态性中 Java Lambda 表达式的有趣行为

java - 我可以在JAVA中的catch中启动一个线程吗

azure - Azure IoT 中心是否支持 CoAP 协议(protocol)?

node.js - Azure 网站 : Kudu fails to install