基于ServiceBus触发Azure函数并写回不工作(Python)

Triggering Azure Function based on ServiceBus and writing back not working (Python)(基于ServiceBus触发Azure函数并写回不工作(Python))
本文介绍了基于ServiceBus触发Azure函数并写回不工作(Python)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Python Azure函数,它根据主题的消息触发,它独立工作得很好。然而,如果我随后尝试将消息也写入到不同的ServiceBus队列中,它将不起作用(因为在Azure函数中,如果将新消息发布到主题,甚至不会触发)。当我包含msg_out: func.Out[str]组件时,感觉触发器条件不满足。如有任何帮助,我们将不胜感激!

__init.py

import logging
import azure.functions as func

def main(msg: func.ServiceBusMessage, msg_out: func.Out[str]):
    # Log the Service Bus Message as plaintext

    # logging.info("Python ServiceBus topic trigger processed message.")
    logging.info("Changes are coming through!")
   
    msg_out.set("Send an email")

unction.json

{
  "scriptFile": "__init__.py",
  "entryPoint": "main",
  "bindings": [
    {
      "name": "msg",
      "type": "serviceBusTrigger",
      "direction": "in",
      "topicName": "publish-email",
      "subscriptionName": "validation-sub",
      "connection": "Test_SERVICEBUS"
    },
    {
      "type": "serviceBus",
      "direction": "out",
      "connection": "Test_SERVICEBUS",
      "name": "msg_out",
      "queueName": "email-test"
    }
  ]
}

Host.json

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[2.*, 3.0.0)"
  },
  "extensions": {
    "serviceBus": {
        "prefetchCount": 100,
        "messageHandlerOptions": {
            "autoComplete": true,
            "maxConcurrentCalls": 32,
            "maxAutoRenewDuration": "00:05:00"
        },
        "sessionHandlerOptions": {
            "autoComplete": false,
            "messageWaitTimeout": "00:00:30",
            "maxAutoRenewDuration": "00:55:00",
            "maxConcurrentSessions": 16
        }
    }
}
}

推荐答案

我可以重现您的问题,这似乎是由以下错误引起的:

不允许使用属性essionHandlerOptions。

删除sessionHandlerOptions可以正常触发。

这篇关于基于ServiceBus触发Azure函数并写回不工作(Python)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)