azure-functions - 从带有队列输出的 Azure 函数返回 403 状态码
问题描述
我有以下函数将项目添加到队列中。是否有返回其他状态代码然后 500 和 200?我有一个案例,我检查调用者是否可以访问端点,如果没有,我想返回 403。
[FunctionName("AddToQueue")]
[return: Queue("queue")]
public async Task<PushRequestMessage> AddToQueue(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "")] HttpRequest req,
ILogger log)
{
if (!_accessRights.HasInternalAccess(req))
{
// return 403
}
return new Message()
{
Title = "Hello"
};
}
解决方案
你可以抛出HttpResponseException
这样的:
[FunctionName("AddToQueue")]
[return: Queue("queue")]
public async Task<PushRequestMessage> AddToQueue(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "")] HttpRequest req,
ILogger log)
{
if (!_accessRights.HasInternalAccess(req))
{
throw new HttpResponseException(HttpStatusCode.Forbidden);
}
return new Message()
{
Title = "Hello"
};
}
推荐阅读
- html - 导致浏览器响应问题的 CSS 解析错误
- uwp - 无法编译 UWP 项目:应用程序包...清单验证错误
- c# - 关于如何在应用程序中向 sqlite 数据库添加行而不改变每个用户与其数据库副本交互的唯一更改的问题
- mediawiki - 使用 Bot 用户从 MediaWiki 中的受保护页面读取
- python - 根据字母计数检索带括号的缩写的定义
- c - 从标准输入存储行永远不会改变
- angular - 调用 B2C 保护的 Function App API 的 Angular 应用程序收到 500,Function 收到 404
- sql - 在两个 JOINS 和一个 UNION 命令后获取重复行
- java - 如何创建 Makefile 以分别编译 C 文件和 Java 文件
- spring-boot - MAVEN 项目中不可解析的父 POM