【问题标题】:Upload Image into AWS S3 bucket using Aws Lambda使用 Aws Lambda 将图像上传到 AWS S3 存储桶
【发布时间】:2016-02-05 08:24:50
【问题描述】:
我想要一些关于使用 Lambda 函数在 S3 存储桶中上传图像文件的建议。我能够使用 lambda 函数创建存储桶,但无法使用 Lambda 函数将文件上传到 S3。有可能的?我们可以使用 lambda 将本地系统文件(图像、文本等)文件上传到 S3 存储桶吗?
当我尝试使用 C:\users\images.jpg 使用 Lambda 函数将文件上传到 S3 时,它向我显示错误 ..Error: ENOENT, no such file or directory 'C:\Users\Images'。
请提出建议。
谢谢
【问题讨论】:
标签:
function
amazon-web-services
aws-lambda
【解决方案1】:
你必须想象你的代码在哪里运行。
如果您有桌面应用程序,则可以访问本地文件,例如 C:\users\images.jpg,因为该进程可以访问文件系统。
您的 lambda 函数由 AWS 维护,并在 Amazon 的基础设施上运行。
通常你还必须设计你的函数无状态:
本地文件系统访问、子进程和类似的工件可能
不超过请求的生命周期,并且任何持久的
状态应存储在 Amazon S3、Amazon DynamoDB 或其他
互联网可用的存储服务。
参考:AWS Lambda FAQs
因此,在您的情况下,我会先将所有内容上传到 S3,或者创建一个定期执行此操作的后台进程。这样您就可以通过 Lambda 函数访问它们,但不能直接从本地文件系统访问。