Tra*_*VOX 3 python amazon-s3 aws-lambda
我的开发环境是一台 Windows 机器。当尝试从本地 S3 下载文件时,它没有问题。但是,当我将函数加载到 Lambda 时,我收到一个FileNotFoundError错误,这是由 Lambda 要求文件键中的前导斜杠引起的。
这在本地有效,但在 Lambda 上无效...
s3 = boto3.resource('s3')
new_file_key = os.path.join('tmp', file_name)
s3.Bucket('bucketname').download_file(file_key, new_file_key)
Run Code Online (Sandbox Code Playgroud)
这适用于 Lambda,但不适用于本地...
s3 = boto3.resource('s3')
new_file_key = os.path.join('/tmp', file_name)
s3.Bucket('bucketname').download_file(file_key, new_file_key)
Run Code Online (Sandbox Code Playgroud)
处理这个问题的最简单方法是什么?
听起来您希望将文件下载到
C:\tmp 在窗户上/tmp 在你的 lambda 容器(linux)上使用此 SO 答案作为参考,以下内容应以与平台无关的方式运行:
s3 = boto3.resource('s3')
new_file_key = os.path.abspath(os.path.join(os.sep, 'tmp', file_name))
s3.Bucket('bucketname').download_file(file_key, new_file_key)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1509 次 |
| 最近记录: |