From ffec93a76ee930a54596b42279a1fd99a223a299 Mon Sep 17 00:00:00 2001 From: aszerW Date: Sun, 12 Oct 2025 23:25:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=8E=E9=98=BF=E9=87=8C=E4=BA=91oss?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/Oss.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 dao/Oss.py diff --git a/dao/Oss.py b/dao/Oss.py new file mode 100644 index 0000000..bcac0f5 --- /dev/null +++ b/dao/Oss.py @@ -0,0 +1,41 @@ +import oss2 + + +def download_files_from_oss( + ak, + sk, + bucket_name, + file_keys, + endpoint="oss-cn-hangzhou.aliyuncs.com", + download_dir=".", +): + """ + 下载阿里云 OSS 上的一组文件。 + + :param ak: Access Key ID + :param sk: Access Key Secret + :param bucket_name: OSS Bucket 名称 + :param file_keys: 需要下载的文件 key 列表 + :param endpoint: OSS endpoint + :param download_dir: 文件下载目录 + """ + # 创建认证对象 + auth = oss2.Auth(ak, sk) + bucket = oss2.Bucket(auth, endpoint, bucket_name) + + for key in file_keys: + local_path = f"{download_dir}/{key.split('/')[-1]}" + bucket.get_object_to_file(key, local_path) + print(f"Downloaded {key} to {local_path}") + + +if __name__ == "__main__": + ak = "LTAI5tDEyesjpjbdrXRZAen4" + sk = "nbHOcirHhGTN9P8RmWNrYkzo9UqxZb" + bucket = "guzhou" + file_keys = [ + "oddsjam_processed_data62c3732c6200433d-963fb469ed22e488_0.csv", + "oddsjam_processed_data62c3732c6200433d-963fb469ed22e488_1.csv", + ] + # 如果文件实际在子目录内请调整 file_keys 的前缀 + download_files_from_oss(ak, sk, bucket, file_keys)