从阿里云oss下载数据
This commit is contained in:
41
dao/Oss.py
Normal file
41
dao/Oss.py
Normal file
@@ -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)
|
||||||
Reference in New Issue
Block a user