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-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請求,由於網上例子不少,在下面更多閱讀的文章裏我也講過,因此這裏我就再也不重複了,感謝閱讀。
更多閱讀