[英]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.