Marco-Voice-TTS / upload_model.py
tianfengping.tfp
init
149fbcd
raw
history blame
2.98 kB
import oss2
auth = oss2.Auth('LTAI5tAGoBnm5eYsnZ5E1zMr', 'KsLQWLRSEVCfoUed3DVInGOou3TAQh')
endpoint = 'https://oss-ap-southeast-1.aliyuncs.com'
bucket = oss2.Bucket(auth, endpoint, 'ai-business-algo-pai')
# file_path = os.path.join('tts_model', model_name)
# bucket.put_object(file_path, audio_buffer.getvalue(), headers=headers)
# print(bucket.sign_url('GET', file_path, 3600 * 24 * 30))
import os
import tarfile
from io import BytesIO
from uuid import uuid1
def upload_tar_gz_file(
file_path, # 本地 .tar.gz 文件路径
osspath="tts_model", # OSS存储路径
expire_time=30 # 签名URL有效期(天)
):
"""
直接上传现有的 .tar.gz 文件到 OSS
:param file_path: 本地 .tar.gz 文件路径 (如 "pretrained_models.tar.gz")
:param osspath: OSS存储目录 (默认 "pretrained_models")
:param expire_time: 签名URL有效期(天)
:return: 签名URL
"""
# if not os.path.isfile(file_path):
# raise ValueError("File not found: " + file_path)
# 从文件名提取基础名称(保留 .tar.gz 后缀)
print("file_path:", file_path)
filename = os.path.basename(file_path)
oss_filepath = os.path.join(osspath, filename)
# 读取文件二进制内容
with open(file_path, "rb") as f:
file_content = f.read()
# 设置 OSS 文件头
headers = {
"Content-Type": "application/gzip",
"Content-Disposition": f'attachment; filename="{filename}"'
}
# 上传到 OSS
session = oss2.Session()
session.session.verify = False # 控制SSL验证
bucket.put_object(oss_filepath, file_content, headers=headers)
# 生成签名 URL
signed_url = bucket.sign_url("GET", oss_filepath, 3600 * 24 * expire_time)
return signed_url
if __name__ =="__main__":
from oss2 import Bucket, Auth
import sys
# 初始化 OSS
# auth = Auth("your_access_key_id", "your_access_key_secret")
# bucket = Bucket(auth, "https://oss-cn-hangzhou.aliyuncs.com", "your-bucket-name")
session = oss2.Session()
session.session.verify = False # 控制SSL验证
# # 使用自定义会话创建Bucket
# bucket = oss2.Bucket(
# auth,
# 'http://oss-ap-southeast-1.aliyuncs.com', # 注意使用http而非https
# 'ai-business-algo-pai',
# session=session
# )
auth = oss2.Auth('LTAI5tAGoBnm5eYsnZ5E1zMr', 'KsLQWLRSEVCfoUed3DVInGOou3TAQh')
endpoint = 'http://oss-ap-southeast-1.aliyuncs.com'
bucket = oss2.Bucket(auth, endpoint, 'ai-business-algo-pai', session=session)
# 上传文件夹
url = upload_tar_gz_file(
file_path=sys.argv[1],
osspath="tts_model",
# compression_level=9, # 最高压缩
# expire_time=365, # 1年有效期
# remove_prefix="/mnt/by079416/fengping/CosyVoice2" # 去除本地路径前缀
)
print("Model uploaded. Download URL:", url)
# import sys
# upload_model_folder(sys.argv[1])