【问题标题】:Azure Functions - use queue trigger with managed identityAzure Functions - 将队列触发器与托管标识一起使用
【发布时间】:2022-01-11 22:36:46
【问题描述】:

我正在尝试将托管标识与 Azure Functions V3 和 QueueTrigger 一起使用。 功能代码定义如下:

 [Function("ProcessUserData")]
 public async Task ProcessUserData([QueueTrigger("%QueueSettings:UserDataQueue%", Connection = "QueueSettings:StorageAccount")] string queueItem, FunctionContext context)
 {
      var logger = context.GetLogger<QueueListener>();
      ... 
 }

根据微软文档,这应该可以通过定义一些额外的配置属性来实现

  • __凭据
  • __queueServiceUri

https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference?tabs=blob#local-development-with-identity-based-connections

我的 local.settings.json 看起来像这样:

// "QueueSettings:StorageAccount": "",
"QueueSettings:StorageAccount__queueServiceUri": "https://mytestfa.queue.core.windows.net/",
"QueueSettings:StorageAccount__credential": "managedidentity",

尝试在本地运行项目时出现以下错误:

[2021-12-06T18:07:53.181Z]“ProcessUserData”函数出错:Microsoft.Azure.WebJobs.Host:错误索引方法“Functions.ProcessUserData”。 Microsoft.Azure.WebJobs.Extensions.Storage:存储帐户连接字符串“AzureWebJobsQueueSettings:StorageAccount”不存在。确保它是已定义的应用设置。

当我使用并清空连接字符串时,我得到另一个错误:

"QueueSettings:StorageAccount": "",
"QueueSettings:StorageAccount__queueServiceUri": "https://mytestfa.queue.core.windows.net/",
"QueueSettings:StorageAccount__credential": "managedidentity",

错误:

[2021-12-06T18:25:20.262Z]“ProcessUserData”函数出错:Microsoft.Azure.WebJobs.Host:错误索引方法“Functions.ProcessUserData”。 Microsoft.Azure.WebJobs.Extensions.Storage:“AzureWebJobsQueueSettings:StorageAccount”的存储帐户连接字符串无效。

当使用完整的连接字符串和帐户密钥时,这可以正常工作,但我们必须使用托管身份。 我已升级到最新版本的 Azure Functions Core Tole (3.0.3904),并且正在使用 Visual Studio 2022。

应该起作用的其他文档: https://devblogs.microsoft.com/azure-sdk/introducing-the-new-azure-function-extension-libraries-beta/

感谢您提供任何见解。

【问题讨论】:

标签: c# azure azure-functions


【解决方案1】:

我能够通过安装 NuGet 包“Microsoft.Azure.Functions.Worker.Extensions.Storage”的 5.0.0-beta.4 版本来解决此问题。

现在托管识别功能正在按预期工作。 希望这将很快进入 GA。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 2018-12-26
    • 2021-12-29
    相关资源
    最近更新 更多