代码之家  ›  专栏  ›  技术社区  ›  Nick Lee

Azure函数如何启动更大的节点.js按命令应用

  •  0
  • Nick Lee  · 技术社区  · 7 年前

    在一个可能的场景中,我希望这个应用程序在从消息队列接收消息后从Azure函数的命令运行。

    问:Azure函数如何启动节点.js按命令申请?我可以把这个应用程序放在Azure Web应用程序下吗?

    0 回复  |  直到 7 年前
        1
  •  1
  •   George Chen    7 年前

    如果你节点.jsapp是一个azure web或azure Webjob,你可以用restapi启动它。给你 web app webjob

    根据你的情况,我认为你可以开发一个队列触发函数(节点.js),不必使用队列触发器函数来调用节点.js应用程序下面是一个节点.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();
    }; 
    

    Trigger - JavaScript example Azure Functions JavaScript developer guide .

        2
  •  0
  •   Peter Pan    7 年前

    GDI 支持。但是,由于 Win32k.sys (User32/GDI32) Restrictions Azure Web App sandbox 如下所示,因此您无法顺利地将用于可视化测试的节点应用程序迁移到Azure App services for Windows,包括Azure WebApp、Azure函数和WebJobs。

    enter image description here

    有两种解决方案可供您选择:Linux上的Azure应用程序服务或azurevm。

    1. 要构建一个预安装的无头chrome/chromium的Docker镜像,并将你的节点应用作为web应用部署到其中,那么你可以通过从一个带有你想要的触发器的Azure函数请求它来做同样的事情。甚至直接将这个节点应用程序与Linux上的Azure功能集成。您可以参考这些官方教程来了解Windows/Linux上的Azure函数,例如 Create your first function hosted on Linux using Core Tools and the Azure CLI (preview) .

    2. 为了创建一个azurevm,你可以做任何你想做的事情,甚至运行一个在VM上使用触发器的azurefunctions开发环境,而不是一个azurefunctions实例。基本逻辑流程是使用带有触发器的Azure函数dev env来调用节点应用程序,它们可以部署在同一个VM上。

    希望有帮助。有任何问题,请随时告诉我。

    推荐文章