更新时间:2023-11-21 GMT+08:00
添加数据示例
添加数据示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用AddDataParam类的setImageUrl、setItemId、setCustomTags、setCustomNumTags方法配置服务输入参数,配置完成后运行即可。
- 添加数据调用示例代码如下:
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; 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.region.Region; import com.huaweicloud.sdk.imagesearch.v2.*; import com.huaweicloud.sdk.imagesearch.v2.model.*; import java.util.Map; import java.util.HashMap; /** * 添加数据 */ public class RunAddDataSolution { public static void main(String[] args) { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); String iamEndpoint = "https://iam.cn-north-4.myhuaweicloud.com"; String endpoint = "https://mms.cn-north-4.myhuaweicloud.com"; String projectId = "project_id"; // 初始化客户端 ICredential auth = new BasicCredentials() .withIamEndpoint(iamEndpoint) .withProjectId(projectId) .withAk(ak) .withSk(sk); ImageSearchClient client = ImageSearchClient.newBuilder() .withCredential(auth) // 设置region, 示例中为北京四 .withRegion(new Region("cn-north-4", endpoint)) .build(); RunAddDataRequest request = new RunAddDataRequest(); request.withServiceName("service_name"); AddDataParam body = new AddDataParam(); Map<String, Double> listbodyCustomNumTags = new HashMap<>(); listbodyCustomNumTags.put("key", (double)1); Map<String, String> listbodyCustomTags = new HashMap<>(); listbodyCustomTags.put("key", "value"); // 替换为公网可以访问的图片地址 body.withImageUrl("https://bucketname.obs.cn-north-4.myhuaweicloud.com/image/test1.jpg"); body.withCustomNumTags(listbodyCustomNumTags); body.withCustomTags(listbodyCustomTags); body.withItemId("item_id"); request.withBody(body); try { RunAddDataResponse response = client.runAddData(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
- 执行示例代码,控制台返回添加数据结果输出到控制台即表示程序执行成功。
class RunAddDataResponse { result: success data: class AddDataRestInfo { imageInfo: class AddDataRestInfoImageInfo { objects: [class AddDataRestInfoImageInfoObjects { box: 135,489,1117,1341 category: 1 categoryName: top }] } } }
父主题: 使用SDK(Java)