【问题标题】:Express JS to Azure function API MigrationExpress JS 到 Azure 函数 API 迁移
【发布时间】:2021-01-09 10:41:24
【问题描述】:

我正在将我的 Node Express JS 应用程序迁移到 Azure 函数。我的应用程序中有超过 250 条路线。 我通过 this microsoft 链接从 Node Express JS 转移到 Azure 函数 (solution repo)。我的理解是,我必须为所有路由创建天蓝色函数。即每条路线本身就是一个功能。我的应用程序中有超过 250 条路由,所以我最终会在他们自己的文件夹中创建 250 个function.js,有没有一种不那么痛苦的方法来进行这种迁移。

我考虑过基于代码级路由,即按一个共同目的对所有 API 进行分组,并为该顶级目的创建函数,然后使用传递给函数的 URI 在内部路由请求。有没有更好的办法?

【问题讨论】:

    标签: node.js azure express azure-functions azure-function-app


    【解决方案1】:

    最终,创建单独的函数可能更有意义,以获得更好的内置日志记录等好处,并允许利用输入/输出绑定,但这取决于您的场景。

    但也可以按原样重用 express 应用程序代码,并且有两种方法可以解决此问题

    1. 一个处理函数,用于捕获所有路由并将其转发给 express。您可以使用为 expressjs 实现此功能的 azure-function-express npm 模块。 请注意,我自己没有使用过这个模块,但看起来很有希望

    2. 利用Custom Handlers 功能。这允许您运行任何 Web 服务器(在您的情况下是 expressjs 应用程序)并将请求转发到 Web 服务器。与 1 类似,您可以选择只使用一个包罗万象的功能,因为您有很多路线要覆盖。

      请注意,此功能目前处于预览阶段。

    【讨论】:

    • 您提到的 npm 包不再处于开发阶段,我们正在使用不受支持的 Function V3 和 Node V12,而且我们无法使其工作。所以我们最终创建了单独的逻辑函数。是的,这很痛苦。 :)
    猜你喜欢
    • 2021-07-02
    • 1970-01-01
    • 2023-01-31
    • 2019-12-20
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 2020-10-29
    相关资源
    最近更新 更多