Management APIでは次のことができます :
- サービスとサブサービスの作成、一覧表示、削除
- ユーザの作成、一覧表示、更新、削除
- サービス中のユーザにロールを割り当ておよび割り当て解除
これらの操作のほとんどは管理ポータルで利用できますが、動的サービスとユーザ作成をアプリケーションと統合する場合を除き、Management APIを使用する必要はありません。
サービスを作成¶
まず、サービスを作成する必要があります。これを行うには、IoT Stack 管理トークンが必要であることに注意してください。例では {{admin-token}} と記載されています :
POST /orc/service/ HTTP/1.1
Host: test.ttcloud.net:8008
X-Auth-Token: {{admin-token}}
Content-Type: application/json
{
"NEW_SERVICE_NAME":"{{Fiware-Service}}",
"NEW_SERVICE_DESCRIPTION":"new subservice"
}
次の手順に関連する {{service-id}} のレスポンスを受け取ります :
HTTP 201 CREATED
Content-Type: application/json
{
"id": "5e333fcadadc4707b2a3b26e73c07b69"
}
サブサービスを作成¶
1つのサービスがあれば、その上でデータを分割して新しいサブサービスを作成することができます :
POST /orc/service/{{service-id}}/subservice HTTP/1.1
Host: test.ttcloud.net:8008
X-Auth-Token: {{admin-token}}
Content-Type: application/json
{
"SERVICE_NAME":"{{Fiware-Service}}",
"NEW_SUBSERVICE_NAME":"{{Fiware-ServicePath}}",
"NEW_SUBSERVICE_DESCRIPTION":"new subservice"
}
サブサービスを識別する {{subservice-id}} を受け取ります :
HTTP 201 CREATED
Content-Type: application/json
{
"id": "2a3b26e73c07b695e333fcadadc4707b"
}
ユーザを作成¶
サービスが作成されると、次のようにユーザーを作成できます :
POST /orc/service/{{service-id}}/user HTTP/1.1
Host: test.ttcloud.net:8008
X-Auth-Token: {{admin-token}}
Content-Type: application/json
{
"NEW_SERVICE_USER_NAME":"{{subservice-user-name}}",
"NEW_SERVICE_USER_PASSWORD":"{{subservice-user-pass}}",
"NEW_SERVICE_USER_EMAIL":"{{user-email}}",
"NEW_SERVICE_USER_DESCRIPTION":"an user description"
}
このユーザはサービスまたはサブサービスに関連付けられていないため、サブサービスにロールを割り当てます。
まず、サブサービスでデフォルトで作成されたロールを取得します :
GET /orc/service/{{service-id}}/role HTTP/1.1
Host: test.ttcloud.net:8008
X-Auth-Token: {{admin-token}}
Content-Type: application/json
レスポンスにロールのリストが表示されます :
HTTP 20O OK
Content-Type: application/json
{
"totalResults": 2,
"roles": [
{
"domain_id": "669b1e1a3e6c41ee9a1cbe5ab5165f6e",
"name": "SubServiceCustomer",
"id": "02f33ab1af5b473aa51d71618ccfad84"
},
{
"domain_id": "669b1e1a3e6c41ee9a1cbe5ab5165f6e",
"name": "SubServiceAdmin",
"id": "cbae0186206f4a5a8d00f271ac4e0b4e"
}
]
}
これらのロールのアクセス許可は次のとおりです :
- SubServiceCustomer : FIWARE IoT Stack に格納されたデータを照会できる
- SubServiceAdmin : FIWARE IoT Stackでデータのクエリと更新ができる
これらのロールID はサブサービスごとに固有なので、それらを取得する必要があることに注意してください。
サブサービスのロールIDがわかれば、前に作成したユーザーに1つの役割を割り当てることができます :
POST /orc/service/{{service-id}}/role_assignments HTTP/1.1
Host: test.ttcloud.net:8008
X-Auth-Token: {{admin-token}}
Content-Type: application/json
{
"SUBSERVICE_ID":"{{subservice-id}}",
"ROLE_ID":"{{role-id}}",
"SERVICE_USER_ID":"{{user-id}}"
}
次のように、No Contentレスポンスが送信されます :
HTTP 204 NO CONTENT
詳細情報¶
IoT Orchestrator apiary のAPIドキュメントのリファレンスで、この関数を提供する FIWARE コンポーネントに関する詳細情報を得ることができます。