python - 如何使用 api 和 python 将 zip 文件 RAW 上传到 Nexus 存储库
问题描述
我需要将一些 zip 文件上传到存储库,我们使用的是 Raw,因为它们只是稍后我们将下载的文件,我们只保留它们用于版本控制
所以我在nexus中有一个本地zip文件和一个存储库,我如何使用API上传它,我需要先在存储库中创建一个文件夹吗?或者当我上传文件时,我可以指定路径,API 将在 Nexus 中创建文件夹结构并将 zip 文件放在那里?
我一直试图理解,但显示了 mavens 和其他软件的
https://help.sonatype.com/repomanager3/rest-and-integration-api/assets-api
多谢你们。
解决方案
我找不到查看如何传递参数的好方法,所以我使用 api https://my_site.net/swagger-ui/#/components/uploadComponent 完成了它,然后我将 curl 复制到https:/ /curl.trillworks.com/#python并删除了不需要的东西,我最终得到了,希望对未来的某个人有用。
import requests
files = {
'raw.directory': (None, 'testing/testing2'), # folder structure you want in nexus
'raw.asset1': (open('path/to/your/file.zip', 'rb')),
'raw.asset1.filename': (None, 'desire_name.zip'), # this is the name you want to see in nexus
}
response = requests.post('https://my_site/service/rest/v1/components?repository={repo_name}'.format(repo_name="your_repo"), files=files, auth=(NEXUS_USER, NEXUS_PASSWORD), verify=False)
推荐阅读
- c++ - 什么是 Cmake 文件以及为什么我们在拥有 VIsual Studio 时使用它
- php - 按下按钮时传递动态变量
- c# - Buffer.BlockCopy - 对象必须是基元数组
- android - 使用导航组件时按下后退按钮退出应用程序而不是导航到上一个屏幕
- ios - 无法添加 Mapbox 和 MapboxNavigation SDK
- angular - 在没有应用程序运行的情况下处理 SwPush 通知操作
- c++ - 用 std::initializer_list 构造嵌套的 std::array
- java - Jax rs 资源 404 未找到错误
- javascript - 将数组与另一个数组进行比较,匹配所有元素(TypeScript、Angular Pipe)
- python - 为什么python3找不到已经安装的模块?