【问题标题】: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}");
            }
        }
    }
    

    或者,我已经使用连接服务配置了连接字符串,如下所示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2015-08-06
      相关资源
      最近更新 更多