# 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()); } } } ``` ![](assets/version-query.png) ### 根据查询到的文件下载链接下载文件 #### **通过编译构建任务下载版本文件** ![](assets/version-download.png) ![](assets/download-success.png) ## 6.修订记录 |发布日期 |版本号 |修订说明 | |--|--|--| | 2022.10.30 | 1.1 |首次发布 |