1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| import boto3
def download_from_obs(obs_path, local_file_path, aws_access_key, aws_secret_key, endpoint_url='https://obs.cn-northeast-227.dlaicc.com'): """ 从华为云 OBS 下载文件到本地 :param obs_path: OBS 对象(文件)路径,包括桶名和对象路径 :param local_file_path: 下载到本地的文件路径 :param aws_access_key: 华为云 Access Key :param aws_secret_key: 华为云 Secret Key :param endpoint_url: OBS endpoint URL,默认是华为云华北-北京一区 :return: 成功返回 True,失败返回 False """ try: bucket_name, object_path = obs_path.split('://')[1].split('/', 1) print(bucket_name,object_path) s3 = boto3.client('s3', endpoint_url=endpoint_url, aws_access_key_id=aws_access_key, aws_secret_access_key=aws_secret_key)
s3.upload_file(local_file_path, bucket_name, object_path)
print(f"文件 '{object_path}' 已成功下载到本地路径 '{local_file_path}'") return True except Exception as e: print(f"文件下载失败:{e}") return False
obs_path = 'obs://lijiaqi/dataset/stage2_without.ckpt' local_file_path = '/home/ma-user/work/train/clip/weight/stage2/withoutloss/stage2_0.ckpt' aws_access_key = 'UODTG5O4J7WUJALMVS1B' aws_secret_key = 'agzvTirhdyutXDFuMxszACN47uGrSqprz5eeK5Pw'
download_from_obs(obs_path, local_file_path, aws_access_key, aws_secret_key)
|