最近更新时间:2023.09.01 17:36:39
首次发布时间:2022.11.10 17:24:44
阅读本文,您可以快速了解资源管理 Java SDK 的使用方法。
说明
以下 SDK 示例中仅展示了部分参数,您可以在方法名中查看该接口支持的全部参数及取值。
调用接口前请先完成初始化,具体操作请参考初始化。
以下内容用于通过指定服务 ID 和上传文件,来获取上传成功的资源 URI。
UploadImages 接口内部依次调用了 ApplyImageUpload 和 CommitImageUpload 两个 OpenAPI 来实现完整文件上传能力。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.request.ApplyImageUploadRequest; import com.volcengine.model.response.CommitImageUploadResponse; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; /** * 上传文件 */ public class UploadImage { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); ApplyImageUploadRequest request = new ApplyImageUploadRequest(); request.setServiceId("service id"); // 服务 ID // request.setOverwrite("False"); try { // 读取文件 List<byte[]> datas = new ArrayList<>(); datas.add(Files.readAllBytes(Paths.get("image path 1"))); datas.add(Files.readAllBytes(Paths.get("image path 2"))); // 上传文件 CommitImageUploadResponse response = service.uploadImages(request, datas); System.out.println(response); } catch (Exception e) { e.printStackTrace(); } } }
以下内容用于通过指定服务 ID 以及已上传的文件 URI,来获取上传文件的详细信息,如:文件修改时间和文件字节数等。
具体接口参数和返回字段请参考 GetImageUploadFile。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.request.GetImageUploadFileRequest; import com.volcengine.model.response.GetImageUploadFileResponse; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; /** * 获取文件信息 */ public class FileInfo { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); GetImageUploadFileRequest req = new GetImageUploadFileRequest(); req.setServiceId("service id"); // 服务 ID req.setStoreUri("store uri"); // 文件的 Store URI try { GetImageUploadFileResponse resp = service.getImageUploadFile(req); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
以下内容用于通过指定服务 ID,获取当前服务下的所有的上传文件信息。
具体接口参数和返回字段请参考 GetImageUploadFiles。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.request.GetImageUploadFilesRequest; import com.volcengine.model.response.GetImageUploadFilesResponse; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; /** * 获取文件列表 */ public class ListFile { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); GetImageUploadFilesRequest req = new GetImageUploadFilesRequest(); req.setServiceId("service id"); // 服务 ID req.setLimit(50); // 获取数量 req.setMarker(0L); // 偏移量 try { GetImageUploadFilesResponse resp = service.getImageUploadFiles(req); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
以下内容用于通过指定服务 ID 以及需要删除的文件 URI 列表,来删除指定的文件。
具体接口参数和返回字段请参考 DeleteImageUploadFiles。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.request.DeleteImageReq; import com.volcengine.model.response.DeleteImageResp; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; import java.util.ArrayList; import java.util.List; /** * 删除文件 */ public class DeleteImage { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); List<String> uris = new ArrayList<>(); uris.add("image uri 1"); uris.add("image uri 2"); DeleteImageReq req = new DeleteImageReq(); req.setServiceId("service id"); // 服务 ID req.setStoreUris(uris); // 想要删除的文件列表 try { DeleteImageResp resp = service.deleteImages(req); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
本接口支持在指定服务 ID 、待更改操作的文件和文件操作类型(刷新 URL、刷新目录、预热 URL、禁用 URL 和解禁 URL)后创建相关文件管理任务。
具体接口参数和返回字段请参考 CreateImageContentTask。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.imagex.CreateImageContentTaskReq; import com.volcengine.model.imagex.CreateImageContentTaskResp; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; import java.util.Collections; /** * 刷新/预热/禁用/解禁 * 创建刷新/预热/禁用/解禁任务 */ public class CreateImageContentTaskDemo { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); CreateImageContentTaskReq req = new CreateImageContentTaskReq(); req.setServiceId("service id"); // 服务 ID req.setTaskType("block_url"); // 任务类型 req.setUrls(Collections.singletonList("url")); // 待更新的文件 URL 列表(可以通过浏览器访问的完整 URL) try { CreateImageContentTaskResp resp = service.createImageContentTask(req); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
本接口支持查询近 30 天内刷新/预热/禁用/解禁任务详情列表。
具体接口参数和返回字段请参考 GetImageContentTaskDetail。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.imagex.GetImageContentTaskDetailReq; import com.volcengine.model.imagex.GetImageContentTaskDetailResp; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; /** * 刷新/预热/禁用/解禁 * 获取任务详情 */ public class GetImageContentTaskDetailDemo { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); GetImageContentTaskDetailReq req = new GetImageContentTaskDetailReq(); req.setServiceId("service id"); // 服务 ID req.setStartTime(0L); req.setEndTime(2147483647L); try { GetImageContentTaskDetailResp resp = service.getImageContentTaskDetail(req); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
本接口支持获取近 30 天内的已被禁用的 URL 列表详情,若 URL 解禁成功,则无法被查询。
具体接口参数和返回字段请参考 GetImageContentBlockList。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.imagex.GetImageContentBlockListReq; import com.volcengine.model.imagex.GetImageContentBlockListResp; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; /** * 刷新/预热/禁用/解禁 * 获取禁用 URL 列表详情 */ public class GetImageContentBlockListDemo { public static void main(String[] args) { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); GetImageContentBlockListReq req = new GetImageContentBlockListReq(); req.setServiceId("service id"); // 服务 ID req.setStartTime(0L); req.setEndTime(2147483647L); try { GetImageContentBlockListResp resp = service.getImageContentBlockList(req); System.out.println(resp); } catch (Exception e) { e.printStackTrace(); } } }
以下内容用于指定公网可访问的待迁移资源 URL 以及迁移目标服务 ID,来对资源进行迁移,并得到迁移后的资源 URI 等信息,并获取异步抓取任务详情。
具体接口参数和返回字段请参考 FetchImageUrl和 GetUrlFetchTask。我们同时在 GitHub 上提供了参考示例。
具体示例如下所示:
package com.volcengine.example.imagex; import com.volcengine.model.imagex.GetUrlFetchTaskRequest; import com.volcengine.model.imagex.GetUrlFetchTaskResponse; import com.volcengine.model.request.FetchImageUrlRequest; import com.volcengine.model.response.FetchImageUrlResponse; import com.volcengine.service.imagex.IImageXService; import com.volcengine.service.imagex.impl.ImageXServiceImpl; /** * 单资源 URL 数据迁移 */ public class FetchUrl { public static void main(String[] args) throws Exception { // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域 IImageXService service = ImageXServiceImpl.getInstance(); service.setAccessKey("ak"); service.setSecretKey("sk"); FetchImageUrlRequest req1 = new FetchImageUrlRequest(); req1.setServiceId("service id"); // 服务 ID req1.setUrl("https://example.com/"); FetchImageUrlResponse resp1; try { resp1 = service.fetchImageUrl(req1); System.out.println(resp1); } catch (Exception e) { e.printStackTrace(); throw e; } if (!Boolean.TRUE.equals(req1.getAsync())) { return; } try { GetUrlFetchTaskRequest req2 = new GetUrlFetchTaskRequest(); req2.setId(resp1.getResult().getTaskId()); req2.setServiceId(req1.getServiceId()); GetUrlFetchTaskResponse resp2 = service.getUrlFetchTask(req2); System.out.println(resp2); } catch (Exception e) { e.printStackTrace(); throw e; } } }
ß