我相信我遇到了与this earlier posting中描述的相同的问题,但是在关注"官方"来自this Microsoft document的说明,当我的Node.js代码尝试作为Azure Functions触发器运行时,我仍然收到以下错误:
2018-02-20T20:53:43.527 [Error] Exception while executing function: Functions.NewMP3FileTrigger. mscorlib: One or more errors occurred. Error: Cannot find module 'azure-storage'
at Function.Module._resolveFilename (module.js:469:15)
这是我的代码中的第一行,我相信它是失败的:
var azure = require('azure-storage');
据我所知,添加软件包似乎可以通过以下步骤工作:
- 从here获取package.json文件的内容(看起来合法)。
- 使用Azure诊断控制台,将package.json文件放在wwwroot文件夹中。
- 在控制台窗口中运行npm install
。
它运行了一段时间,完成后,同一个文件夹中有一个非常大的node_modules。我注意到它产生了一些警告,如下面的例子,但不确定这些是否重要:
npm WARN弃用minimatch@0.2.14:请更新到minimatch 3.0.2或更高版本以避免RegExp DoS问题
实际上我很惊讶我需要将Microsoft服务的任何模块添加到任何Azure环境,因为我认为它们默认会提供,但是你去了。
答案 0 :(得分:1)
您不应该从package.json
存储库复制azure-storage-node
。相反,您的package.json
应该简单地引用azure-storage
作为依赖,例如
{
"name": "test",
"version": "1.0.0",
"dependencies": {
"azure-storage": "^2.8.0"
}
}
npm install
后确保node_modules
文件夹包含azure-storage
。
P.S。请务必查看Azure功能的存储绑定,也许您不必直接使用SDK(取决于用例)。