簡體   English   中英

具有服務總線觸發器的Azure Function中的自動轉發消息

[英]Auto forward message in Azure Function with Service Bus trigger

當我有自動轉發隊列時,Azure功能無法啟動:

函數XXX錯誤:函數'FunctionXXX'的偵聽器無法啟動。 Microsoft.ServiceBus:無法在啟用了自動轉發的實體上創建消息接收器。

            // Code to create the queue:
            var manager = NamespaceManager.CreateFromConnectionString("ConnectionString");
            manager.CreateQueue(new QueueDescription("myqueue_done")
            {
                RequiresSession = false
            });
            manager.CreateQueue(new QueueDescription("myqueue")
            {
                ForwardTo = "myqueue_done",
                RequiresSession = false
            });

這是我的azure函數:

    [FunctionName("FunctionXXX")]
    public static void Run([ServiceBusTrigger("myqueue", Connection = "AzureSbConnectionString")]string myQueueItem, string messageId, string CorrelationId, TraceWriter log)
    {          

        log.Info($"Message id={messageId}, CorrelationId={CorrelationId}, was processed: {myQueueItem}");
    }

真的有限制嗎? 有沒有更好的方法可以在此Azure函數沙箱方法內移動已處理的消息?

Tks!

這不是功能的限制,而是服務總線的工作方式。

啟用自動轉發后,Service Bus會自動刪除放置在第一個隊列或訂閱(源)中的消息,並將它們放入第二個隊列或主題(目的地)中。

如果您的消息被轉發到另一個隊列並從原始隊列中刪除,則從同一隊列創建手動接收者實際上沒有任何意義。

暫無
暫無

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

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