模型调用参考

更新时间:

要调用您完成部署的模型,需要首先下载工业视觉智能 SDK DEMO

依赖公共包导入
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-indvi</artifactId>
  <version>1.0.0</version>
</dependency>
发起调用
说明

调用接口前,需配置环境变量,通过环境变量读取访问凭证。关于配置环境变量的操作,参见阿里云SDK身份验证配置-环境变量配置

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.indvi.model.v20190701.GetDetectionResultRequest;
import com.aliyuncs.indvi.model.v20190701.GetDetectionResultResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

public class DetectTest {

    public static void main(String[] args) {
        // 下面填入您的服务名称
        String serviceName = "you serviceName";
        //单图情况下ImageUrl是图片链接字符串,如:https://xxx/abc.jpg
        //多图情况下,ImageUrl是图片链接数组JSON字符串,如:
        //["https://xxx/abc.jpg","https://xxx/def.jpg"]
        String imageUrl = "you image url";
        GetDetectionResultRequest request = new GetDetectionResultRequest();
        request.setDetectPath(serviceName);
        request.setImageUrl(imageUrl);
        request.setReadTimeout(200000000);
        request.setConnectTimeout(200000000);
        request.setMethod(MethodType.GET);
        try {
            GetDetectionResultResponse response = getClient().getAcsResponse(request);
            if (null == response) {
                return;
            }
            // 图片测试结果
            String result = response.getResult();
            System.out.println("result:" + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 此处通过从环境变量中读取AccessKey,初始化Client
     * @return Client
     * @throws Exception
     */
    private static IAcsClient getClient() {
        IAcsClient client = null;
        try {
            String regionId = "cn-hangzhou";
            // 指定服务接入地址,以下值为固定
            DefaultProfile.addEndpoint(regionId, regionId, "indvi", "indvi.cn-hangzhou.aliyuncs.com");
            // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
            // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
            // 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。
            IClientProfile profile = DefaultProfile.getProfile(regionId
                    ,System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
                    ,System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            //初始化client
            client = new DefaultAcsClient(profile);
        } catch (Exception e) {
            System.out.println("init client failed | excrption: " + e.getMessage());
        }
        return client;
    }
}

API说明

获取图片推测结果接口:

GetDetectionResult

请求参数:

名称

类型

必要

描述

DetectPath

String

调用的API路径

ImageUrl

String

需要预测的图片链接

获取图片推测结果

返回值:

名称

类型

描述

RequestId

String

阿里云为请求生产的唯一标识符

Success

Boolean

表示是否调用成功。true表示调用成功,false表示

Code

String

错误码

ErrorMessage

String

调用失败时,返回的出错信息

Result

String

推测结果

错误码

错误码

代码

说明

SUCCESS

200

成功

UNKONW_ERROR

-1

系统异常

EMPTYPARAM

201

请求参数不能为空

UNKOWNPARAM

202

请求参数不合法

NODATA

203

无返回数据

ISEXIST

204

对象已存在

NOTEXIST

205

对象不存在或被删除

USERAUTHORITYINVALID

403

用户无权限

TRAIN_FORBIDDEN

405

产品训练服务没有开通

DEPLOY_FORBIDDEN

406

产品部署服务没有开通

RAM_FORBIDDEN

407

没有RAM权限