我是Azure的新手,我不知道我尝试做的事情是否可行
我在我的Azure API管理服务中定义了一个合成Graphql API。在那里我有我的查询和变化,到目前为止一切顺利。
现在,假设我在我的graphql模式中有这个查询:
Query {
myQuery(userId: UUID!): [Cars]
}
字符串
这将解析用户拥有的所有汽车。此查询由Azure函数处理,该函数是作为隔离Azure函数实现的HttpTrigger,因为我们希望使用.Net 8。
我们的问题是,这个函数必须在运行查询之前手动启动,并且在调用完成后停止它。我们想要的是Azure函数自动启动/停止,以保存资金。
有什么方法可以做到这一点吗?因为即使我将Azure函数创建为Consumptio(Serveless),我也没有看到它以这种方式工作
你知道吗?
PD:我用这个配置创建了我的Azure函数:x1c 0d1x,HttpTrigger是在Jetbrain Rider中创建的,然后部署到Azure上。我没有使用Visual Studio
1条答案
按热度按时间sg2wtvxw1#
首先,Azure函数无服务器最适合您的场景,HTTP触发器是Azure函数支持的触发器之一。请查找更多详细信息here
其次,无服务器模型是可扩展的,具有冷启动功能,因此第一个请求可能需要一段时间才能启动所需的计算,然后其余部分将正常工作。
对于成本,无服务器模型依赖于执行次数和执行时间。因此将其与自动缩放相结合意味着只需为您的消费付费,而不管触发功能的方式如何。请查找更多详细信息here
对于触发,可能需要以适当的方式创建HTTP触发器,以便能够触发函数。
字符串
在此定义一个Azure Function,当向Route属性中指定的URL模式发出HTTP GET或POST请求时,将触发该Azure Function。当Azure Function主机在指定的路由上接收到与定义的HTTP方法(get,post)匹配的请求时,它将执行此函数的Run方法,并传入URL中与category和id路由参数对应的部分。
对于路由,这里有一个例子:
型
这意味着该函数将由对URL(如/API/carrental/user/rent)的POST或GET请求触发,其中“user”是customerID的示例
调用该函数的URL可能如下所示
型
希望这对你有帮助