Azure Functions - 使用具有托管标识的队列触发器

2024-04-28

我正在尝试将托管标识与 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://learn.microsoft.com/en-us/azure/azure-functions/functions-reference?tabs=blob#local-development-with-identity-based-connections https://learn.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",

Error:

[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。

附加文档表明这should work: https://devblogs.microsoft.com/azure-sdk/introducing-the-new-azure-function-extension-libraries-beta/ https://devblogs.microsoft.com/azure-sdk/introducing-the-new-azure-function-extension-libraries-beta/

感谢您的任何见解。


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Functions - 使用具有托管标识的队列触发器 的相关文章

  • 同步执行异步函数

    我对此主题进行了大量搜索 并且阅读了本网站上有关此主题的大部分帖子 但是我仍然感到困惑 我需要一个直接的答案 这是我的情况 我有一个已建立的 Winform 应用程序 但无法使其全部 异步 我现在被迫使用一个全部编写为异步函数的外部库 在我
  • gtest 和 gmock 有什么区别?

    我试图理解的目的google mock Google 的 C 模拟框架 https github com google googletest blob master googlemock README md 我已经与gtest较早 但我还是
  • C 中的复合语句表达式

    下面的代码不起作用 int i void 999 100 添加括号就可以了 为什么 int i void 999 100 还有另一种方法可以完成此类分配 int i void 999 100 是什么让他们与众不同 在这份声明中 int i
  • 如何“杀死”Pthread?

    我正在学习 Pthreads 并且想知道杀死这样一个对象的最佳方法是什么 在寻找类似的问题后 我无法找到 明确 的答案 但请随时向我指出任何相关问题 我正在使用一个小型客户端服务器应用程序 其中服务器主线程正在侦听套接字上的客户端连接 每次
  • 使用静态类型代替变量

    当您的项目不使用命名空间时 有什么方法可以告诉编译器使用静态类型而不是变量吗 例如 我有一个名为 User 的类 它具有各种静态和非静态方法 假设调用了其中一个静态方法GetUser 我想称之为User GetUser 方法来自一个方法 该
  • 使用 Selenium for C# 登录 Facebook

    我一直在使用 Selenium C 框架并尝试进行 facebook 登录 但没有任何运气 这是我到目前为止得到的 基于这篇文章 使用 Selenium 测试 Facebook Connect 应用程序 https stackoverflo
  • 具有多重继承的类的 sizeof

    首先 我知道 sizeof 取决于机器和编译器的实现 我使用的是 Windows 8 1 x64 gcc 5 3 0 没有标志传递给编译器 我从大学讲座中得到了以下代码 include
  • 有没有办法使 C90 标准中的枚举无符号? (符合 MISRA-C 2004 标准)

    我正在尝试找到一种使枚举 无符号 的方法 enum x1 0 x2 x3 uint8 t x2 lt PC LINT MISRA C 2004 will complain about mixing signed and unsigned h
  • async wait 在调用异步方法时返回 Task> 而不是 List

    我正在尝试了解 async wait 的用法 并且研究了一些博客文章 现在我已经编写了一个测试代码 但它没有按照我期望的方式工作 我有一个返回列表的方法 private List
  • C++ 中的 Java ArrayList [重复]

    这个问题在这里已经有答案了 在Java中我可以做 List
  • 使用成员作为实现者来实现接口

    我有实现 IA 的 A 类 现在我需要创建也应该实现 IA 的类 B B 类有 A 类的实例作为成员 有什么方法可以定义A的实例实现B类中的IA吗 interfase IA void method1 void method2 void me
  • 从窗口内容截取屏幕截图(无边框)

    我正在寻找有关如何使用 C 将表单内容保存在位图中的解决方案 我已经尝试过使用 DrawToBitmap 但它捕获了所有带边框的窗口 这就是这段代码的结果 public static Bitmap TakeDialogScreenshot
  • C# 的空条件委托调用线程安全吗? [复制]

    这个问题在这里已经有答案了 这就是我一直以来编写事件引发者的方式 例如属性更改 public event PropertyChangedEventHandler PropertyChanged private void RaisePrope
  • Active Directory UserPrincipal.Current.GetGroups() 返回本地组而不是 Web 服务器上的组

    以下内容在我的本地开发盒上效果很好 但是 当我将其移动到网络服务器时 它失败了 甚至不会记录错误 public static List
  • System.diagnostics.process 进程在托管后无法在 IIS 上运行?

    我正在尝试从网络应用程序安装 exe 当我在本地运行应用程序 从 asp 开发服务器 时 它安装正确 但当我托管在 IIS 上时 它不起作用 我在asp net页面的Page load方法上编写了这段代码 想要在客户端计算机上安装Test
  • 如何解释“错误C2018:未知字符'0x40'?[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 在编译一些代码时 我收到以下信息 错误 C2018 未知字符 0x40 我想知道如何解决这样的问题 这是我要开始的地方
  • C 中什么函数可以替换字符串中的子字符串?

    给定一个 char 字符串 我想查找所有出现的子字符串并将其替换为备用字符串 我没有看到任何简单的函数可以实现这一点
  • win32 API 和 .NET 框架之间的选择

    我必须开发一个适用于 Windows 的应用程序 该应用程序将能够通过网络摄像头识别手势来控制鼠标 我将使用 vc 2008 进行开发 但我很困惑是使用 NET 框架还是核心 win32 API 性能对于我的应用程序非常重要 根据 Ivor
  • 如何使用简历实现一个“一网打尽”的异常处理程序?

    我想知道我怎样才能写一个抓住他们全部应用程序级别的异常处理程序将为用户提供恢复应用程序流程的选项 如果您正在运行 Windows 窗体应用程序 将处理程序添加到Application ThreadException event
  • 如何将 Metro 应用部署到桌面?

    我正在尝试将我的 C 应用程序部署到我的 Windows 8 Metro 桌面 我可以在 bin 文件夹中看到部署的文件 但是当我尝试打开它们时 出现以下错误 该应用程序只能在 AppContainer 的上下文中运行 我检查了属性上下文菜

随机推荐

  • Java 轮询网络连接

    我正在用 Java 编写一个程序 在一个线程上打开 256 个网络连接 每当套接字上有任何数据时 我都应该读取它并处理它 目前 我正在使用以下方法 while true do iterate over all network connect
  • 如何测试 django 模板块的使用?

    我想做以下事情 if appnav hr div ul class tabs block appnav endblock ul div endif 但是 测试继承链中模板当前使用的块似乎不起作用 还有其他条件可以做到这一点吗 模板语言并不能
  • 使用 AppleScript 设置窗口位置

    我正在尝试使用 AppleScript 设置 Messages app 聊天窗口的位置 tell application System Events set position of window 1 of application Messa
  • 登录时出现quickblox错误,android

    我正在使用 Quickblox 在 Android 平台上进行聊天 并使用 facebook 身份验证 我这样做这些步骤 1 QBSettings getInstance fastConfigInit 2 QBAuth createSess
  • 如何使用 Typhoon 为集成测试注入假的、存根的或模拟的依赖项

    我正在尝试使用 KIF 编写集成测试 我的问题是 如何为特定视图控制器注入存根 模拟或虚假依赖项 每个使用数据模型 http 客户端 存储管理器等依赖项的视图控制器都来自 ModelAssembly ApplicationAssembly
  • 在 ElasticSearch 7+ 中,如何搜索所有文本字段?

    我想在 Elasticsearch 7 3 中存储的文档中搜索单词 我希望在以前版本的 Elasticsearch 上运行的一个示例是 query bool must match all oliver must not should fro
  • NodeJs util.promisify 不是一个函数

    我正在尝试 promisify mysql 函数 但是当我运行它时 控制台显示此错误util Promisify is not a function 这是我的代码 var util require util var mysql requir
  • 在 R 中查找 Twitter 关注者

    我想使用 R 查找用户的 Twitter 关注者的个人资料 关注者 gt 100000 尽管 twitteR 是一个很棒的软件包 但它在处理大量关注者时存在问题 因为人们需要实施睡眠例程以避免超过速率限制 我是一个相对新手 想知道如何循环遍
  • Python中如何从另一个函数调用一个函数内的函数? [复制]

    这个问题在这里已经有答案了 我已经在 python 中的另一个函数中定义了一个函数 现在我想调用内部函数 在Python中这可能吗 我怎么打电话func2 from func3 def func1 def func2 print Hello
  • 以正确的顺序添加 XML 元素

    我想添加元素到X文档 https msdn microsoft com de de library system xml linq xdocument 28v vs 110 29 aspx我想要构建的 XML 对象和元素的顺序是在 XSD
  • PHP-访问类的所有函数中的全局变量[重复]

    这个问题在这里已经有答案了 我需要在类的大多数函数中访问外部 php 文件的一些变量 我正在通过以下方式访问 并且工作正常 class test function a global myglobalvar function b global
  • javascript设置间隔作为单独的线程运行?

    我想使用计时器作为后备 以防我最终陷入无限循环 看来设置间隔是执行此操作的正确方法 但是 它对我不起作用 根据我的研究 setInterval 似乎应该在后台的单独线程中运行 但我没有看到它 为什么会发生这种行为 我该如何解决这个问题 va
  • 在 JSON-LD 中创建产品数组

    有人能发现我下面的代码有什么问题吗 它不会在 Google 结构化测试工具中进行验证 我正在尝试创建 JSON LD 代码以添加到具有多种待售产品的页面
  • Java中的逆向正则表达式

    Java中如何反转正则表达式 例如 ab de gt ed ba wow 您需要为正则表达式构建一个解析器并反转所有标记 部分 在这种情况下 ab de 是 a b d e 并反转这是 e d b a 现在想象一下群体 ab de 相反的是
  • 正则表达式没有方法测试[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 ATM机允许4 或 6 位数字PIN 码和 PIN 码不能包含任何内容 但exactly 4 位数字或恰好 6 位数字 如果函数传
  • 如何在当前打开的文件中保存 VSTO 加载项的选项?

    我正在为 Powerpoint 2010 构建 VSTO 外接程序 并且外接程序设置的选项适用于当前打开的文件 而不是每个用户的配置 我可以将这些选项保存在当前文件中 我的意思是 将自定义 XML 添加到 PPTX 文件中 吗 如果是这样
  • C# 语法高亮着色

    我可以像在 Visual Studio 中一样单独更改字段 局部变量的颜色吗 下面是 Visual Studio 中的样子 字段变量赋值 读写为绿色 局部变量赋值 读写为白色 但在 VSCode 中 本地变量和字段变量的范围都是 varia
  • NextAuth 登录未触发我的凭据提供程序中的授权方法

    我正在开发一个 Next js 项目 使用 NextAuth 进行身份验证 我遇到一个问题 登录组件中对 SignIn 的调用似乎没有触发我的凭据提供程序中的授权方法 以下是我的 nextauth js 文件的摘录 CredentialsP
  • 如何在.Net Console App中设置默认输入值?

    如何在 net 控制台应用程序中设置默认输入值 这是一些虚构的代码 Console Write Enter weekly cost string input Console ReadLine 135 135 is the default T
  • Azure Functions - 使用具有托管标识的队列触发器

    我正在尝试将托管标识与 Azure Functions V3 和 QueueTrigger 结合使用 函数代码定义如下 Function ProcessUserData public async Task ProcessUserData Q