编辑这个问题是在 2016 年写的,所以它可能不再相关
我刚刚创建了一个简单的函数应用程序,其中一个函数应在将新消息添加到队列时触发(门户内函数)
我使用“ServiceBusQueueTrigger - C#”模板来创建我的函数,因此代码如下所示:
using System;
using System.Threading.Tasks;
public static void Run(string myQueueItem, TraceWriter log)
{
log.Verbose($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
从 Azure 门户,我得到了这个错误:
Microsoft.ServiceBus:远程服务器返回错误:(401)未经授权。此操作需要管理声明。TrackingId:6e27fe40-f667-4230-9995-d09f2ac67f35_G17,时间戳:2016 年 4 月 18 日晚上 10:17:41。系统:远程服务器返回错误:(401)未经授权。
一开始,我使用共享访问策略设置了我的连接字符串,该策略只允许监听队列并将其更改为管理声明,但我仍然有这个错误。
为了解决这个问题,我必须建立与 RootManageSharedAccessKey 的连接,以提供对服务总线命名空间的完全访问权限
这是正常/理想的行为吗?将来是否可以设置具有不同共享访问策略的连接字符串?