我有一个简单的服务总线触发器,我可以在Windows上使用它进行开发,不会有任何问题。但当我在Mac上使用触发器时,我会出现以下错误:
Put token failed. status-code: 401, status-description: InvalidSignature: The token has an invalid signature..
Message processing error (Action=Receive, ClientId=MessageReceiver1my-topic/Subscriptions/my-sub, EntityPath=my-topic/Subscriptions/my-sub, Endpoint=my-dev.servicebus.windows.net)
该功能是锅炉板服务总线功能:
namespace MyApp.Functions;
public static class MyFunction
{
[Function("MyFunction")]
public static void Run([ServiceBusTrigger("my-topic", "my-sub", Connection = "ServiceBusConnection")] string mySbMsg,
FunctionContext context)
{
var logger = context.GetLogger("MyFunction");
logger.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
}
}
我更新了我的nuget包如下:
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.10.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.7.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.7.0" />
我已经复制了我的
local.settings.json
以便它与运行良好的Windows机器上的内容相匹配。
更新
经过大量测试,只有在从Rider或Visual Studio运行时才会出现这种情况。我安装了Azure工具,所有其他功能都能正常工作。如果我跑步
func start
运行良好。
如何解决此问题?