簡體   English   中英

如果 Azure 服務總線隊列觸發器功能失敗,如何將隊列消息返回到 Azure 服務總線隊列

[英]How to return queue message to Azure Service Bus Queue if Azure Service Bus Queue Trigger Func Fails

我使用Visual Studio Code創建了Azure 服務總線隊列觸發器 Python Function如果我的代碼失敗,我想將消息返回到服務總線隊列

import requests
import azure.functions as func
from requests.exceptions import HTTPError

def main(msg: func.ServiceBusMessage):
    message = msg.get_body().decode("utf-8")

    url = "http://..."

    # My code
    try: 
         requests.post(url=url, params=message)
    except Exception as error:
         logging.error(error)
         # RETURN MESSAGE TO QUEUE HERE

我找到了一些關於解鎖()放棄()方法的信息,但我不知道如何實現它。 以下是此類文檔的鏈接:

我還發現如果 function 失敗,隊列會自動將消息發送到隊列,但是,我應該寫一個raise...在 function 中發送一個異常嗎?

另外,有沒有辦法將此消息返回到隊列並設置稍后重試的計划

服務總線觸發器 python function 在 PeekLock 模式下運行。 您不必調用 unlock() 和放棄() 方法。 檢查PeekLock 行為描述:

Functions 運行時在 PeekLock 模式下接收消息。 如果 function 成功完成,它會在消息上調用 Complete,如果 function 失敗,它會調用 Abandon。 如果 function 運行時間超過 PeekLock 超時時間,則只要 function 正在運行,鎖就會自動更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM