我正在使用用Java编写的Azure函数来从REST API检索数据并将其插入mongo数据库。 我正尝试将应用程序划分为不同的层次,就像通常对Web应用程序所做的那样-目前,我只提取了将数据存储在mongo中的存储库到一个单独的类中,所以我的函数类如下所示(省略了触发器,错误处理等)
public class SensorFunctions {
@FunctionName("saveSensors")
public void saveSensors(
final ExecutionContext context) {
SensorRepository sensorRepository = new SensorRepository();
new SensorAPI().retrieveSensors()
.forEach(sensorRepository::saveSensor);
}
}
我更喜欢使用IoC机制中的王者,所以我不必自己实例化笔迹和其他类,但是我可以做类似
public class SensorFunctions {
@Inject
SensorRepository sensorRepository;
@Inject
SensorAPI sensorAPI;
@FunctionName("saveSensors")
public void saveSensors(
final ExecutionContext context) {
sensorAPI.retrieveSensors()
.forEach(sensorRepository::saveSensor);
}
}
Azure功能可以吗?是这样,是否有可能创建自动配置,还是我需要在每个功能的开头手动触发IoC容器的配置(我将在一个项目中拥有多个功能)。 由于成本取决于函数的计算时间,因此我更希望使用轻量级的解决方案
答案 0 :(得分:1)
现在,您可以使用Spring Framework将Azure Function仅用于HTTP请求(不能用于绑定)。
Here是有关如何使用它的示例
我知道现在正在进行一项工作,以支持Azure功能enter link description here的依赖注入