
# 资源相关
#### 前提条件
- 已参考[Java SDK概述](https://support.huaweicloud.com/sdkreference-dli/dli_04_0125.html)配置Java SDK环境。
- 已参考[初始化DLI客户端](https://support.huaweicloud.com/sdkreference-dli/dli_04_0008.html)完成客户端DLIClient的初始化。
 
 #### 上传资源包
您可以使用DLI提供的接口上传资源包，示例代码如下：
```
private static void uploadResources(DLIClient client) throws DLIException {
  String kind = "jar";
  String[] paths = new String[1];
  paths[0] = "https://bucketname.obs.cn-north-1.myhuaweicloud.com/jarname.jar";
  String description = "test for sdk";
  // 调用DLIClient对象的uploadResources方法上传资源
  List<PackageResource> packageResources = client.uploadResources(kind, paths, description);
  System.out.println("---------- uploadResources success ---------");
}
```
![](https://support.huaweicloud.com/sdkreference-dli/public_sys-resources/note_3.0-zh-cn.png)
请求参数说明如下，详细参数使用可以参考[Python SDK概述](https://support.huaweicloud.com/sdkreference-dli/dli_04_0124.html)下载样例代码。
- kind：资源包类型，当前支持包类型分别为：
  - **jar**：用户jar文件
  
  - **pyfile**：用户Python文件
  
  - **file**：用户文件
  
  - **modelfile**：用户AI模型文件
   
- paths：对应资源包的OBS路径，参数构成为：{bucketName}.{obs域名}/{jarPath}/{jarName}。
- description：资源包描述信息。
 
 #### 查询所有资源包
DLI提供查询资源列表接口，您可以使用该接口并选择相应的资源来执行作业。示例代码如下：
```
private static void listAllResources(DLIClient client) throws DLIException {
  System.out.println("list all resources...");
  // 通过调用DLIClient对象的listAllResources方法查询队列资源列表
  Resources resources = client.listAllResources();
  for (PackageResource packageResource : resources.getPackageResources()) {
    System.out.println("Package resource name:" + packageResource.getResourceName());
  }
  for (ModuleResource moduleResource : resources.getModuleResources()) {
    System.out.println("Module resource name:" + moduleResource.getModuleName());
  }
}
```
 #### 查询指定资源包
您可以使用该接口查询指定的资源包信息，示例代码如下：
```
private static void getResource(DLIClient client) throws DLIException {
  String resourceName = "xxxxx";
  //group:资源包不在分组内，可不传入该参数
  String group= "xxxxxx";
  // 调用DLIClient对象的getResource方法查询指定资源包
  PackageResource packageResource=client.getResource(resourceName,group);
  System.out.println(packageResource);
}
```
 #### 删除资源包
您可以使用该接口删除已上传的资源包，示例代码如下：
```
private static void deleteResource(DLIClient client) throws DLIException {
  String resourceName = "xxxxx";
  //group:资源包不在分组内，可不传入该参数
  String group= "xxxxxx";
  // 调用DLIClient对象的deleteResource方法删除资源
  client.deleteResource(resourceName,group);
  System.out.println("---------- deleteResource success ---------");
}
```
