全部产品

Java SDK

准备工作

  1. 在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。详情请参考创建AccessKey

  2. 将 SDK添加到项目中引入 Java SDK 依赖,通过 maven 依赖的方式将 MultiSearch 的SDK加入到自己的项目中。

    <dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>videosearch20200225</artifactId>
    <version>1.0.0</version>
    </dependency>

完整代码示例

创建视频入库任务

//  设置Region以北京为例,其它Region请按实际情况填写。
String  region  ="cn-beijing";
//  阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录  https://ram.console.aliyun.com  创建RAM账号。
String  accessKeyId  ="<yourAccessKeyId>";
String  accessKeySecret  ="<yourAccessKeySecret>";

// 创建Config
Config config =newConfig();
config.regionId ="<yourRegionId>";
config.accessKeyId ="<yourAccessKeyId>";
config.accessKeySecret ="<yourAccessKeySecret>";
config.endpoint="multisearch.<regionId>.aliyuncs.com"

try{
Client client =newClient(config);

AddStorageVideoTaskRequest request =newAddStorageVideoTaskRequest();
// 实例id
        request.setInstanceId("<yourInstanceId>");
// 视频url
        request.setVideoUrl("<yourVideoUrl>");
// 视频id(业务key)
        request.setVideoId("<yourVideoId>");
// 视频描述
        request.setDescription("<yourDescription>");
// 视频标签
        request.setVideoTags("<yourVideoTag>");
// 入库完成的回调
        request.setCallbackUrl("<yourCallbackUrl>");

AddStorageVideoTaskResponse response = client.addStorageVideoTask(request);

System.out.println("requestId : "+ response.getRequestId());
System.out.println("Data : "+ JSON.toJSONString(response.getData()));
}catch(TeaException e){
System.out.println(JSON.toJSONString(e.getData()));
System.out.println(e.getCode());
System.out.println(e.getMessage());
}catch(Exception e){
        e.printStackTrace();
}

创建视频检索任务

//  设置Region以北京为例,其它Region请按实际情况填写。
String  region  ="cn-beijing";
//  阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录  https://ram.console.aliyun.com  创建RAM账号。
String  accessKeyId  ="<yourAccessKeyId>";
String  accessKeySecret  ="<yourAccessKeySecret>";

// 创建Config
Config config =newConfig();
config.regionId ="<yourRegionId>";
config.accessKeyId ="<yourAccessKeyId>";
config.accessKeySecret ="<yourAccessKeySecret>";
config.endpoint="multisearch.<regionId>.aliyuncs.com"

try{
Client client =newClient(config);


AddSearchVideoTaskRequest request =newAddSearchVideoTaskRequest();

// 实例id
        request.setInstanceId("<yourInstanceId>");
// 检索类型(1. 视频搜视频   2. 图片搜视频)
        request.setSearchType(1);
// 视频/图片的url地址
//如果需要使用 本地文件上传的功能,则用xxxFileObject参数并且使用 AddSearchXXXTaskAdvanceRequest对象
        request.setVideoUrl("<yourVideoUrl>");
// 视频/图片的描述
        request.setDescription("<yourDescription>");
// 检索标签
        request.setQueryTags("<yourQueryTags>");
// 返回结果数
        request.setReturnVideoNumber(20);
// 查询入库类型,当检索类型为1时生效(1. 直接入库  2. 去重入库  3. 不入库)
        request.setStorageType(3);
// 视频id,当searchType为1且storageType为1,2时生效
        request.setVideoId("<yourVideoId>");
// 视频标签,当searchType为1且storageType为1,2时生效
        request.setVideoTags("<yourVideoTags>");
// 去重入库阈值,searchType为1且storageType为2时生效
        request.setReplaceStorageThreshold(0.75f);
// 检索完成的回调
        request.setCallbackUrl("<yourCallbackUrl>");

AddSearchVideoTaskResponse response = client.addSearchVideoTask(request);

System.out.println("requestId : "+ response.getRequestId());
System.out.println("Data : "+ JSON.toJSONString(response.getData()));
}catch(TeaException e){
System.out.println(JSON.toJSONString(e.getData()));
System.out.println(e.getCode());
System.out.println(e.getMessage());
}catch(Exception e){
        e.printStackTrace();
}

