Azure函数如何根据命令启动更大的Node.js应用程序
我有一个应用程序,它使用SeleniumWebDriver在另一台服务器/计算机的不同浏览器上模拟一个网站的可视化测试。在同一个应用程序中,我正在拍摄网站的屏幕截图,并将其发送到存储端点 在一种可能的情况下,我希望此应用程序在从消息队列接收消息后从Azure函数的命令运行Azure函数如何根据命令启动更大的Node.js应用程序,node.js,azure,azure-functions,Node.js,Azure,Azure Functions,我有一个应用程序,它使用SeleniumWebDriver在另一台服务器/计算机的不同浏览器上模拟一个网站的可视化测试。在同一个应用程序中,我正在拍摄网站的屏幕截图,并将其发送到存储端点 在一种可能的情况下,我希望此应用程序在从消息队列接收消息后从Azure函数的命令运行 问题:Azure函数如何根据命令启动Node.js应用程序?我可以将此应用程序置于和Azure Web App下吗?如果你的Node.js应用程序是Azure Web或Azure Webjob,你可以使用REST API启动它
问题:Azure函数如何根据命令启动Node.js应用程序?我可以将此应用程序置于和Azure Web App下吗?如果你的Node.js应用程序是Azure Web或Azure Webjob,你可以使用REST API启动它。这是和 根据您的情况,我认为您可以只开发一个队列触发函数(Node.js),而不必使用队列触发函数调用Node.js应用程序。下面是Node.js队列函数示例
module.exports = async function (context, message) {
context.log('Node.js queue trigger function processed work item', message);
// OR access using context.bindings.<name>
// context.log('Node.js queue trigger function processed work item', context.bindings.myQueueItem);
context.log('expirationTime =', context.bindingData.expirationTime);
context.log('insertionTime =', context.bindingData.insertionTime);
context.log('nextVisibleTime =', context.bindingData.nextVisibleTime);
context.log('id =', context.bindingData.id);
context.log('popReceipt =', context.bindingData.popReceipt);
context.log('dequeueCount =', context.bindingData.dequeueCount);
context.done();
};
module.exports=异步函数(上下文、消息){
log('Node.js queue trigger function processed work item',message);
//或使用context.bindings访问。
//log('Node.js queue trigger function processed work item',context.bindings.myQueueItem);
log('expirationTime=',context.bindingData.expirationTime);
log('insertionTime=',context.bindingData.insertionTime);
log('nextVisibleTime=',context.bindingData.nextVisibleTime);
log('id=',context.bindingData.id);
log('popReceivement=',context.bindingData.popReceivement);
log('dequeueCount=',context.bindingData.dequeueCount);
context.done();
};
关于Node.js函数的更多信息,您可以参考以下文档:和。据我所知,Selenium WebDriver用于与需要
GDI
支持的浏览器通信。但是,由于下面的Azure Web App sandbox
的问题,因此您无法顺利地将节点应用程序迁移到Azure应用程序,以进行视觉测试和屏幕截图,这些针对Windows的服务包括Azure WebApp、Azure功能和WebJobs
有两种解决方案适合您:Linux上的Azure应用程序服务或Azure VM
希望能有帮助。如有任何问题,请随时通知我。此应用程序与Github持续集成应用程序Nodejs配合使用。我决定把这件事弄得过于复杂,我把这段代码放到Github应用程序中。如果我继续,我会采取你的方法。