我有一個帶有服務總線主題觸發器的天藍色函式。每次服務總線主題收到訊息時,都會觸發此功能。
我使用以下命令將輸出系結添加到 Blob 存盤:

但是當函式運行時,我在 blob 存盤中看不到任何輸出。我確定我缺少一些基本代碼。
我看到了多個樣本,但每個樣本都使用 Blob 存盤觸發器。
uj5u.com熱心網友回復:
我已經在我的環境中復制并得到了預期的結果,我遵循了以下程序:
在我的 run.csx 中:
using System;
using System.Threading.Tasks;
public static void Run(string myQueueItem, ILogger log,ICollector<string> outputQueueItem)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
outputQueueItem.Add(myQueueItem);
}

在我的集成中,我添加了如下輸出:

在 function.json 中:
{
"bindings": [
{
"name": "myQueueItem",
"connection": "Con",
"queueName": "rithwik",
"direction": "in",
"type": "serviceBusTrigger"
},
{
"name": "outputQueueItem",
"direction": "out",
"type": "queue",
"connection": "AzureWebJobsStorage",
"queueName": "outqueue"
}
]
}
在服務總線佇列中發送訊息如下:

在我的存盤帳戶中,創建了一個新佇列,如下所示,我也收到了訊息:


因此,您需要ouputQueueItem.Add在代碼和ICollector<string> outputQueueItem引數中添加作為我的示例。現在你也會像我一樣得到輸出。
編輯:
我在代碼中添加了幾行,請檢查:
運行.csx:
using System;
using System.Threading.Tasks;
public static void Run(string myQueueItem, ILogger log,ICollector<string> outputQueueItem,TextWriter outputBlob)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
outputQueueItem.Add(myQueueItem);
outputBlob.WriteLine(myQueueItem);
}
函式.json:
{
"bindings": [
{
"name": "myQueueItem",
"connection": "Con",
"queueName": "rithwik",
"direction": "in",
"type": "serviceBusTrigger"
},
{
"name": "outputQueueItem",
"direction": "out",
"type": "queue",
"connection": "AzureWebJobsStorage",
"queueName": "outqueue"
},
{
"name": "outputBlob",
"direction": "out",
"type": "blob",
"path": "outcontainer/{rand-guid}",
"connection": "AzureWebJobsStorage"
}
]
}
在集成中:

容器和 blob 創建如下:

內部容器:

因此,我在TextWriter 代碼中進行了一些更改,例如引數和 WriteLine,我們可以獲得預期的結果,希望這可以消除您的疑問。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/520498.html
