You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

资源管理

最近更新时间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();
        }
    }
}

获取禁用 URL 列表详情

本接口支持获取近 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();
        }
    }
}

数据抓取(Fetch)

以下内容用于指定公网可访问的待迁移资源 URL 以及迁移目标服务 ID,来对资源进行迁移,并得到迁移后的资源 URI 等信息,并获取异步抓取任务详情。

具体接口参数和返回字段请参考 FetchImageUrlGetUrlFetchTask。我们同时在 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;
        }

    }
}

ß