javascript - Azure Functions Node.js 自定义入口点

标签 javascript node.js azure azure-functions faas

我正在编写一个云函数并尝试添加对多个提供商的支持。目前,对于 Google Cloud 和 AWS Lambda 来说,这已经足够简单了,因为两者都允许我指定给定文件(根文件夹中的 index.js)的命名导出作为函数执行的入口点。

我认为一切都很好,但现在我想添加 Azure 支持,但它似乎坚持拥有一个带有函数名称的文件夹及其自己的 index.js,这是执行的入口点。不幸的是,这破坏了我现有的架构(使其通用,以允许多个提供程序的一个入口点,并通过执行环境的一些运行时检测来返回该提供程序的正确函数类型)。

是否有可能使用 Azure 执行类似于 GCF 或 Lambda 的操作,并简单地说“我想要一个在导出此文件时启动的 HTTPS 触发函数”,并且它信任您来完成其余的工作?

Azure 文档没有多大帮助,我在 Google 上也找不到太多用处。

最佳答案

您确实需要每个函数都有一个文件夹,以将入口点映射到正确的脚本文件。但这个文件夹只需要 function.json 文件来配置它。您的代码可以位于不同的位置,例如,所有函数都捆绑在一个文件中 - 这就是 Azure Functions Pack正在做。

在 function.json 中,您可以像这样设置脚本文件:

{
 "disabled": false,
 "bindings": [
  {
   "authLevel": "anonymous",
   "type": "httpTrigger",
   "direction": "in",
   "name": "req",
   "methods": [
    "get"
   ]
  },
  {
   "type": "http",
   "direction": "out",
   "name": "res"
  }
 ],
 "scriptFile": "../.funcpack/index.js",
 "entryPoint": "HttpTrigger1"
}

关于javascript - Azure Functions Node.js 自定义入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52870584/

相关文章:

javascript - 更改表单提交的 JS 代码不起作用

javascript - Sequelize.js,模型的最大 pubDate 返回旧条目而不是最新条目

Windows Azure 网站延迟

azure - 免费模式下的 Windows Azure 网站出站数据

javascript - forloop 中的 var j 未定义,但前一个循环中的 i 已定义

javascript - Defer 没有更快地加载页面

mysql - 如何在过滤元素时使sql查询显示每一行?

azure - 我们已购买 "AZURE AD PREMIUM P2",但无法使用此订阅

javascript - 如何用数据库中的数据填充图表?

node.js - 何时在 Node REST API中使用rabbitMQ?