使用AppCode认证鉴权方式进行在线预测
场景描述
APPcode认证是一种简易的API调用认证方式,通过在HTTP请求头中添加参数X-Apig-AppCode来实现身份认证,无需复杂的签名过程,适合于客户端环境安全可控的场景,如内网系统之间的API调用。在ModelArts中,支持在部署在线服务时开启AppCode认证(部署模型为在线服务中的“支持APP认证”参数)。对于已部署的在线服务,ModelArts支持修改其配置开启AppCode认证。
本文主要介绍如何修改一个已有的在线服务,使其支持AppCode认证并进行在线预测。
前提条件
提前部署在线服务,具体操作可以参考案例:使用ModelArts Standard一键完成商超商品识别模型部署。
操作步骤
- 在ModelArts控制台页面菜单栏中,单击“模型部署 > 在线服务”,进入在线服务页面。
- 单击“授权管理”后,单击创建应用即可创建App应用。
图1 授权管理
- 创建完App应用后即可展开App,然后单击添加AppCode即可添加AppCode。
图2 添加AppCode
- 单击使用ModelArts Standard一键完成商超商品识别模型部署案例中创建的在线服务名称,进入在线服务详情页,单击“修改”,进入修改在线服务页面。
图3 修改服务
- 开启APP认证开关,然后选择自己创建的APP应用名称,单击“下一步”后在单击“提交”即可保存修改。
图4 开启APP认证
- AppCode认证预测。
- 在部署服务详情中单击“调用指南”,第二行的API接口公网地址即为APP认证调用地址,展开后即可看到AppCode值。
图5 调用指南
- 在postman调试预测采用AppCode认证:
- 请求POST URL填APP认证调用地址
- 请求头Headers中KEY参数为X-Apig-AppCode,VALUE参数为AppCode值
- 请求Body按照接口定义传参,本案例中KEY参数为images,选择为File格式,VALUE参数单击上传需要识别的图片。
图6 Headers
图7 Body
图8 返回结果
- 在部署服务详情中单击“调用指南”,第二行的API接口公网地址即为APP认证调用地址,展开后即可看到AppCode值。
常见APP认证报错分析
- 报错信息 "error_msg": "The API does not exist or has not been published in the environment", "error_code": "APIG.0101"
- 报错信息 "error_msg": "Incorrect app authentication information: app not found with specified appCode", "error_code": "APIG.0303"
- 报错信息 "error_msg": "Backend unavailable", "error_code": "APIG.0202"