2 回答
TA贡献1995条经验 获得超2个赞
如下:
ICollector 和 IAsyncCollector 可用作存储队列输出绑定的参数类型。
目前,azure 函数绑定仅支持输出绑定以将消息写入队列。或者,如果您不需要使用 HTTP 请求调用队列触发器,则可以使用队列触发器来检索消息。
如果您必须使用 HTTP 请求,假设您必须创建一个 HTTP 触发函数,然后检索并删除队列以实现出队操作,如下面的代码。
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
// Parse the connection string and return a reference to the storage account.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(Environment.GetEnvironmentVariable("AzureWebJobsStorage"));
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
// Retrieve a reference to a queue
CloudQueue queue = queueClient.GetQueueReference("myqueue");
// Async dequeue the message
CloudQueueMessage retrievedMessage = await queue.GetMessageAsync();
Console.WriteLine("Retrieved message with content '{0}'", retrievedMessage.AsString);
//Process the message in less than 30 seconds, and then delete the message
await queue.DeleteMessageAsync(retrievedMessage);
return (ActionResult)new OkObjectResult(retrievedMessage.AsString);
}
- 2 回答
- 0 关注
- 95 浏览
添加回答
举报