增加 tenant(租客)服务

来源:互联网 发布:数控折弯机编程图解 编辑:程序博客网 时间:2024/04/30 14:13

作者:韩卫林,中国运营经理,马衡达信息技术(上海)有限公司


如果您还没有Predix试用帐号,请访问https://supportcentral.ge.com/esurvey/GE_survey/takeSurvey.html?form_id=18446744073709715720申请。请务必准确提供您的信息,我们会以邮件方式通知您注册结果。


Tenant是一个应用或一组用户共享数据,配置和用户管理等资源,好处是一次性提供多个服务如asset, acs, uaa,timeseries 等,一旦不要可以整体删除。从下面的示意图可以一目了然(APM是应用):


1.首先要查看API REST文档如何建立一个tenant服务:https://www.predix.io/api#/

POST /v1/tenant       create a tenant

ResponseClass (Status 200)

Model

Model Schema

{

  "appTemplate": "string",

  "name": "string",

  "status": "string",

  "tenantId": "string"

}

 

Response Content Type 

Top of Form

Parameters

Parameter

Value

Description

Parameter Type

Data Type

tenantProvisioningRequest

tenantProvisioningRequest

body

·         Model

·         Model Schema

{

  "credentialStorageProvider": "string",

  "name": "string",

  "subdomain": "string",

  "templateData": {

    "serviceInstances": [

      {

        "serviceInstanceName": "string",

        "serviceName": "string"

      }

    ],

    "services": [

      {

        "parameters": {},

        "seq": 0,

        "serviceInstanceName": "string",

        "serviceName": "string",

        "servicePlan": "string",

        "trustedIssuerIds": [

          "string"

        ]

      }

    ],

    "type": "string"

  },

  "templateName": "string",

  "tenantUaa": {

    "tenantUaaList": [

      "string"

    ]

  }

}

Click to set as parameter value

Predix-Zone-Id

(empty)

header

string

Response Messages

HTTP Status Code

Reason

Response Model

Headers

400

Tenant creation failed

 

2.用 postman来增加


这是已有tennant服务的内容,由它产生新的tanent instance.

"predix-tms":[

{

"credentials":{

"uri":"https://predix-tms.run.aws-jp01-pr.ice.predix.io",

"zone":{

"http-header-name":"Predix-Zone-Id",

"http-header-value":"f364a13b-f98c-49b3-a58d-9608049fc175",

 

"oauth-scope":"predix-tms.zones.f364a13b-f98c-49b3-a58d-9608049fc175.user"

}

},

"label":"predix-tms",

"name":"my-tenant",

"plan":"Tiered",

"provider":null,

"syslog_drain_url":null,

"tags":[],

"volume_mounts":[]

}

 

Body request 内容:

{

  "credentialStorageProvider":"",

  "name": "tenant4",

  "subdomain": "",

  "templateData": {

   

    "services": [

      {

        "parameters": {},

        "seq": 0,

        "serviceInstanceName":"my-acs1", //这是创建新的acs instance

        "serviceName":"predix-acs",

        "servicePlan":"Tiered",

        "trustedIssuerIds": [

         "https://8fa241c2-9ef7-4c4e-8a94-d8fef9be6888.predix-uaa.run.aws-jp01-pr.ice.predix.io/oauth/token"

        ]

      },

      {

        "parameters": {},

        "seq": 0,

        "serviceInstanceName":"my-asset1",

        "serviceName": "predix-asset",

        "servicePlan":"Tiered",

        "trustedIssuerIds": [

         "https://8fa241c2-9ef7-4c4e-8a94-d8fef9be6888.predix-uaa.run.aws-jp01-pr.ice.predix.io/oauth/token"

        ]

      }],

      "serviceInstances": [  //这是绑定已有的acs和asset到tenant4

      {

        "serviceInstanceName":"my-acs1",

        "serviceName":"predix-acs"

      },

      {

        "serviceInstanceName":"my-asset1",

        "serviceName":"predix-asset"

      }

    ],

    "type": "tenant_type"

  },

  "templateName": "tenant_template",

  "tenantUaa": {

    "tenantUaaList": [

      "my-predix-uaa"

    ]

  }

}

Respond 内容:

{

 "name": "tenant4",

 "appTemplate": "tenant_template",

 "tenantId": "17a09466-2312-4f1f-a64c-164832d692ac",

 "status": "INITIALIZED"

}

3. 取得 tenant

https://predix-tms.run.aws-jp01-pr.ice.predix.io/v1/tenant

{

   "name": "tenant4",

   "appTemplate": "tenant4",

   "tenantId": "17a09466-2312-4f1f-a64c-164832d692ac",

   "status": "PROVISIONED"//这个可以使用了,如果是ROLLBACK就不能用

 },

]

4. 取得 tenant 内容

https://predix-tms.run.aws-jp01-pr.ice.predix.io/v1/tenant/tenant4

产生会自动绑定,由于有绑定,这里有重复的内容

{

 "name": "tenant4",

 "tenantId": "17a09466-2312-4f1f-a64c-164832d692ac",

 "subdomain":"id-f364a13b-f98c-49b3-a58d-9608049fc175-tenant4",

 "templateName": "tenant4",

 "status": "PROVISIONED",

 "services": [

   {

     "serviceName": "predix-acs",

     "serviceInstanceName": "my-acs1",   //这是产生了个新的acs,不是原来的my-acs

     "serviceInstanceId":"82287ffe-bba5-477b-b3ad-9f3e62892cde",

     "credentials": {

       "zone": {

          "http-header-value":"82287ffe-bba5-477b-b3ad-9f3e62892cde",

          "http-header-name":"Predix-Zone-Id",

          "oauth-scope":"predix-acs.zones.82287ffe-bba5-477b-b3ad-9f3e62892cde.user"

        },

        "uri": "https://predix-acs.run.aws-jp01-pr.ice.predix.io"

     },

     "stdCredentials": [

        {

          "name":"predix-acs",

          "uri":"https://predix-acs.run.aws-jp01-pr.ice.predix.io",

          "zone": {

            "http-header-name":"Predix-Zone-Id",

            "http-header-value":"82287ffe-bba5-477b-b3ad-9f3e62892cde",

            "oauth-scope": [

             "predix-acs.zones.82287ffe-bba5-477b-b3ad-9f3e62892cde.user"

            ]

          },

          "parameters": {}

        }

     ],

     "scopes": "",

     "status": "PROVISIONED",

     "description": "",

     "statusMessage": null

   },

以下内容省略。


在使用中您有任何问题,请访问我们的论坛http://bbs.csdn.net/forums/GEPredix

GE数字集团的技术专家们会在线回答您的问题。

也请访问我们在CSDN的Predix专区http://predix.csdn.net 了解更多Predix的内容和相关活动。


0 0