# huaweicloud-cloudartifact-versiondownload-java
**Repository Path**: HuaweiCloudDeveloper/huaweicloud-cloudartifact-versiondownload-java
## Basic Information
- **Project Name**: huaweicloud-cloudartifact-versiondownload-java
- **Description**: 管理CloudArtifact制品仓库服务的API场景示例和服务场景示例代码
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master-dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-12-05
- **Last Updated**: 2025-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 1.版本说明
本示例基于华为云SDK V3.0+版本开发
## 2.功能介绍
华为云提供了制品仓库SDK,您可以直接集成服务端SDK来调用制品仓库SDK的相关API,从而实现对制品仓库服务的快速操作。 该示例展示了如何通过Java版SDK查询项目下文件列表,获取文件下载链接并下载文件。
## 3.前置条件
- 1.开发者已注册华为云账号。
- 2.已在制品仓库服务上传文件。
- 3.开发者在使用前需先获取账号的**AK、SK**。
## 4.安装SDK
您可以通过Maven方式获取和安装SDK,您只需要在Java项目的pom.xml文件中加入相应的依赖项即可。
CloudArtifact的DSK版本需高于3.0.0,具体的SDK版本号请参见[SDK开发中心](https://sdkcenter.developer.huaweicloud.com/?product=%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA)。
```java
com.huaweicloud.sdk
huaweicloud-sdk-codeartsartifact
3.1.25
```
## **5.文件下载说明**
### **查询文件版本**
```java
package com.huawei.demo;
import com.huaweicloud.sdk.codeartsartifact.v2.CodeArtsArtifactClient;
import com.huaweicloud.sdk.codeartsartifact.v2.model.ReleaseFileVersionDo;
import com.huaweicloud.sdk.codeartsartifact.v2.model.ShowProjectReleaseFilesRequest;
import com.huaweicloud.sdk.codeartsartifact.v2.model.ShowProjectReleaseFilesResponse;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.core.http.HttpConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
public class ShowProjectReleaseFilesDemo {
private static final Logger LOGGER = LoggerFactory.getLogger(ShowProjectReleaseFilesDemo.class.getName());
public static void main(String[] args) {
HttpConfig config = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(true);
ICredential auth = new BasicCredentials().withAk("").withSk("")
.withProjectId("");
CodeArtsArtifactClient client = CodeArtsArtifactClient.newBuilder().withCredential(auth)
.withEndpoint("").withHttpConfig(config).build();
ShowProjectReleaseFilesRequest request = new ShowProjectReleaseFilesRequest();
request.setProjectId("");
request.setFileName("");
request.setOffset(0);
request.setLimit(10);
try {
// 请求查询文件信息
ShowProjectReleaseFilesResponse response = client.showProjectReleaseFiles(request);
List releaseFileVersionDoList = response.getResult().getData();
for (int i = 0; i < releaseFileVersionDoList.size(); i++) {
String filePath = releaseFileVersionDoList.get(i).getPath();
String version = releaseFileVersionDoList.get(i).getVersion();
String downloadUrl = releaseFileVersionDoList.get(i).getDownloadUrl();
// 获取文件信息
LOGGER.info("FilePath:{}, Version:{}, DownloadUrl:{}", filePath, version, downloadUrl);
}
} catch (ConnectionException e) {
LOGGER.error(e.getMessage());
} catch (RequestTimeoutException e) {
LOGGER.error(e.getMessage());
} catch (ServiceResponseException e) {
LOGGER.error(e.getMessage());
LOGGER.error(String.valueOf(e.getHttpStatusCode()));
LOGGER.error(e.getErrorCode());
LOGGER.error(e.getErrorMsg());
}
}
}
```

### 根据查询到的文件下载链接下载文件
#### **通过编译构建任务下载版本文件**


## 6.修订记录
|发布日期 |版本号 |修订说明 |
|--|--|--|
| 2022.10.30 | 1.1 |首次发布 |