2017-12-20 16 views
0

나는 시뮬레이션 된 장치 모델을 생성하기 위해 github 명령을 따르고 있으며, 원격 측정법에 제출 된 하나는 10 개의 정수 배열이다. "오후": [19, 4, 3, 0, 0, 1, 3, 0, 0, 0]. 이 입력란의 유형은 무엇입니까? 배열/목록 유형을 찾지 못했습니다.디바이스 스키마에서 호출되는 텔레 메 트리의 배열 필드 유형은 무엇입니까?

GitHub의 명령 : https://github.com/Azure/device-simulation-dotnet/wiki/Device-Models#message-schema

답변

2

는 현재 array 유형에 대한 지원이 없다 그러나 당신은 적어도 두 가지 방법으로 그것을 달성 할 수있다.

배열 크기가 고정 된 경우. 10 사용할 필드 10 :

"InitialState": { 
    "pm_01": 0, 
    "pm_02": 0, 
    "pm_03": 0, 
    "pm_04": 0, 
    "pm_05": 0, 
    "pm_06": 0, 
    "pm_07": 0, 
    "pm_08": 0, 
    "pm_09": 0, 
    "pm_10": 0 
} 

어레이 크기를 변경할 수있는 경우에는 다음

"MessageTemplate": "{ \"pm\": [${pm_01}, ${pm_02}, ${pm_03}, ${pm_04}, ${pm_05}, ${pm_06}, ${pm_07}, ${pm_08}, ${pm_09}, ${pm_10}] }" 

그렇지 않으면, 디바이스 모델 스크립트, 예를 들어 스트링 (예컨대 pm_values)에 숫자를 매핑

모델 :

"InitialState": { 
    "pm_values": "0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" 
} 

스크립트

function main(context, previousState) { 

    // ... restore state ... 

    // ... your logic here ... 
    var pm_values = [ 19, 4, 3, 0, 0, 1, 3, 0, 0, 0 ]; 

    // ... serialize pm values ... 
    state["pm_values"] = pm_values.toString(); 

    return state; 
} 

다음 하나 개의 틀 사용하여 메시지 템플릿에 그 주사 :

"MessageTemplate": "{ \"pm\": [${pm_values}] }"