如何创建,授权,并访问资产管理服务(Asset Service)

来源:互联网 发布:在线客服js懒人之家 编辑:程序博客网 时间:2024/05/29 09:25

如何创建,授权,并访问资产管理服务(Asset Service)

如果您还没有Predix试用帐号,请访问

https://supportcentral.ge.com/esurvey/GE_survey/takeSurvey.html?form_id=18446744073709715720

申请。

如果您使用Windows操作系统,请参考http://blog.csdn.net/predixcn/article/details/53967673系列文章设置您的开发环境。

如果您使用Linux操作系统,请参考http://blog.csdn.net/predixcn/article/details/54093234系列文章设置您的开发环境。

本文将会介绍资产管理服务的创建及使用过程,由于该服务依赖于UAA服务进行用户的认证及权限管理,如果您尚未成功创建UAA服务,请访问
http://blog.csdn.net/predixcn/article/details/70183179在您的账号下创建UAA的接口。

在创建好UAA后您还需要至少一个User或者Client来访问资产管理服务,本文以Client为例进行介绍,请参考http://blog.csdn.net/predixcn/article/details/71169504 创建一个Client

资产管理服务的创建

请安以下步骤创建一个Predix资产管理服务:

1. 进入Predix官网并登录

根据你的账号的服务器所在地,选择不同的接口登录,若您的账号是美国账号,则直接访问predix.io并在右上角点击登录。

2. 创建Predix资产管理服务

登陆后点击CATALOG->Services,在DATA MANAGEMENT 目录下找到Asset,点击进入后拉到最下方,在Free模块中点击Subscribe,如下图所示:
subscribe

点击后进入如下页面:

CreateAssetService

依次选择以下选项:
- Org:在您申请账号时会有一个和您账号同名的Org自动生成,此处建议使用这个Org进行实验,当然,您也可以加入其他的Org,获取相应Org的权限并做实验。
- Space:在一个Org创建时默认会有一个叫做dev的space被创建,此处建议之间选择dev,当然您也可以在命令行用cf create-space命令创建其他的space。
- UAA:在本文开篇时提到资产管理服务依赖于UAA服务进行进行用户的认证及权限管理,请先依照教程创建UAA服务并在此处选择所创建的UAA。
- Service instance name:自己起一个名字即可
- Service plan:选择Free

完成以上选项后点击Create-Service创建Asset Service服务。

通过UAA将资产管理服务的访问权限授权给Client。

1. 获取资产管理服务访问权限

为了成功将访问您刚刚创建对资产管理服务 的权限授权给有您的UAA管理的Client,您需要获取您所创建的资产管理服务zone-idoauth-Scope,其中zone-id 在系统中用来标示您的资产管理服务,oauth-Scope 则是访问这个服务需要的权限。

在命令行中使用cf bind-service [your_app_name][your_service_name] 将资产管理服务绑定到您创建的任何一个APP上(比如Hello World),然后用cf env [your_app_name] 获取这个APP相关的参数,这些参数中带有您所创建的资产管理的服务,如下图所示:
AssetServiceEnv

记下其中的instanceIdoauth-scope,其中,oauth-scope 中结尾的user 指获得该权限的使用者即可作为user访问。根据服务不同,权限的种类也会有所不同,比如,TimeSeries会将权限分为注入和获取,即读和写的权限不在同一个User。而对于资产管理服务,获得user的权限即同时获得了读和写的权限。

2. 资产管理服务通过UAA对Client授权。

访问https://uaa-dashboard.run.aws-jp01-pr.ice.predix.io/#/login,以您创建UAA时的admin权限登录UAA dashboard。

由于您创建资产管理服务时已经绑定了当前的UAA,即您的资产管理服务中的资产各种访问权限由当前UAA管理,所以可以在当前页面进行授权。进入您所创建的Client页面,如下图所示(您的页面中在Scope和Authorities这两项下面可能还没有内容,没关系,继续往下做实验即可):
UAADashboardClient

点击图中的Edit ,进入到如下页面:
ClientManagement

复制在本节第一步获得的oauth-Scope,粘贴到Client的Authorities中。

点击右下角的Save完成资产管理服务的授权。

通过REST API访问资产管理服务

Predix中各种服务最终往往是以REST API的形式开放给终端用户,资产管理服务也不例外。

1. 通过Client获取访问权限

进入Predix Toolkit,点击 Login as Client,输入您的UAA链接,对应的Client的ID和密码,点击Submit,可以看到如下结果:
GettingToken

其中,access_token即为访问用的token,scope为当前client所拥有的权限。

2. 访问资产管理服务

点击右上角的API Explorer,然后点击左边的Asset,在Choose Request处选择Create Model Request,如下图所示:
AssetRequest

在predix-zone-id中加入之前获得的instanceId,Token已经在之前登录的过程中获得,此处如果有兴趣可以点击View Token 查看Token包含的具体信息。Request Body 即为需要插入的资产信息,在Predix Toolkit已经自动加入了一些资产的信息作为例子。如果需要加入一些自己的资产,也可以仿照这个格式。此处直接点击Submit 即可。提交后看到返回的信息为null(即没有错误信息)表示已经成功加入了这两项资产。

然后在Choose Request 处选择Get Engine Models,点击Submit 即可查看刚刚加入的资产信息。如下图所示:

GetAsset

更多关于资产管理服务的操作请参考以下链接:
资产管理服务概览:https://www.predix.io/docs/#GnJ2ZQ0B
资产管理服务的使用:https://www.predix.io/docs/#UpU8EYKi

原创粉丝点击