Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下:

https://sandbox.api.sap.com/ml

本文介绍一个部署在SAP Cloud Platform CloudFoundry环境下的应用,如何消费SAP Leonardo上的机器学习API。

登录SAP Cloud Platform Cockpit,进入CloudFoundry环境的Service Marketplace,找到SAP Leonardo机器学习的服务,单击该服务的超链接进入明细页面:

创建一个新的服务实例:

Service Plan就选默认的standard:

给这个服务实例取个名字:

单击这个创建好的服务实例,然后创建一个新的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-classifier.cfapps.eu10.hana.ondemand.com/api/v2/image/classification.

接下来通过clientid和client secret换取access token,使用下面这个链接里的应用获得access Token:

https://generate_ml_token.cfapps.eu10.hana.ondemand.com/

把这个Bearer开头的access Token记录下来。

之前创建service key时,我们已经从创建结果里获得了基于产品图片识别类别的API url:

https://mlftrial-image-classifier.cfapps.eu10.hana.ondemand.com/api/v2/image/classification

浏览器里访问这个url,得到一个采用Swagger(一个采用RESTFUL接口,基于YAML和JSON语言的API文档在线自动生成工具)实现的API控制台:

点击try out,从本地选择一张图片,我还是选择的这张图片:

再将之前通过clientid和client secret换取的access token填到控制台对应字段里,点击execute:

得到结果:

至于如何在nodejs和Java应用里通过编程动态地获取access Token以及发送HTTP post请求,因为网上例子很多,在下面更多阅读的文章里我也讲过,所以这里我就不再重复了,感谢阅读。

更多阅读

部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API的更多相关文章

  1. SAP云平台CloudFoundry环境里route 超过quota的错误处理

    试图往SAP Cloud Platform CloudFoundry用命令行CLI部署应用时,遇到如下错误: 原因是因为这个新建的名为Haytham的subaccount没有分配application ...

  2. 如何在SAP Cloud Platform ABAP编程环境里创建一个employee

    用ABAP Development Tool登录SAP Cloud Platform ABAP编程环境后,对ABAP项目点击右键,选择属性,从而找到该环境的web访问的url: https://325 ...

  3. Hyperledger Fabric on SAP Cloud Platform

    今天的文章来自Wen Aviva, 坐Jerry面对面的程序媛. Jerry在之前的公众号文章<在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图>已经介绍过Aviva ...

  4. 如何在SAP Cloud Platform上进行第一个integration flow开发

    登录SAP Cloud Platform integration tenant,点击Edit图标: 创建一个新的Content package: 保存content package后,点击artifa ...

  5. 如何创建SAP Cloud Platform Process Integration runtime服务

    登录SAP Cloud Platform cockpit,进入subaccount的Service marketplace界面,选择process integration runtime: 点击ins ...

  6. 使用SAP Cloud Platform Leonardo机器学习提取图片的特征向量

    选中一个需要进行测试的Leonardo机器学习服务,点击Configure Environments: 因为我不想使用sandbox环境,所以我选择了eu10这个region: 维护clientid和 ...

  7. 使用SAP Cloud Platform Leonardo机器学习的测试控制台

    选中一个需要进行测试的Leonardo机器学习服务,点击Configure Environments: 因为我不想使用sandbox环境,所以我选择了eu10这个region: 维护clientid和 ...

  8. SAP Cloud Platform 上CPI的初始化工作

    SAP Cloud Platform上的CPI tenant,如果没有正确的初始化,试图使用时会遇到如下错误消息: Insufficient scope for this resourceinsuff ...

  9. SAP Cloud Platform上Destination属性为odata_gen的具体用途

    今天工作发现,SAP Cloud Platform上创建Destination维护的WebIDEUsage属性很有讲究: 帮助文档:https://help.sap.com/viewer/825270 ...

随机推荐

  1. Greenwich.SR2版本的Spring Cloud Zipkin实例

    调用链跟踪是微服务架构中的基础能力,Spring Cloud Zipkin+Sleuth为我们提供了该能力.首先我们先建立Zipkin服务端,它需要集成Eureka,用于发现服务提供方和消费方,进行数 ...

  2. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_20-认证接口开发-接口测试

    测试接口 因为继承了spring  security会拦截这个请求,我们需要写代码 让他对这个认证接口放行 查看代码发现之前已经写过放行的代码了 发现是路径前面少了auth 加断点,测试.申请令牌 r ...

  3. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_08-SpringSecurityOauth2研究-解决swagger-ui无法访问

    3.3.4.4 解决swagger-ui无法访问 当课程管理加了授权之后再访问swagger-ui则报错: 这里默认配置的了所有的请求都必须认证 把图片认证的路径加进去的话 那么访问课程图片的列表 就 ...

  4. 123457123456#0#-----com.twoapp.YiZhiPuzzle02--前拼后广--儿童日常拼图游戏jiemei

    com.twoapp.YiZhiPuzzle02--前拼后广--儿童日常拼图游戏jiemei

  5. 利用Python获取cookie的方法,相比java代码简便不少

    1.通过urllib库,是python的标准库,不需要另外引入,直接看代码,注意代码的缩进: # coding=UTF-8import cookielibimport urllib2 class Ry ...

  6. 新手pyhoner的指定内容读取和写入的思路

    在linux上,很容易碰到操作文件的内容,读取指定信息的情况,或者要求在指定内容中追加内容,其实两个flag标识符就能解决. 先上个图: 执行while flag==0即可: while flag== ...

  7. npm的问题【解决】

    1.解决npm下载慢的问题,使用该命令 npm install --registry=https://registry.npm.taobao.org 好处:比起cnpm官网解释的,这个更好,使用cnp ...

  8. lvs整理

    LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统.通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良 ...

  9. gitblit git SERVER window 安装配置 hook post-receive 自动部署

    项目中使用的是gitblit windos版 1.安装 需要JAVA SDK http://gitblit.com/Download Gitblit GO (Windows) 下载后,解压缩,放到例如 ...

  10. 移动架构-IOC架构设计

    控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency Inject ...