我有一个计时器azure函数,该函数调用存储的proc,并且proc返回记录集。使用计时器函数签名上的输出绑定,从记录集中获取值并将其推入队列的最佳方法是什么。
我需要能够浏览表的内容并将一列值推入队列。如果记录集中有50条记录,则队列中将有50个条目。
这是我的代码
public static void FieldDevicePollingStatusDispatch_Run ([TimerTrigger("%ScheduleDispatch%")]TimerInfo myTimer,
[Queue("%DispatchQueueName%", Connection = "AVStorageAccessKey")] out string msg, //output binding
ILogger log)
{
oConnect.Open();
DataTable oDataTable = new DataTable();
SqlCommand objCommand = new SqlCommand("CallProc", oConnect);
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Connection = oConnect;
SqlDataAdapter oDataAdapter = new SqlDataAdapter(objCommand);
oDataAdapter.Fill(oDataTable);
msg = // Content from the table, need one column from table.
}
答案 0 :(得分:1)
您可以使用return
attribute:
[StorageAccount("AzureWebJobsStorage")]
public static class QueueFunctions
{
[FunctionName("QueueOutput")]
[return: Queue("myqueue-items")]
public static string QueueOutput([HttpTrigger] dynamic input, ILogger log)
{
log.LogInformation($"C# function processed: {input.Text}");
return input.Text;
}
}