队列中设置的Azure计时器功能输出绑定记录

时间:2019-05-30 21:34:35

标签: sql-server azure-functions

我有一个计时器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.

        }

1 个答案:

答案 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;
    }
}