当然,其他人之前也做过这样的事。我不是在做新的尝试。
背景图片我知道如何在AWS上创建Lambda函数。尽管亚马逊的缩写让人感到很不友好,但第一次使用时整个过程大约花了我一个小时。我写了一个使用webhook将一些信息转发到其他API的小程序。按我的记忆,这挺简单的。
我为什么要这么做呢?给另一个客户使用微软的技术堆栈,需要了解一下情况。
让我们一起玩Azure吧!$签我一个名 (问题:一大堆,没太大信心)
第一步是申请一个免费的Azure账号。
这么说:我说免费。即使你想使用免费层级,你也得提供信用卡或借记卡信息,这让我感到非常不安。
微软让我用GitHub账户(他们自己的服务)注册,但似乎这还不够来确认我的身份,所以我还得用手机。老实说,这让我对微软信任自己其他产品的程度有了更多的了解,比对Azure多了不少。
整个过程非常顺利,没有出现任何技术问题,然而。
你知道吗,有个事儿?我还挺中意他们那个复古风格。看起来就是2000年初的风格,就像cPanel那样。
注:请确保使用正确的Markdown格式来展示图片链接,例如
安装前置条件(要点:问题:多个,信心:还在学习中?)
实际上,根据官方文档,并没有真正的要求,除了安装你选择的语言。我决定使用TypeScript。
我也在用VSCodium1,因为我想跟着教程学习,而他们的VSCode示例看起来是最详尽的。说实话,我对图形界面不太感冒;到目前为止,我只装了一个VSCode的Neovim插件和Gruvbox主题,这样我才会觉得比较自在。
我安装了"Azure Functions"扩展程序,并打开了他们的"HTTP触发器"示例代码。我想要一个简单的示例,即我可以访问一个特定的URL并得到一个预设的回复信息。
目前看起来一切顺利,语法高亮功能都正常,工具提示里有Azure相关的提示信息。
看来我能够在本地运行这个函数。我点击了“Run”来看看这个函数是怎么工作。
哦。那咱们学多点吧。
我被带到一个网页,上面告诉我需要安装Azurite
。还不错。要是AzureFunctions扩展能把这个作为硬性依赖,或者至少在文档中提前提到就更好了。不过现在我们到了这步,我会在VSCode中安装它。
这个扩展程序在 VSCode 的扩展市场里找不到。
嗯,可能是VS Code没有获取到最新的插件列表?我来搜索一下吧。
宾果!
那就这么办。
嘘。
注:此处的“Boo”可以翻译为“嘘”,用来表达不满或不赞成。
我说了什么让你觉得不对劲了吗?
也许是因为我让微软的 telemetry 去见鬼了,转而使用 VSCodium 而不是 VSCode?或许运行 Azure 函数的一个前提是他们需要我的更多个人数据?
我会试试安装“坏地版本”的IDE,看看这会有什么不同。
...那是因为我说了什么。
你好,世界?问题简述:问题一大堆,自信:我完全不知道这个词的意思它提示我登录,所以我登录了。第一次是Azure函数,然后在颜色略有不同的页面上再次登录Azure函数。
我运行了“debug”。它失败了,我又看了看文档。啊,原来如此,Azurite插件不会自动启动,我每次都要手动启动它。没什么大不了的,没关系。
它在 Azure 里找不到这个功能,还告诉我没有这个功能。
我发现这是因为我把程序搁置太久。一个小时的调试,再加上多喝几杯咖啡就足够让它悄悄登出你,并在你回来时准备好一个误导性的错误信息。
我再次登录系统。为此,我必须退出 VSCode 并重新启动它。也许在 IDE 里有办法,但我没找到。
嘿,Node,老朋友,我又来找你说话了。
走吧!
[错误] Node.js 版本不兼容(v23.9.0)。请参阅我们的文档页面以了解 Azure Functions 支持的 Node.js 版本:https://aka.ms/functions-node-versions
看起来Azure Functions目前最高支持到Node.js版本20。这在这些特定平台中并不罕见,Vercel、Netlify、AWS等平台也有类似的限制条件。
不过
我找不到如何让VSCode使用不同版本的Node.js的方法。网上的文章告诉我在launch.json
中设置runtimeVersion
。但这根本没用,而且这个关键字旁边还有一个小小的黄色波浪线,这表明,就像澳大利亚人可能会说的,"嗯,行吧,但实际上做不到。"
如果你够大胆点击那个链接,你会发现它带你到了一个页面,那个页面关于node版本没有任何说明。
如果我访问他们的节点故障排查页面,我只看到这一部分内容。
请确保你使用的是 Node.js(版本18或以上版本)。
也许问题就在于 23 < 18,在微软定义的单位系统中。
但我试了其他帖子建议的方法,设置 nvm 的默认版本为 20 - nvm alias default 20
,结果还是不行。
200迈的解决方案来了...
我通过关闭VSCode并在已经安装了版本20的环境中重新打开它来解决这个问题。
nvm use 20 && code // 使用 Node 版本管理器切换到版本 20 并打开代码编辑器
全屏模式 退出全屏
我不太喜欢这样,因为如果在桌面上点开IDE,它可能无法启动成功,而我不记得为什么。不过,这至少是个开始。
我想可能是我做的。
我可以本地测试 Azure 函数,并在我满意时立即部署。现在它运行得非常顺畅。
封面图来自必应,基于从真人那里抄袭的艺术作品。
VSCodium 是微软在添加遥测功能并将其打包成应用之前的开源项目。 ↩
- 有点傻,但没什么大不了的。↩