【问题标题】:Empty guid id in QueueTriggerQueueTrigger 中的空 guid id
【发布时间】:2023-02-26 19:12:53
【问题描述】:
我从队列中收到的每个 id 的值都是“00000000-0000-0000-0000-000000000000”,而不是例如:
这是我的代码:
[FunctionName("FunctionName")]
[Singleton("{Path}", SingletonScope.Function, Mode = SingletonMode.Listener)]
public async Task Run(
[QueueTrigger("externalQueue", Connection = ConfigurationConstants.ConnectionString)]
BaseQueueRequest req,
ILogger logger,
string id)
{
// ...
}
我创建这个主题是因为 here 的解决方案对我不起作用。
对于服务总线触发器,它工作正常,但是当我切换到 QueueTrigger 并将 messageId 更改为 Id 时,但我总是收到一个错误的 ID。
我的问题是如何从消息中接收真实身份?
【问题讨论】:
标签:
azure
azure-functions
queuetrigger
【解决方案1】:
从结束复制后,当我在我的 local.settings.json 中配置连接字符串时,这对我来说工作正常。
连接到云存储时:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "constre",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"constre": "<CONNECTIONSTRING>"
}
}
连接到本地存储时:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
下面是我的function.json
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace FunctionApp9
{
public class Function3
{
[FunctionName("Function3")]
public void Run([QueueTrigger("myqueue-items", Connection = "constre")]string myQueueItem, ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
}
}
}
或者,我已经使用连接服务配置了连接字符串,如下所示。