首页 > 解决方案 > 如何使用 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

多谢你们。

标签: pythonapimavennexus

解决方案


我找不到查看如何传递参数的好方法,所以我使用 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)

推荐阅读