This topic describes how to use Content Moderation SDK for Java to query existing and custom business scenarios. This helps you manage business scenarios.
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.
Query business scenarios
Operation | Description | Supported region |
Queries business scenarios. |
|
Sample code
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.green.model.v20170823.DescribeUserBizTypesRequest;
import com.aliyuncs.green.model.v20170823.DescribeUserBizTypesResponse;
import com.aliyuncs.green.model.v20170823.DescribeUserBizTypesResponse.Item;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
/**
* Use the following code to query business scenarios.
*/
public class DescribeBizTypesRequestSample {
public static void main(String[] args) throws Exception {
/**
* The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. To avoid security risks, we recommend that you use a RAM user to call API operations or perform routine O&M.
* Common ways to obtain environment variables:
* Method 1:
* Obtain the AccessKey ID of your RAM user: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Obtain the AccessKey secret of your RAM user: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
* Method 2:
* Obtain the AccessKey ID of your RAM user: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
* Obtain the AccessKey secret of your RAM user: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
*/
DefaultProfile profile = DefaultProfile.getProfile(
"cn-shanghai",
"We recommend that you obtain the AccessKey ID of your RAM user from environment variables",
"We recommend that you obtain the AccessKey secret of your RAM user from environment variables");
DefaultProfile.addEndpoint("cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
IAcsClient client = new DefaultAcsClient(profile);
DescribeUserBizTypesRequest describeUserBizTypesRequest = new DescribeUserBizTypesRequest();
// Specify the response format of the operation.
describeUserBizTypesRequest.setAcceptFormat(FormatType.JSON);
// Specify the request method.
describeUserBizTypesRequest.setMethod(MethodType.GET);
describeUserBizTypesRequest.setEncoding("utf-8");
// Specify the connection timeout period. You can change the timeout period as needed. Unit: milliseconds.
describeUserBizTypesRequest.setConnectTimeout(3000);
// Specify the read timeout period. You can change the timeout period as needed. Unit: milliseconds.
describeUserBizTypesRequest.setReadTimeout(6000);
try {
HttpResponse httpResponse = client.doAction(describeUserBizTypesRequest);
// Check whether the HTTP request is successful.
if (httpResponse.isSuccess()) {
DescribeUserBizTypesResponse describeUserBizTypesResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"), DescribeUserBizTypesResponse.class);
// The list of all business scenarios.
System.out.println("query success. bizTypes size :" + describeUserBizTypesResponse.getBizTypeList().size());
describeUserBizTypesResponse.getBizTypeList().iterator();
if (describeUserBizTypesResponse.getBizTypeList() != null) {
for (Item bizTypeItem : describeUserBizTypesResponse.getBizTypeList()) {
// The name of the business scenario.
System.out.println(bizTypeItem.getBizType());
// Indicates whether an industry template was imported.
System.out.println(bizTypeItem.getCiteTemplate());
// The industry information.
System.out.println(bizTypeItem.getIndustryInfo());
// Indicates how the business scenario was created. A value of custom indicates a custom business scenario. A value of system indicates the default business scenario of Content Moderation.
System.out.println(bizTypeItem.getSource());
}
}
// When you create a business scenario, you can import the configuration of an existing business scenario in the obtained list.
System.out.println("query success. import bizTypes size :" + describeUserBizTypesResponse.getBizTypeList().size());
} else {
JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "utf-8"));
// Check the error message.
System.out.println("query fail. detail msg: " + JSON.toJSONString(scrResponse.get("Message"), true));
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}