【发布时间】:2019-09-26 12:29:49
【问题描述】:
我正在尝试在 AWS Lambda 中使用 fluent-ffmpeg,但无法正确设置它。在我的 index.js 的顶部:
import ffmpeg from "fluent-ffmpeg";
但它始终是未定义的。
ffmpeg === undefined.
我正在使用无服务器并将 ffmpeg 作为一个层包含在内。
serverless.yaml
functions:
createGifFromVideo:
handler: src/services/createGifFromVideo/index.handler
layers:
- { Ref: FfmpegLambdaLayer }
events:
- sns: arn:aws:sns:us-east-1:${self:custom.accountId}:NewVideoPostContentTopic-${self:provider.stage}
layers:
ffmpeg:
path: src/layers
package.json
{
"name": "createGifFromVideo",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"private": true,
"dependencies": {
"fluent-ffmpeg": "^2.1.2"
}
}
据我所知,上传的 lambda 似乎是正确构造的。 Webpack 将 fluent-ffmpeg 合并构建文件,并链接到 ffmpeg 层。
我可以加载其他包。返回的只是 fluent-ffmpeg undefined。
从文档中提到将FFMPEG_PATH 和FFPROBE_PATH 作为环境变量传递。这些对层来说是必要的吗?
我会很高兴看到一个有效的配置。
【问题讨论】:
标签: ffmpeg aws-lambda serverless-framework fluent-ffmpeg