如何使用Python将Artifactory文件下载到Unix系统指定目录
Python实现Artifactory文件下载入门指引
前置准备
- Python 3.6及以上运行环境
- 安装requests依赖库,执行命令:
pip3 install requests - 准备Artifactory访问凭证:用户名 + 个人API密钥(可在Artifactory用户设置界面生成,安全性高于账号密码)
核心实现逻辑
直接通过GET请求访问Artifactory资源的完整URL,请求时携带身份认证信息,将返回的二进制流写入本地指定路径即可。
完整脚本代码
import os import requests def download_artifactory_file(resource_url, target_folder, username, api_key): # 目标文件夹不存在时自动创建 os.makedirs(target_folder, exist_ok=True) # 从资源URL中提取原始文件名 filename = resource_url.rsplit("/", 1)[-1] local_full_path = os.path.join(target_folder, filename) # 流式下载适配大文件场景,避免内存溢出 resp = requests.get( url=resource_url, auth=(username, api_key), stream=True, timeout=300 ) # 请求异常直接抛出错误码 resp.raise_for_status() # 分块写入本地文件 with open(local_full_path, "wb") as f: for chunk in resp.iter_content(chunk_size=1024*1024): if chunk: f.write(chunk) print(f"下载完成,文件路径:{local_full_path}") if __name__ == "__main__": # 替换为实际配置即可运行 RESOURCE_URL = "Artifactory中待下载文件的完整URL" TARGET_UNIX_FOLDER = "/path/to/your/target/folder" ARTIFACTORY_USER = "你的Artifactory账号" ARTIFACTORY_API_KEY = "你的个人API密钥" download_artifactory_file(RESOURCE_URL, TARGET_UNIX_FOLDER, ARTIFACTORY_USER, ARTIFACTORY_API_KEY)
使用方法
- 将上述代码保存为
dl_artifact.py文件 - 替换脚本末尾的四个配置参数为实际值
- 在Unix终端执行命令运行:
python3 dl_artifact.py
注意事项
- 生产环境不要硬编码账号和密钥,可通过系统环境变量读取凭证,示例:
api_key = os.getenv("ARTIFACTORY_API_KEY") - 若下载大文件超时,可适当调大
timeout参数的数值 - 401报错请检查凭证有效性和资源访问权限,404报错请确认资源URL拼写正确
内容的提问来源于stack exchange,提问作者din ohayon
相关产品推荐
相关产品推荐

