| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- """
- 上传小龙虾客户端到 OSS,输出公开下载链接
- """
- import os
- import sys
- from dotenv import load_dotenv
- load_dotenv("backend/.env")
- import oss2
- ACCESS_KEY_ID = os.getenv("OSS_ACCESS_KEY_ID")
- ACCESS_KEY_SECRET = os.getenv("OSS_ACCESS_KEY_SECRET")
- ENDPOINT = os.getenv("OSS_ENDPOINT", "oss-cn-beijing.aliyuncs.com")
- BUCKET_NAME = os.getenv("OSS_BUCKET_NAME")
- BUCKET_DOMAIN = os.getenv("OSS_BUCKET_DOMAIN")
- FILES = [
- ("小龙虾客户端 Setup 1.2.0(1).exe", "releases/openclaw-setup-1.2.0.exe"),
- ("小龙虾客户端 Setup 1.2.0-wangxunai.exe", "releases/openclaw-setup-1.2.0-wangxunai.exe"),
- ]
- if not all([ACCESS_KEY_ID, ACCESS_KEY_SECRET, BUCKET_NAME]):
- print("OSS 配置缺失,请检查 backend/.env")
- sys.exit(1)
- auth = oss2.Auth(ACCESS_KEY_ID, ACCESS_KEY_SECRET)
- bucket = oss2.Bucket(auth, ENDPOINT, BUCKET_NAME)
- for local_file, oss_key in FILES:
- if not os.path.exists(local_file):
- print(f"文件不存在,跳过:{local_file}")
- continue
- print(f"正在上传 {local_file}(约 {os.path.getsize(local_file) // 1024 // 1024} MB)...")
- oss2.resumable_upload(
- bucket, oss_key, local_file,
- multipart_threshold=10 * 1024 * 1024,
- part_size=10 * 1024 * 1024,
- num_threads=4,
- )
- url = f"https://{BUCKET_DOMAIN}/{oss_key}"
- print(f"上传成功:{url}\n")
|