azure-functions - Azure REST API“listsecrets”为具有自定义路由的函数返回不正确的触发 URL
问题描述
使用 Azure REST API 检索函数应用程序中特定函数的listsecrets
触发器 URL 时,如果定义了自定义函数,终结点会返回不正确的触发器 URL route
。
例如,采用一个名为Health
-
[FunctionName(nameof(Health))]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get")] ExecutionContext context)
{
{{ Stuff is done here }}
}
也采用相同的基本功能,但添加自定义路由(澄清 - 我没有两个名称相同但路由不同的功能,这是我稍后决定添加自定义路由的相同功能) -
[FunctionName(nameof(Health))]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = "prefix/health")] ExecutionContext context)
{
{{ Stuff is done here }}
}
如果您要使用文档listsecrets
中描述的端点和上述任一示例,则会返回完全相同的触发 URL -
{
"key": "S0m3K3y==",
"trigger_url": "https://my-function-app.azurewebsites.net/api/Health?code=S0m3K3y=="
}
Azure 门户中提供的 URL 包含自定义路由,因此必须有获取它的方法。有人知道怎么做吗?无论哪种方式,在包含错误触发 URLtrigger_url
的端点上包含一个属性似乎完全没有意义。listsecrets
解决方案
我目前的技巧是向 Azure REST API 发出两个请求。但是,我很想知道是否有一种正确的方法可以在一个请求中检索触发 URL/密钥。
第一个是到同一个listsecrets
端点,尽管在这种情况下我只占用了该key
属性。
发布https://management.azure.com/subscriptions/ {subscriptionId}/resourceGroups/{resourceGroupName} /providers/Microsoft.Web/sites/ {name}/functions/{functionName}/listsecrets?api-version=2019-08 -01
第二个是自定义路由的功能。函数的properties
包含属性invoke_url_template
,它具有正确的 URL(少了键,因此我仍然需要原始请求listsecrets
)。
获取https://management.azure.com/subscriptions/ {subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}?api-version=2019-08-01
推荐阅读
- c# - 当我尝试使用 MemoryMappedFile 类映射 /dev/mem 的内容时,为什么会出现“拒绝访问路径”?
- node.js - 如何优化承诺以避免回调/承诺地狱
- php - 如何通过 FTP 获取 chmod 信息
- go - 如何使用 golang 连接 TimesTen 数据库?
- javascript - 如何在momentjs中将UTC格式日期的时间归零
- javascript - 此代码不会向网页输出任何内容?
- c - 将十六进制转换为二进制字符串时如何摆脱 C 中的堆损坏错误(严重错误 c0000374)?
- javascript - CSS未在MVC 5视图中的活动缩略图下方绘制边框图片库
- c# - 如果我有一个包含姓名列表的文本文件,我如何首先使用 C# 按他们的姓氏对这个列表进行排序?
- arrays - 比较 Swift 中的两个对象数组