尝试通过 Azure Function App 站点 URL 发布 ZIP 文件失败,HTTP 状态代码未经授权

问题描述 投票:0回答:3

我在 VS 2019 中创建了一个 Azure 函数,并想从 VS 2019 中部署它。在尝试部署时,我收到以下错误: 尝试发布 ZIP 文件失败,HTTP 状态代码为未经授权。 我尝试过以下选项:

  1. 从门户创建 Function App,然后从 VS2019 发布 Function 项目
  2. 从 VS2019 创建了 Function App 并尝试发布该函数

所有选项均不起作用。我总是遇到相同的未经授权的错误。

azure-functions publish
3个回答
1
投票

以下设置需要设为开启。一旦完成,您就可以发布。


0
投票

在尝试从 Visual Studio 发布 .NET Azure Function 应用程序时,我遇到了同样的失败,并且我发现使用 REST API 部署 ZIP 文件需要打开基本身份验证。因此,在 Azure Function 应用程序的 Azure 门户中,转到配置,然后转到常规设置并打开基本身份验证。


-1
投票

我尝试重现您的问题。是的,如果部署到 azure 函数后未将特定密钥传递到 URL,我们将获得未经授权。

每个 Function 应用程序都有一些授权级别:

  • 匿名
  • 功能
  • 管理员
  • 系统
  • 用户

它们在

function.json
代码文件中的 authLevel 属性中定义。

我尝试使用 Admin authLevel 来运行该函数并获得 401 未经授权,我在函数应用程序 URL 中给出了函数密钥:

enter image description here

现在我有了函数应用程序 URL 的 Host (_master) key 以及查询字符串参数(名称),那么结果是: enter image description here

因此, 当没有将合适的密钥传递到函数应用程序 URL 时,我们将获得未经授权的权限。根据 authLevel,我们必须传递 URL 中的密钥。

匿名 - 无需身份验证。任何有效的 HTTP 请求都会通过 功能 - 主机(主)和功能键。 Admin - 需要 主机密钥 进行授权。 系统 - 需要功能应用程序的主密钥进行授权。 用户 - 需要有效的身份验证令牌。

功能管理系统授权级别是基于密钥

有关功能应用程序中授权级别使用的更多信息,请参阅此处

© www.soinside.com 2019 - 2024. All rights reserved.