查询任务状态

//  设置Region以北京为例,其它Region请按实际情况填写。
String  region  ="cn-beijing";
//  阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录  https://ram.console.aliyun.com  创建RAM账号。
String  accessKeyId  ="<yourAccessKeyId>";
String  accessKeySecret  ="<yourAccessKeySecret>";

// 创建Config
Config config =newConfig();
config.regionId ="<yourRegionId>";
config.accessKeyId ="<yourAccessKeyId>";
config.accessKeySecret ="<yourAccessKeySecret>";
config.endpoint="multisearch.<regionId>.aliyuncs.com"

try{
Client client =newClient(config);

GetTaskStatusRequest request =newGetTaskStatusRequest();
// 实例id
        request.setInstanceId("<yourInstanceId>");
// 任务id
        request.setTaskId("<yourTaskId>");

GetTaskStatusResponse response = client.getTaskStatus(request);

System.out.println("requestId : "+ response.getRequestId());
System.out.println("Data : "+ JSON.toJSONString(response.getData()));
System.out.println("TaskInfo : "+ JSON.toJSONString(response.getTaskInfo()));
}catch(TeaException e){
System.out.println(JSON.toJSONString(e.getData()));
System.out.println(e.getCode());
System.out.println(e.getMessage());
}catch(Exception e){
        e.printStackTrace();
}

查询入库历史

//  设置Region以北京为例,其它Region请按实际情况填写。
String  region  ="cn-beijing";
//  阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录  https://ram.console.aliyun.com  创建RAM账号。
String  accessKeyId  ="<yourAccessKeyId>";
String  accessKeySecret  ="<yourAccessKeySecret>";


// 创建Config
Config config =newConfig();
config.regionId ="<yourRegionId>";
config.accessKeyId ="<yourAccessKeyId>";
config.accessKeySecret ="<yourAccessKeySecret>";
config.endpoint="multisearch.<regionId>.aliyuncs.com"

try{
Client client =newClient(config);

GetStorageHistoryRequest request =newGetStorageHistoryRequest();
// 实例id
        request.setInstanceId("<yourInstanceId>");
// 视频id
        request.setVideoId("<yourVideoId>");
// 当前页数
        request.setPageNumber(1);
// 分页大小
        request.setPageSize(10);

GetStorageHistoryResponse response = client.getStorageHistory(request);

System.out.println("requestId : "+ response.requestId);
System.out.println("Data : "+ JSON.toJSONString(response.getData()));
}catch(TeaException e){
System.out.println(JSON.toJSONString(e.getData()));
System.out.println(e.getCode());
System.out.println(e.getMessage());
}catch(Exception e){
        e.printStackTrace();
}

删除视频

//  设置Region以北京为例,其它Region请按实际情况填写。
String  region  ="cn-beijing";
//  阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录  https://ram.console.aliyun.com  创建RAM账号。
String  accessKeyId  ="<yourAccessKeyId>";
String  accessKeySecret  ="<yourAccessKeySecret>";


// 创建Config
Config config =newConfig();
config.regionId ="<yourRegionId>";
config.accessKeyId ="<yourAccessKeyId>";
config.accessKeySecret ="<yourAccessKeySecret>";
config.endpoint="multisearch.<regionId>.aliyuncs.com"

try{
Client client =newClient(config);

AddDeletionVideoTaskRequest request =newAddDeletionVideoTaskRequest();
// 实例id
        request.setInstanceId("<yourInstanceId>");
// 视频id
        request.setVideoId("<yourVideoId>");

AddDeletionVideoTaskResponse response = client.addDeletionVideoTask(request);

System.out.println("requestId : "+ response.requestId);
System.out.println("Data : "+ response.getData());
}catch(TeaException e){
System.out.println(JSON.toJSONString(e.getData()));
System.out.println(e.getCode());
System.out.println(e.getMessage());
}catch(Exception e){
        e.printStackTrace();
}