gpt4 book ai didi

c# - 禁用的属性不是 Http 触发器 Azure 函数上的应用程序设置不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:37 26 4
gpt4 key购买 nike

我已经实现了一个由 HttpTrigger 触发的 Azure Function(在 .Net Core 2.2 上运行的 v2)。在指定 Disable 属性或使用应用程序设置(“AzureWebJobs.Function1.Disabled”:“true”)后,我仍然能够通过 Postman 访问此端点。这发生在 HttpTriggers 中。我也在使用的 ChangeFeed Triggers 和 QueueTriggers 正在按预期工作。

我在本地运行时尝试过的一些事情:1. 使用 local.settings.json,我只添加了 AzureWebJobs..Disabled 值2.我添加了禁用属性3. 我添加了已定义设置的禁用属性。

启动函数项目时,控制台确实显示“Function Function1 is disabled”。

我已经用我的 local.settings.json 试过了

{
"IsEncrypted": false,

"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"AzureWebJobs.Function1.Disabled": "true"
},

"Host": {
"LocalHttpPort": 7071,
"CORS": "*"
}
}

函数有这样的通用格式:

[Disable, FunctionName("Function1")]
public async Task<IActionResult> RunAsync(
[HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest req,
Binder binder, ILogger log)
{}

我想我会在 Postman 中收到 404。感谢任何想法、方向或其他信息。

最佳答案

我也可以重现您的问题。尽管日志显示该功能已禁用,您仍然可以调用 HTTP 触发器。 在我看来像是一个 bug。 我在 Github 上开了一个问题:https://github.com/Azure/azure-functions-host/issues/4764

github问题更新:

Does this only happen when running locally with the CLI (or VS)? Http requests should return 404s unless invoked via an Admin request -- this allows the portal to continue to be able to test functions. When running via the CLI, though, I believe all requests are treated as admin requests.

Yes, I can confirm this is indeed different when deployed in Azure. When I use the app setting there AND use the function key (not the master key), the call returns 404.

关于c# - 禁用的属性不是 Http 触发器 Azure 函数上的应用程序设置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57351710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com