我正在编写一个云函数并尝试添加对多个提供商的支持。目前,对于 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/