This topic describes how to use the Java software development kit (SDK) to delete a specified similarity library.
Description
A similarity library can be deleted only if it contains no image samples. For more information about the parameters, see the DeleteSimilarityLibrary API reference.
You must use the Content Moderation endpoint to call the service using the SDK. For more information about API endpoints, see Endpoints.
Prerequisites
Java dependencies are installed. For more information, see Installation.
NoteYou must use the Java version described in the Installation topic to install the dependencies. Otherwise, subsequent operation calls fail.
The Extension.Uploader utility class is downloaded and imported into your project if you submit a local image or a binary image stream for image moderation.
Delete Similar Image Library Job
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.green.model.v20180509.DeleteSimilarityLibraryRequest;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.http.ProtocolType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class DeleteSimilarityLibrarySample {
public static void main(String[] args) throws Exception {
/**
* An Alibaba Cloud account AccessKey has full permissions for all APIs. Use a Resource Access Management (RAM) user for API calls or routine O&M.
* You can obtain environment variables in the following ways:
* Method 1:
* Obtain the AccessKey ID of the RAM user: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Obtain the AccessKey secret of the RAM user: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
* Method 2:
* Obtain the AccessKey ID of the RAM user: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Obtain the AccessKey secret of the RAM user: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.getProfile(
"cn-shanghai",
"Obtain the AccessKey ID from an environment variable",
"Obtain the AccessKey secret from an environment variable");
DefaultProfile.addEndpoint("cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
IAcsClient client = new DefaultAcsClient(profile);
DeleteSimilarityLibraryRequest request = new DeleteSimilarityLibraryRequest();
// Specify the API response format and the request method.
request.setAcceptFormat(FormatType.JSON);
request.setMethod(MethodType.POST);
request.setEncoding("utf-8");
request.setProtocol(ProtocolType.HTTP);
JSONObject httpBody = new JSONObject();
httpBody.put("name", "The name of the similarity library");
request.setHttpContent(org.apache.commons.codec.binary.StringUtils.getBytesUtf8(httpBody.toJSONString()),
"UTF-8", FormatType.JSON);
/**
* Set the timeout period. The server-side timeout period for the entire link is 10 seconds. Set the timeout period for your request accordingly.
* If the ReadTimeout value that you set is less than the server-side processing time, a ReadTimeout exception is returned.
*/
request.setConnectTimeout(3000);
request.setReadTimeout(10000);
HttpResponse httpResponse = null;
try {
httpResponse = client.doAction(request);
// The result returned by the server after the server receives and processes the request.
if (httpResponse != null && httpResponse.isSuccess()) {
JSONObject scrResponse = JSON.parseObject(org.apache.commons.codec.binary.StringUtils.newStringUtf8(httpResponse.getHttpContent()));
System.out.println(JSON.toJSONString(scrResponse, true));
int requestCode = scrResponse.getIntValue("code");
if (200 == requestCode) {
// The library is deleted.
} else {
/**
* The request failed. Analyze the cause of the failure based on the specific situation.
*/
System.out.println("the whole scan request failed. response:" + JSON.toJSONString(scrResponse));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}