Updated on 2023-07-17 GMT+08:00

Submitting a Task

  1. This section describes how to use the Image Moderation SDK by AK/SK authentication.

    Replace the AK/SK in the sample code with the actual AK/SK. You can use the withUrls method of the RunTaskSumbitRequest class to configure the URLs of the images to be reviewed, and then execute the code.

    package com.huaweicloud.sdk.test;
    
    import com.alibaba.fastjson.JSON;
    
    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.moderation.v2.ModerationClient;
    import com.huaweicloud.sdk.moderation.v2.region.ModerationRegion;
    import com.huaweicloud.sdk.moderation.v2.model.RunTaskSumbitRequest;
    import com.huaweicloud.sdk.moderation.v2.model.TaskSumbitReq;
    import com.huaweicloud.sdk.moderation.v2.model.RunTaskSumbitResponse;
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class RunTaskSumbitSolution {
        public static void main(String[] args) {
           //Enter your AK/SK.
            String ak = "<YOUR AK>";
            String sk = "<YOUR SK>";
            ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);
            ModerationClient client = ModerationClient.newBuilder()
                .withCredential(auth)
                .withRegion(ModerationRegion.valueOf("xxx"))   //Replace xxx with the region where the service is located.
                .build();
            RunTaskSumbitRequest request = new RunTaskSumbitRequest();
            TaskSumbitReq body = new TaskSumbitReq();
            List<TaskSumbitReq.CategoriesEnum> listbodyCategories = new ArrayList<>();
            listbodyCategories.add(TaskSumbitReq.CategoriesEnum.fromValue("porn"));
            List<String> listbodyUrls = new ArrayList<>();
            listbodyUrls.add("https://XXX.jpg"); //Replace it with an image URL that can be accessed from the Internet.
            body.withCategories(listbodyCategories);
            body.withUrls(listbodyUrls);
            request.withBody(body);
            try {
                RunTaskSumbitResponse response = client.runTaskSumbit(request);
                System.out.println(response.getHttpStatusCode());
                System.out.println(JSON.toJSONString(response));
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
  2. If 200 is displayed on the console, the code is successfully executed. The result of submitting the Image Moderation (Asynchronous Batch) task is displayed on the console.
    200
    {"httpStatusCode":200,"result":{"jobId":"7f6a5881-7774-40cf-903b-4548914b55a3"}}
    
    Process finished with exit code 0