Col*_*ert 2 python amazon-s3 amazon-cloudwatch pydub aws-lambda
我正在 Python 中创建一个 Lambda 函数,该函数通过将 MP3 文件上传到我的 S3 存储桶来触发。该函数(在我的本地计算机上运行)应该使用 pydub 从音频创建波形,但是,我遇到了一个我不知道如何解决的问题。
似乎我能够将文件保存到该/tmp文件夹,但是当我尝试将文件传递到 时AudioSegment.from_file(filename),该函数结束并且 CloudWatch 中没有错误日志。
这是相关的代码块:
s3.download_file(bucket_name, file_key, '/tmp/temp.mp3')
src = "/tmp/temp.mp3"
try:
print 'trying...'
audio = AudioSegment.from_file(src)
except:
print 'its breaking'
print 'it worked'
Run Code Online (Sandbox Code Playgroud)
我将问题行包装在一个try块中以简化问题。CloudWatch 仅记录:
START RequestId: 23af8832-061b-4c46-a226-6591bb972b5e Version: $LATEST
trying...
END RequestId: 23af8832-061b-4c46-a226-6591bb972b5e
Run Code Online (Sandbox Code Playgroud)
预期输出为:
START RequestId: 23af8832-061b-4c46-a226-6591bb972b5e Version: $LATEST
trying...
its breaking || it worked
END RequestId: 23af8832-061b-4c46-a226-6591bb972b5e
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
任何帮助将不胜感激!:)
哦,天哪,所以如果其他人遇到这个问题,这就是为我解决的方法。该功能超时...我不知道会发生这种情况!
在功能配置选项卡中找到该Basic Settings块并增加超时。
我通过手动创建请求并从 Lambda 控制台运行测试发现了超时错误。