Updated on 2022-11-09 GMT+08:00

Querying an Image

This section describes how to query an image using AK/SK authentication.

Replace the AK/SK in the sample code with the actual AK/SK. Use the setPath method of the CheckPictureReq class to specify the URL of the image you want to query. After the configuration is complete, run the code.

  1. The sample code for querying an image is as follows:
    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.imagesearch.v1.*;
    import com.huaweicloud.sdk.imagesearch.v1.model.*;
    import com.huaweicloud.sdk.imagesearch.v1.region.ImageSearchRegion;
     
    /**
     * Check whether the image exists in the index library by searching for it in the specified path.
     */
    public class RunCheckPictureSolution {
        
        public static void main(String[] args) {
            //Set the obtained AK and SK.
            String ak = "<YOUR AK>";
            String sk = "<YOUR SK>";
            
            ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);
            
            ImageSearchClient client = ImageSearchClient.newBuilder()
                .withCredential(auth)
                //Set the region. In this example, CN North-Beijing4 is used.
                .withRegion(ImageSearchRegion.valueOf("cn-north-4"))
                .build();
            RunCheckPictureRequest request = new RunCheckPictureRequest();
            //Set the instance name.
            request.setInstanceName("instance-name");
            DeletePictureReq body = new DeletePictureReq();
            //Image URL, which is used as the ID of an image in the image library.
            body.setPath("https://bucketname.obs.cn-north4.myhuaweicloud.com/searchtest.jpg");
            request.setBody(body);
            
            try {
                RunCheckPictureResponse response = client.runCheckPicture(request);
                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. Execute the sample code. If the image query result is displayed on the console, the code is successfully executed. For details, see Querying an Image.
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    {"exist":"true","httpStatusCode":200}
     
    Process finished with exit code 0