【发布时间】:2018-06-07 09:41:37
【问题描述】:
我创建了一个 ServicesBus 队列并开始发送数千条消息
await queueClient.SendBatchAsync(brokeredMessagesList);
另一方面,我创建了 azure 函数来接收来自 ServicesBus 队列的消息。这是我的代码
public static async Task RunAsync([ServiceBusTrigger("batch-input", AccessRights.Manage,
Connection = "ServiceBusConnection")]BrokeredMessage message, TraceWriter log)
{
string body;
using (var stream = message.GetBody<Stream>())
using (var streamReader = new StreamReader(stream, Encoding.UTF8))
{
body = await streamReader.ReadToEndAsync();
}
SampleMessage sampleMessage = JsonConvert.DeserializeObject<SampleMessage>(body);
await SaveMessageIntoAzureTableAsync(sampleMessage);
//await message.CompleteAsync();
log.Info($"Message body: {sampleMessage}");
}
这段代码在我的本地工作,但我对缩放和批处理更感兴趣。
如果队列中没有大量消息,Azure 函数缩放将如何工作?我没有看到任何文档
预取计数设置将应用于本地? here我看到默认预取计数是100。
我应该什么时候调用完整的方法(不管有没有这个我的代码都在工作)?
await message.CompleteAsync();
【问题讨论】:
标签: azure azure-functions azureservicebus