使用C#中的Azure函数添加到队列

问题描述 投票:0回答:1

我有以下功能:

[FunctionName("Function1")]
public static HttpResponseMessage Run(
    [HttpTrigger(AuthorizationLevel.Function, "post")]HttpRequestMessage req,             
    TraceWriter log,
    [Queue("myqueuename")] ICollector<string> queue)
{
    . . .
    queue.Add(msg);

当我调用它时,我没有得到任何错误,并且该函数似乎正确运行(我在VS atm本地运行它)。但是,有问题的队列不会被添加到。

环顾网络,我看到至少有一个建议使用BrokeredMessage类的例子可能有效。我尝试过使用BrokeredMessage

BrokeredMessage bm = new BrokeredMessage(new test() {test1 = msg});
queue.Add(bm);

这给出了一个错误,说它无法读取DeliveryCount

这让我有两个问题:首先,这应该使用ICollector<string>(如果是这样,我做错了什么)?第二个问题与BrokeredMessage有关 - 它似乎存在于一个名为ServiceBusv1_1的Nuget包中,其描述让我觉得它不是为了这个目的:是正确的包吗?

c# azure azureservicebus
1个回答
1
投票

Queue属性表示Azure存储队列,而不是服务总线。请改用ServiceBus属性。

有了这个,stringBrokeredMessage输出应该工作正常。

您可以浏览docs中的示例。

© www.soinside.com 2019 - 2024. All rights reserved.