云服务器内容精选

  • 查询任务 本章节对图像 内容审核 异步批量-查询任务AK/SK方式使用SDK进行示例说明。 示例代码中需要配置使用RunCheckResultRequest类的withJobId配置审核任务的id,配置完成后运行即可。 服务所在的应用区域和终端节点,详情请查看 地区和终端节点 。 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.RunCheckResultRequest; import com.huaweicloud.sdk.moderation.v2.model.RunCheckResultResponse; public class RunCheckResultSolution { public static void main(String[] args) { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); ModerationClient client = ModerationClient.newBuilder() .withCredential(auth) .withRegion(ModerationRegion.valueOf("xxx")) //把xxx替换成服务所在的区域,例如北京四:cn-north-4。 .build(); RunCheckResultRequest request = new RunCheckResultRequest(); request.withJobId("7f6a5881-7774-40cf-903b-4548914b55a3"); try { RunCheckResultResponse response = client.runCheckResult(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()); } } } 控制台输出200即表示程序执行成功,异步批量查询任务的结果输出到控制台。 200 {"httpStatusCode":200,"result":{"createTime":"2021-08-13T03:46:30Z","items":[{"categorySuggestions":{ "terrorism":"pass","porn":"pass"},"detail":{"porn":[{"confidence":0.9883,"label":"normal"},{"confidence":0.0039,"label":"porn"},{"confidence":0.0078,"label":"sexy"}],"terrorism":[{"confidence":2.0E-4,"label":"terrorist"},{"confidence":2.0E-4,"label":"fascist"},{"confidence":1.0E-4,"label":"cult"},{"confidence":2.0E-4},{"confidence":1.0E-4},{"confidence":1.0E-4,"label":"kidnap"},{"confidence":6.0E-4,"label":"riot"},{"confidence":1.0E-4,"label":"parade"},{"confidence":2.0E-4,"label":"corpse"},{"confidence":1.0E-4,"label":"bloody"},{"confidence":1.0E-4,"label":"knife"},{"confidence":1.0E-4,"label":"gun"},{"confidence":2.0E-4,"label":"military_weapon"},{"confidence":0.0,"label":"special_characters"},{"confidence":0.9994,"label":"normal"}]},"suggestion":"pass","url":"https://sdk-obs-source-save.obs.cn-north-4.myhuaweicloud.com/terrorism.jpg"}],"jobId":"7f6a5881-7774-40cf-903b-4548914b55a3","status":"finish","updateTime":"2021-08-13T03:46:30Z"}} Process finished with exit code 0 父主题: 图像内容审核(异步批量)(V2)
  • 响应示例 状态码: 200 成功响应示例 { "result" : { "job_id" : "44d93b70-db01-4f96-a618-2a79c964c4b2", "status" : "finish", "create_time" : "2018-01-02T15:03:04Z", "update_time" : "2018-01-02T15:03:04Z", "items" : [ { "url" : "https://obs-test-llg.obs.myhuaweicloud.com/terrorism", "suggestion" : "pass", "detail" : { "terrorism" : [ { "confidence" : 0, "label" : "fire" }, { "confidence" : 0.0268, "label" : "normal" } ] } }, { "url" : "https://obs-test-llg.obs.myhuaweicloud.com/clarity-detect", "suggestion" : "pass", "detail" : { "terrorism" : [ { "confidence" : 0, "label" : "knife" }, { "confidence" : 0, "label" : "terrorist" }, { "confidence" : 0.3086, "label" : "bloody" }, { "confidence" : 0.6914, "label" : "normal" } ] }, "ocr_text" : "fdfefdfdfdfd" } ] } } 状态码: 400 失败响应示例 { "error_code" : "AIS.0005", "error_msg" : "The service does not exist." }
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v2/{project_id}/moderation/image/batch?job_id={job_id}”,“project_id”为项目ID,获取方法请参见获取项目ID,“job_id”为接口返回的job_id GET https://{endpoint}/v2/{project_id}/moderation/image/batch?job_id={job_id}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result result object 调用成功时表示调用结果。 调用失败时无此字段。 表5 result 参数 参数类型 描述 job_id String 批量图像内容审核的任务标识,用于后续的结果查询。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 fail_category String 当包含多个场景时,调用失败的场景。
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v2/{project_id}/moderation/image/batch/jobs”,“project_id”为项目ID,获取方法请参见获取项目ID。 提交异步批量图像内容审核任务,检测场景为涉黄,暴恐。 POST https://{endpoint}/v2/{project_id}/moderation/image/batch/jobs{ "urls" : [ "https://bucketname.obs.myhwclouds.com/ObjectName1", "https://bucketname.obs.myhwclouds.com/ObjectName2" ], "categories" : ["terrorism", "porn" ]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见 获取Token 接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 urls 是 Array of strings 图片的URL路径,目前支持: 公网HTTP/HTTPS URL 华为云OBS提供的URL,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见配置OBS访问权限。 说明: 图片的URL路径列表最多支持500个URL地址。接口响应时间依赖图片的下载时间,如果图片下载时间过长,会返回接口调用失败。请保证被检测图片所在的存储服务稳定可靠,建议您使用华为云OBS存储。 categories 否 Array of strings 检测场景。 terrorism:暴恐元素的检测。 porn:涉黄内容元素的检测。 ad:广告的检测。 all:包含terrorism和porn场景的检测。 可通过配置上述场景,来完成对应场景元素的检测。 为空或无此参数表示terrorism检测,但不包含porn场景。 moderation_rule 否 String 图像审核 规则名称,默认使用default规则。 说明: 审核规则的创建和使用请参见配置审核规则。 ad_categories 否 Array of strings 图文审核检测场景。当categories包含ad时,该参数生效。 当前支持的场景有系统场景和用户自定义场景: 系统场景为: qr_code:二维码 porn:涉黄 ad:广告 abuse:辱骂 contraband:违禁品 用户自定义场景为:自定义黑名单词库。 说明: 自定义词库的创建和使用请参见配置自定义词库。 show_ocr_text 否 Boolean 是否返回ocr识别结果,默认值为false。