本示例介绍如何使用Alibaba Cloud SDK for Java新建自定义人脸检索个体。

前提条件

在使用本教程之前,请确保已完成以下操作:
  • 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。
  • 确保您已经安装了Alibaba Cloud SDK for Java,准确的SDK版本号,请参见 阿里云开发工具包(SDK)
    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core -->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.4.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.61</version>
        </dependency>
    </dependencies>

代码示例

新建个体代码示例如下:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.http.ProtocolType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import java.util.Arrays;
import org.apache.commons.codec.binary.StringUtils;

public class FaceAddPersonRequestSample {
    public static void main(String[] args) {
        IClientProfile profile = DefaultProfile.getProfile(
                "<your-region-id>", // 您的可用区ID
                "<your-access-key-id>", // 您的AccessKey ID
                "<your-access-key-secret>"); // 您的AccessKey Secret
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        // 指定请求方式
        request.setSysMethod(MethodType.POST);
        // 指定请求地址
        request.setSysDomain("green.cn-hangzhou.aliyuncs.com");
        // 指定请求方法
        request.setSysUriPattern("/green/sface/person/add");
        // 指定请求版本
        request.setSysVersion("2018-05-09");
        // 支持HTTP和HTTPS
        request.setSysProtocol(ProtocolType.HTTPS);

        JSONObject httpBody = new JSONObject();
        // 指定新建个体要加入的组ID列表
        httpBody.put("groupIds",Arrays.asList("group1"));
        // 新建个体的ID
        httpBody.put("personId","person2");
        // 新建个体的名称
        httpBody.put("name","jack");
        // 备注
        httpBody.put("note","2333");
        // 设置请求体编码和格式
        request.setHttpContent(StringUtils.getBytesUtf8(httpBody.toJSONString()),
                "UTF-8", FormatType.JSON);
        try {
            CommonResponse response = client.getCommonResponse(request);
            JSONObject dataJson = JSON.parseObject(response.getData());
            System.out.println(JSON.toJSONString(dataJson, true));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

执行结果

正确的返回结果类似如下:
{
    "code":200,
    "data":{
        "code":200,
        "groupIds":[
            "group1"
        ],
        "personId":"person2"
    },
    "requestId":"2115914F-32AB-420B-8692-4C5664151DEB"
}