Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url以下:node
https://sandbox.api.sap.com/ml数据库
本文介绍一个部署在SAP Cloud Platform CloudFoundry环境下的应用,如何消费SAP Leonardo上的机器学习API。编程
登陆SAP Cloud Platform Cockpit,进入CloudFoundry环境的Service Marketplace,找到SAP Leonardo机器学习的服务,单击该服务的超连接进入明细页面:api
建立一个新的服务实例:跨域
Service Plan就选默认的standard:浏览器
给这个服务实例取个名字:app
单击这个建立好的服务实例,而后建立一个新的Service Key:机器学习
给Service Key也取个名字。函数
咱们经过建立Service instance进而建立Service Key的目的,是为了获得下图的clientid和clientsecret。工具
而咱们拿到clientid和clientsecret,是为了用它们换取OAuth2.0协议里的access token.
关于更多clientid和clientsecret基于OAuth2.0换取access token 的细节,请参考Jerry的文章:OAuth 2.0协议在SAP产品中的应用。
除了clientid和clientsecret外,咱们还能在service key里获得当前这个SAP Cloud Platform CloudFoundry环境上全部可用的机器学习API的url,它们所有维护在节点serviceurls里:
注意观察,此时的IMAGE_CLASSIFICATION这个API 的url,路径已经从上一篇文章的https://sandbox.api.sap.com/ml,变成了包含CloudFoundry环境信息的:
https://mlftrial-image-classi...
接下来经过clientid和client secret换取access token,使用下面这个连接里的应用得到access Token:
https://generate_ml_token.cfa...
把这个Bearer开头的access Token记录下来。
以前建立service key时,咱们已经从建立结果里得到了基于产品图片识别类别的API url:
https://mlftrial-image-classi...
浏览器里访问这个url,获得一个采用Swagger(一个采用RESTFUL接口,基于YAML和JSON语言的API文档在线自动生成工具)实现的API控制台:
点击try out,从本地选择一张图片,我仍是选择的这张图片:
再将以前经过clientid和client secret换取的access token填到控制台对应字段里,点击execute:
获得结果:
至于如何在nodejs和Java应用里经过编程动态地获取access Token以及发送HTTP post请求,由于网上例子不少,在下面更多阅读的文章里我也讲过,因此这里我就再也不重复了,感谢阅读。
更多阅读