文档

服务调用参考

更新时间:

本文介绍自学习模型预测服务调用SDK接入说明。​

说明
  • 本服务目前属于公测阶段,您的服务会在每天凌晨零点被释放回收。如果您希望服务一直运行,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

  • 因公测阶段的机器资源有限,如果遇到服务状态为部署中时,请您耐心等待一段时间。

前提条件

已在工作区创建服务,具体操作,请参见发布服务

Python SDK

导入SDK

pip install alibabacloud_indvi20190701

Python SDK Demo

说明

调用接口前,需配置环境变量,通过环境变量读取访问凭证。关于配置环境变量的操作,参见管理访问凭据

import os
from alibabacloud_tea_openapi.models import Config
from alibabacloud_indvi20190701.client import Client
from alibabacloud_indvi20190701.models import GetDetectionResultRequest

config = Config(
    # 指定服务接入地址,以下值为固定
    region_id='cn-hangzhou',
    # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    # 此处以把AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
    access_key_id=os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
    access_key_secret=os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')
)
client = Client(
    config
)

service_name = "<your service name>"
image_url = "<your image url>"

request = GetDetectionResultRequest(service_name, image_url, 'regen')
res = client.get_detection_result(request)
print(res.body)

Java SDK

pom.xml引⼊Java SDK

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>indvi20190701</artifactId>
    <version>1.0.0</version>
</dependency>

Java SDK Demo

说明

调用接口前,需配置环境变量,通过环境变量读取访问凭证。关于配置环境变量的操作,参见管理访问凭据

import com.aliyun.indvi20190701.Client;
import com.aliyun.indvi20190701.models.GetDetectionResultRequest;
import com.aliyun.indvi20190701.models.GetDetectionResultResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyuncs.http.MethodType;

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>";
        String platformType = "regen";
        GetDetectionResultRequest request = new GetDetectionResultRequest();
        request.setDetectPath(serviceName);
        request.setImageUrl(imageUrl);
        request.setPlatformType(platformType);
        try {
            GetDetectionResultResponse response = getClient().getDetectionResult(request);
            if (null == response) {
                return;
            }
            if (!response.getBody().getSuccess()) {
                System.err.println(response.getBody().getMessage());
                return;
            }
            // 图片测试结果
            String result = response.getBody().getResult();
            System.out.println("result:" + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 此处通过从环境变量中读取AccessKey,初始化Client
     *
     * @return Client
     * @throws Exception
     */
    private static Client getClient() {
        Client client = null;
        try {
            String regionId = "cn-hangzhou";
            Config config = new Config();
            // 指定服务接入地址,以下值为固定
            config.setRegionId(regionId);
            config.setEndpoint("indvi.cn-hangzhou.aliyuncs.com");
            // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
            // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
            // 此处以把AccessKey 和 AccessKeySecret 保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
            config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
            config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            // 初始化client
            config.setMethod(MethodType.GET.toString());
            config.setReadTimeout(200000000);
            config.setConnectTimeout(200000000);
            client = new Client(config);
        } catch (Exception e) {
            System.out.println("init client failed | excrption: " + e.getMessage());
        }
        return client;
    }
}

API说明

请求参数

名称

类型

必要

描述

ServiceName

String

调用的服务名称。

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权限