如何使用boto3在s3的文件夹中下载文件



我有一个用例,我需要检查S3中的所有子文件夹,并将一个特定的文件下载到文件夹中存在的lambda的temp中。

我是用这个来下载文件,没有在任何文件夹。

s3_client = boto3.client("s3")
s3_client.download_file('sumanth-bsig-test', '2022.02.11_at_22.03.11_radar-mi_5354_sec_4989385772_5092940872.bsig', '/tmp/SampleFile.bsig')

s3_client.download_file('sumanth-bsig-test', '/big_data1/2022.02.11_at_22.03.11_radar-mi_5354_sec_4989385772_5092940872.bsig', '/tmp/SampleFile.bsig')

当我使用上面的代码访问文件夹big_data1中的文件时。我得到

"errorMessage": "An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.",
"errorType": "NoSuchKey",

我觉得我做得不对,当它涉及到下载文件夹中的文件。有人能帮我一下吗?文件结构s3->big_dat1→文件

首先,我们必须使用boto3.client(S3)创建一个S3客户端。

import boto3
BUCKET_NAME = 'my_s3_bucket'
BUCKET_FILE_NAME = 'my_file.json'
LOCAL_FILE_NAME = 'downloaded.json'
def download_s3_file():
s3 = boto3.client('s3')
s3.download_file(BUCKET_NAME, BUCKET_FILE_NAME, LOCAL_FILE_NAME)

最新更新