기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
감지기 모델 분석 및 진단 정보
감지기 모델 분석은 다음과 같은 진단 정보를 수집합니다.
-
수준 — 분석 결과의 심각도 수준입니다. 심각도에 따라 분석 결과는 세 가지 일반적인 범주로 분류됩니다.
-
정보(
INFO
) — 정보 결과는 감지기 모델의 중요한 필드에 대한 정보를 제공합니다. 이러한 유형의 결과에는 일반적으로 즉각적인 조치가 필요하지 않습니다. -
경고(
WARNING
) — 경고 결과는 감지기 모델에 문제를 일으킬 수 있는 분야에 특히 주의를 기울입니다. 생산 환경에서 감지기 모델을 사용하기 전에 경고를 검토하고 필요한 조치를 취하는 것이 좋습니다. 그렇지 않으면 감지기 모델이 예상대로 작동하지 않을 수 있습니다. -
오류(
ERROR
) — 오류 결과는 감지기 모델에서 발견된 문제에 대해 알려줍니다. AWS IoT Events 는 감지기 모델을 게시하기 전에 이 분석 세트를 자동으로 수행합니다. 감지기 모델을 게시하려면 먼저 모든 오류를 수정해야 합니다.
-
-
위치 - 분석 결과가 참조하는 감지기 모델에서 필드를 찾는 데 사용할 수 있는 정보를 포함합니다. 위치에는 일반적으로 상태 이름, 전환 이벤트 이름, 이벤트 이름 및 표현식(예:
in state TemperatureCheck in onEnter in event Init in action setVariable
)이 포함됩니다. -
유형 — 분석 결과의 유형입니다. 분석 유형은 다음과 같은 범주로 분류됩니다.
-
supported-actions
— 지정된 이벤트 또는 전환 이벤트가 감지되면 작업을 호출할 AWS IoT Events 수 있습니다. 타이머를 사용하거나 변수를 설정하거나 다른 AWS 서비스로 데이터를 보내도록 기본 제공 작업을 정의할 수 있습니다. 서비스를 사용할 수 있는 AWS 지역의 다른 AWS 서비스와 함께 작동하는 작업을 지정해야 합니다 AWS . -
service-limits
— 서비스 할당량 (한도라고도 함) 은 계정에 AWS 대한 서비스 리소스 또는 운영의 최대 또는 최소 수입니다. 다르게 표시되지 않는 한 리전별로 각 할당량이 적용됩니다. 비즈니스 요구 사항에 따라 감지기 모델을 업데이트하여 제한이 발생하지 않도록 하거나 할당량 증가를 요청할 수 있습니다. 일부 할당량에 대한 증가를 요청할 수 있으며 다른 할당량은 늘릴 수 없습니다. 자세한 내용은 할당량을 참조하십시오.
-
-
structure
— 감지기 모델은 상태와 같은 모든 필수 구성 요소를 포함해야 하며 AWS IoT Events 가 지원하는 구조를 따라야 합니다. 감지기 모델에는 중요한 이벤트를 탐지하기 위해 들어오는 입력 데이터를 평가하는 상태와 조건이 하나 이상 있어야 합니다. 이벤트가 감지되면 감지기 모델은 다음 상태로 전환되어 작업을 호출할 수 있습니다. 이러한 이벤트를 전환 이벤트라고 합니다. 전환 이벤트는 진행할 다음 단계로 진행되어야 합니다. -
expression-syntax
— AWS IoT Events 은(는) 감지기 모델을 생성하고 업데이트할 때 값을 지정하는 여러 가지 방법을 제공합니다. 표현식에서 리터럴, 연산자, 함수, 참조 및 대체 템플릿을 사용할 수 있습니다. 식을 사용하여 리터럴 값을 지정하거나 특정 값을 지정하기 전에 표현식을 평가할 AWS IoT Events 수 있습니다. 표현식은 필수 조건을 따라야 합니다. 자세한 내용은 이벤트 데이터를 필터링, 변환 및 처리하는 표현식 단원을 참조하십시오.의 Detector Model 표현식은 특정 데이터나 리소스를 AWS IoT Events 참조할 수 있습니다.
-
data-type
— AWS IoT Events 은(는) 정수, 십진수, 문자열 및 부울 데이터 유형을 지원합니다. 표현식 평가 중에 한 데이터 유형의 데이터를 다른 데이터 유형으로 자동 변환할 AWS IoT Events 수 있는 경우 이러한 데이터 유형은 호환됩니다.참고
-
AWS IoT Events에서 지원하는 호환 가능한 데이터 유형은 정수와 10진수뿐입니다.
-
AWS IoT Events 정수를 문자열로 AWS IoT Events 변환할 수 없으므로 산술 표현식을 평가할 수 없습니다.
-
-
referenced-data
— 데이터를 사용하려면 먼저 감지기 모델에서 참조되는 데이터를 정의해야 합니다. 예를 들어 DynamoDB 테이블로 데이터를 보내려면 먼저 테이블 이름을 참조하는 변수를 정의해야 표현식($variable.TableName
)에 변수를 사용할 수 있습니다. -
referenced-resource
— 감지기 모델이 사용하는 리소스는 사용 가능해야 합니다. 리소스를 사용하려면 먼저 리소스를 정의해야 합니다. 예를 들어 온실의 온도를 모니터링하기 위한 감지기 모델을 생성하려고 합니다.$input.TemperatureInput.sensorData.temperature
를 사용하여 온도를 참조하려면 먼저 들어오는 온도 데이터를 감지기 모델로 라우팅하는 입력($input.TemperatureInput
)을 정의해야 합니다.
-
오류를 해결하고 감지기 모델 분석을 통해 가능한 해결책을 찾으려면 다음 섹션을 참조하십시오.
감지기 모델 오류 문제 해결
위에서 설명한 오류 유형은 감지기 모델에 대한 진단 정보를 제공하며 검색할 수 있는 메시지에 해당합니다. 이 메시지와 제안된 솔루션을 사용하여 감지기 모델의 오류를 해결하십시오.
메시지 및 솔루션
Location
Location
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지 — 분석 결과에 대한 추가 정보가 들어 있습니다. 정보, 경고 또는 오류 메시지일 수 있습니다.
AWS IoT Events 현재 지원되지 않는 작업을 지정한 경우 이 오류 메시지가 표시될 수 있습니다. 지원되는 작업 목록은 데이터를 수신하고 작업을 트리거하기 위해 지원되는 작업을 참조하십시오.
supported-actions
supported‐actions
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 액션 정의에 잘못된 액션 유형이 있습니다.
action-definition
.AWS IoT Events 현재 지원되지 않는 작업을 지정한 경우 이 오류 메시지가 표시될 수 있습니다. 지원되는 작업 목록은 데이터를 수신하고 작업을 트리거하기 위해 지원되는 작업을 참조하십시오.
-
메시지: DetectorModel 정의에 다음이 있습니다.
AWS 서비스
액션, 하지만AWS 서비스
해당 지역에서는 서비스가 지원되지 않습니다.region-name
.지정한 작업이 에서 지원되지만 현재 지역에서 해당 작업을 사용할 수 없는 경우 이 오류 메시지가 표시될 수 있습니다. AWS IoT Events이 문제는 지역에서 사용할 수 없는 AWS 서비스에 데이터를 보내려고 할 때 발생할 수 있습니다. 또한 둘 AWS IoT Events 다와 사용 중인 AWS 서비스에 대해 동일한 지역을 선택해야 합니다.
service-limits
service‐limits
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 페이로드에 허용되는 콘텐츠 표현식이 한도를 초과했습니다.
content-expression-size
이벤트 내 바이트event-name
상태state-name
.작업 페이로드의 콘텐츠 표현식이 1,024 바이트를 초과하는 경우 이 오류 메시지가 표시될 수 있습니다. 페이로드의 콘텐츠 표현식 크기는 최대 1,024 바이트입니다.
-
메시지: 검출기 모델 정의에 허용된 상태 수가 제한을 초과했습니다.
states-per-detector-model
.감지기 모델의 상태가 20개를 초과하는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델은 최대 20개의 상태를 보유할 수 있습니다.
-
메시지: 타이머 지속 시간
timer-name
최소한 이상이어야 합니다.minimum-timer-duration
몇 초 길이요.타이머 지속 시간이 60초 미만인 경우 이 오류 메시지가 표시될 수 있습니다. 타이머 지속 시간은 60초에서 31,622,400초 사이로 설정하는 것이 좋습니다. 타이머 지속 시간의 표현식을 지정하는 경우 지속 시간 표현식의 평가된 결과는 가장 가까운 정수로 내림됩니다.
-
메시지: 이벤트당 허용된 작업 수가 한도를 초과했습니다.
actions-per-event
검출기 모델 정의에서이벤트에 10개 이상의 작업이 있는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 이벤트에 대해 최대 10개의 동작을 보유할 수 있습니다.
-
메시지: 상태당 허용되는 전환 이벤트 수가 한도를 초과했습니다.
transition-events-per-state
검출기 모델 정의에서.상태에 20개가 넘는 전환 이벤트가 있는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 상태에 대해 최대 20개의 전환 이벤트를 보유할 수 있습니다.
-
메시지: 상태당 허용되는 이벤트 수가 한도를 초과했습니다.
events-per-state
검출기 모델 정의에서상태에 20개가 넘는 이벤트가 있는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 상태에 대해 최대 20개의 이벤트를 보유할 수 있습니다.
-
메시지: 단일 입력과 연결할 수 있는 최대 감지기 모델 수를 초과했습니다. Input
input-name
에서 사용됩니다.detector-models-per-input
검출기 모델 경로.10개 이상의 감지기 모델로 입력을 라우팅하려고 하면 이 경고 메시지가 표시될 수 있습니다. 단일 감지기 모델에 최대 10개의 서로 다른 감지기 모델을 연결할 수 있습니다.
structure
structure
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 액션에는 한 가지 유형만 정의될 수 있지만 다음과 같은 액션을 찾았습니다.
number-of-types
유형. 별도의 작업으로 분리해 주십시오.탐지기 모델을 만들거나 업데이트하는 작업을 사용하여 단일 필드에 둘 이상의 API 작업을 지정한 경우 이 오류 메시지가 표시될 수 있습니다.
Action
객체 배열을 정의할 수 있습니다. 각 작업을 별도의 객체로 정의해야 합니다. -
메시지: TransitionEvent
transition-event-name
존재하지 않는 상태로 전환state-name
.전환 이벤트가 참조한 다음 상태를 찾을 AWS IoT Events 수 없는 경우 이 오류 메시지가 표시될 수 있습니다. 다음 상태가 정의되어 있고 올바른 상태 이름을 입력했는지 확인하십시오.
-
메시지: 상태 이름이 DetectorModelDefinition 공유되었음: found state
state-name
withnumber-of-states
반복.하나 이상의 상태에 같은 이름을 사용하는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 상태에 고유한 이름을 지정해야 합니다. 이름은 1~128자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9, _(밑줄) 및 -(하이픈)입니다.
-
메시지: 정의에 관한 initialStateName
initial-state-name
정의된 상태와 일치하지 않았습니다.초기 상태 이름이 잘못된 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델은 입력이 도착할 때까지 초기(시작) 상태를 유지합니다. 입력이 도착하면 감지기 모델은 즉시 다음 상태로 전환됩니다. 초기 상태 이름이 정의된 상태의 이름이고 올바른 이름을 입력했는지 확인하십시오.
-
메시지: 감지기 모델 정의는 조건에서 하나 이상의 입력을 사용해야 합니다.
조건에 입력값을 지정하지 않은 경우 이 오류가 발생할 수 있습니다. 하나 이상의 조건에서 하나 이상의 입력을 사용해야 합니다. 그렇지 AWS IoT Events 않으면 들어오는 데이터를 평가하지 않습니다.
-
메시지: 단 1초이며 설정할 durationExpression 수 SetTimer 있습니다.
타이머에
seconds
와durationExpression
을 둘 다 사용한 경우 이 오류 메시지가 표시될 수 있습니다.seconds
및durationExpression
, 둘 중 하나를SetTimerAction
의 파라미터로 사용해야 합니다. 자세한 내용은 SetTimerAction AWS IoT EventsAPI참조를 참조하십시오. -
메시지: 감지기 모델의 동작에 접근할 수 없습니다. 작업을 시작하는 조건을 확인하십시오.
감지기 모델의 동작에 도달할 수 없는 경우 이벤트 조건은 false로 평가됩니다. 동작이 포함된 이벤트의 상태를 확인하여 해당 동작이 true로 평가되는지 확인하십시오. 이벤트 조건이 true로 평가되면 조치를 수행할 수 있어야 합니다.
-
메시지: 입력 속성을 읽는 중이지만 타이머 만료로 인한 것일 수 있습니다.
다음 중 하나가 발생할 경우 입력 속성 값을 읽을 수 있습니다.
-
새 입력 값을 받았습니다.
-
감지기의 타이머가 만료된 경우.
입력 속성이 해당 입력에 대한 새 값이 수신될 때만 평가되도록 하려면 다음과 같이 조건에
triggerType(“Message”)
함수 호출을 포함시키십시오.감지기 모델에서 평가 중인 원래 조건:
if ($input.HeartBeat.status == “OFFLINE”)
이는 다음과 비슷합니다.
if ( triggerType("MESSAGE") && $input.HeartBeat.status == “OFFLINE”)
조건에 제공된 초기 입력보다
triggerType(“Message”)
함수 호출이 먼저 오는 경우. 이 기법을 사용하면triggerType("Message")
함수가 true로 평가되어 새 입력값을 받는 조건을 만족하게 됩니다.triggerType
함수 사용에 대한 자세한 내용은 AWS IoT Events 개발자 안내서의 표현식 섹션에서triggerType
을 참조하십시오. -
-
메시지: 감지기 모델의 상태에 도달할 수 없습니다. 원하는 상태로 전환되는 조건을 확인하십시오.
감지기 모델의 상태에 도달할 수 없는 경우 해당 상태로의 전환을 유도하는 조건이 false로 평가됩니다. 감지기 모델에서 도달할 수 없는 상태로의 수신 전환 조건이 true로 평가되는지 확인하여 원하는 상태에 도달할 수 있도록 하십시오.
-
메시지: 타이머가 만료되면 예상치 못한 양의 메시지가 전송될 수 있습니다.
타이머가 만료되어 감지기 모델이 예상치 못한 양의 메시지를 보내는 무한 상태에 빠지는 것을 방지하려면 다음과 같이 감지기 모델의 조건에서
triggerType("Message")
함수 호출을 사용하는 것이 좋습니다.감지기 모델에서 평가 중인 원래 조건:
if (timeout("awake"))
다음과 비슷한 조건으로 변환됩니다.
if (triggerType("MESSAGE") && timeout("awake"))
조건에 제공된 초기 입력보다
triggerType(“Message”)
함수 호출이 먼저 오는 경우.이 변경으로 감지기에서 타이머 동작이 시작되지 않아 메시지가 무한 루프 전송되는 것을 방지할 수 있습니다. 감지기에서 타이머 액션을 사용하는 방법에 대한 자세한 내용은 AWS IoT Events 개발자 가이드의 기본 제공 작업 사용 페이지를 참조하십시오.
expression-syntax
expression‐syntax
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 내 페이로드 표현식 {
expression
} 이 (가) 유효하지 않습니다. 정의된 페이로드 유형은 JSON 이므로 문자열로 AWS IoT Events 평가되는 식을 지정해야 합니다.지정된 페이로드 유형이 JSON 인 경우 AWS IoT Events 먼저 서비스가 표현식을 문자열로 평가할 수 있는지 확인합니다. 평가된 결과는 부울 또는 숫자일 수 없습니다. 검증에 실패하면 이 오류가 발생할 수 있습니다.
-
메시지:
SetVariableAction.value
은(는) 표현식이어야 합니다. 값 '파싱에 실패했습니다.variable-value
'SetVariableAction
을 사용하여name
및value
변수를 정의할 수 있습니다.value
은(는) 문자열, 숫자 또는 부울 값일 수 있습니다.value
에 대해 표현식을 지정할 수도 있습니다. 자세한 내용은 AWS IoT Events API참조의 SetVariableAction을 참조하십시오. -
메시지: 속성 표현식을 파싱할 수 없습니다 (
attribute-name
) 를 사용하여 DynamoDB 작업을 수행합니다. 표현식을 올바른 조건으로 입력합니다.대체 템플릿
DynamoDBAction
의 모든 파라미터에 표현식을 사용해야 합니다. 자세한 내용은 ynamoDBAction 참조의 AWS IoT Events APID를 참조하십시오. -
메시지: D ynamoDBv 2 액션에 tableName 대한 표현식을 분석할 수 없습니다. 표현식을 올바른 조건으로 입력합니다.
DynamoDBv2Action
의tableName
은(는) 문자열이어야 합니다.tableName
에는 표현식을 사용해야 합니다. 표현식에서 리터럴, 연산자, 함수, 참조 및 대체 템플릿을 사용할 수 있습니다. 자세한 내용은 참조의 D ynamoDBv 2Action을AWS IoT Events API 참조하십시오. -
메시지: 표현식이 JSON 유효한지 평가할 수 없습니다. D ynamoDBv 2 액션은 JSON 페이로드 유형만 지원합니다.
의 페이로드 유형은 다음과
DynamoDBv2
같아야 합니다. JSON 이를 통해 페이로드의 콘텐츠 표현식이 유효한지 평가할 AWS IoT Events 수 있는지 확인하십시오. JSON 자세한 내용은 참조의 D ynamoDBv 2Action을AWS IoT Events API 참조하십시오. -
메시지: 페이로드에 대한 콘텐츠 표현식을 파싱할 수 없습니다.
action-type
. 콘텐츠 표현식을 올바른 구문으로 입력합니다.콘텐츠 표현식에는 문자열 (') 이 포함될 수 있습니다.
string
'), 변수 ($variable.variable-name
), 입력 값 ($input.input-name
.path-to-datum
), 문자열 연결 및 포함하는 문자열.${}
-
메시지: 사용자 지정된 페이로드는 비어 있지 않아야 합니다.
작업에 대해 사용자 지정 페이로드를 선택하고 콘솔에 콘텐츠 표현식을 입력하지 않은 경우 이 오류 메시지가 표시될 수 있습니다. AWS IoT Events 사용자 지정 페이로드를 선택하는 경우 사용자 지정 페이로드에 콘텐츠 표현식을 입력해야 합니다. 자세한 내용은 참조의 페이로드를 참조하십시오.AWS IoT Events API
-
메시지: '기간 표현식' 구문 분석 실패
duration-expression
타이머용 'timer-name
'.타이머에 대한 지속 시간 표현식의 평가 결과는 60~31622400 사이의 값이어야 합니다. 지속 시간의 평가된 결과는 가장 가까운 정수로 내림됩니다.
-
메시지: 표현식을 파싱하지 못했습니다. '
expression
'에 대한action-name
지정된 작업의 표현식 조건이 잘못된 경우 이 메시지가 표시될 수 있습니다. 표현식을 올바른 조건으로 입력했는지 확인하십시오. 자세한 내용은 장치 데이터를 필터링하고 동작을 정의하는 구문 단원을 참조하십시오.
-
메시지: 귀하의
fieldName
for를IotSitewiseAction
파싱할 수 없습니다. 표현식에 올바른 조건을 사용해야 합니다.데이터를 분석할 수 AWS IoT Events 없는 경우 이 오류가 발생할 수 있습니다.
fieldName
for.IotSitewiseAction
꼭 확인하세요fieldName
AWS IoT Events 파싱할 수 있는 표현식을 사용합니다. 자세한 내용은 IotSiteWiseAction AWS IoT EventsAPI참조를 참조하십시오.
data-type
data‐type
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 기간 표현식
duration-expression
타이머용timer-name
유효하지 않습니다. 숫자를 반환해야 합니다.타이머의 기간 표현식을 숫자로 평가할 수 AWS IoT Events 없는 경우 이 오류 메시지가 표시될 수 있습니다.
durationExpression
가 숫자로 변환될 수 있는지 확인하십시오. 부울과 같은 다른 데이터 유형은 지원되지 않습니다. -
메시지: 표현식
condition-expression
유효한 조건 표현식이 아닙니다.를 Boolean 값으로 평가할 수 AWS IoT Events 없는 경우 이 오류 메시지가 표시될 수 있습니다
condition-expression
. 부울 값은TRUE
또는FALSE
중 하나여야 합니다. 조건 표현식이 부울 값으로 변환될 수 있는지 확인하십시오. 결과가 부울 값이 아닌 경우 해당 값은FALSE
와 동일하며 이벤트에서nextState
지정된 값으로 전환하거나 액션을 호출하지 않습니다. -
메시지: 호환되지 않는 데이터 유형 [
inferred-types
에 대한 검색 대상reference
다음 표현식에서:expression
솔루션: 감지기 모델에서 동일한 입력 속성 또는 변수에 대한 모든 표현식은 동일한 데이터 유형을 참조해야 합니다.
다음 정보를 활용하여 문제를 해결합니다.
-
하나 이상의 연산자와 함께 참조를 피연산자로 사용하는 경우, 참조하는 모든 데이터 유형이 호환되는지 확인하십시오.
예를 들어, 다음 표현식에서 정수
2
는 및 연산자==
와&&
모두의 피연산자입니다. 피연산자를 호환하기 위해서는$variable.testVariable + 1
및$variable.testVariable
이 정수 또는 10진수를 참조해야 합니다.또한 정수
1
은(는)+
연산자의 피연산자입니다. 따라서$variable.testVariable
은(는) 정수 또는 10진수를 참조해야 합니다.‘$variable.testVariable + 1 == 2 && $variable.testVariable’
-
참조를 함수에 전달된 인수로 사용하는 경우, 함수가 참조하는 데이터 유형을 지원하는지 확인하십시오.
예를 들어, 다음
timeout("
함수에는 큰따옴표가 있는 문자열이 인수로 필요합니다. 에 대한 참조를 사용하는 경우time-name
")timer-name
값은 큰따옴표가 있는 문자열을 참조해야 합니다.timeout("
timer-name
")참고
convert(
함수의 경우 참조를 사용하는 경우type
,expression
)type
값, 참조의 평가 결과는String
Decimal
, 또는 이어야 합니다Boolean
.
자세한 내용은 표현식의 입력과 변수에 대한 참조 단원을 참조하십시오.
-
-
메시지: 호환되지 않는 데이터 유형 [
inferred-types
] 와 함께 사용reference
. 이로 인해 런타임 오류가 발생할 수 있습니다.동일한 입력 속성 또는 변수에 대한 두 표현식이 두 데이터 유형을 참조하는 경우 이 경고 메시지가 표시될 수 있습니다. 동일한 입력 속성이나 변수에 대한 표현식이 감지기 모델의 동일한 데이터 유형을 참조하는지 확인하십시오.
-
메시지: 데이터 유형 [
inferred‐types
연산자에 대해 입력한 []operator
] 는 다음 표현식과 호환되지 않습니다. 'expression
'표현식이 지정된 연산자와 호환되지 않는 데이터 유형을 결합한 경우 이 오류 메시지가 나타날 수 있습니다. 예를 들어 다음 표현식에서 연산자
+
은(는) 정수, 10진수 및 문자열 데이터 형식과 호환되지만 부울 데이터 유형의 피연산자와는 호환되지 않습니다.true + false
연산자와 함께 사용하는 데이터 유형이 호환되는지 확인해야 합니다.
-
메시지: 데이터 유형 [
inferred‐types
에 대한 검색 대상input‐attribute
호환되지 않아 런타임 오류가 발생할 수 있습니다.동일한 입력 속성에 대한 두 표현식이 상태의
OnEnterLifecycle
, 또는 상태의OnInputLifecycle
과OnExitLifecycle
모두에 대해 두 데이터 유형을 참조하는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 상태에 대해OnEnterLifecycle
(또는OnInputLifecycle
및OnExitLifecycle
둘 다)의 표현식이 동일한 데이터 유형을 참조하는지 확인하십시오. -
메시지: 페이로드 표현식 [
expression
] 가 유효하지 않습니다. 페이로드 유형이 JSON 형식이므로 런타임 시 문자열로 평가되는 식을 지정하십시오.지정된 페이로드 유형이 다음과 같지만 표현식을 문자열로 평가할 AWS IoT Events 수 없는 경우 이 오류가 발생할 수 있습니다. JSON 평가 결과가 부울이나 숫자가 아닌 문자열인지 확인하십시오.
-
메시지: 보간된 표현식 {
interpolated-expression
} 는 런타임 시 정수 또는 부울 값으로 평가되어야 합니다. 그렇지 않으면 페이로드 표현식 {payload-expression
} 는 런타임에 유효한 것으로 분석할 수 없습니다. JSON보간된 식을 정수 또는 Boolean 값으로 평가할 수 AWS IoT Events 없는 경우 이 오류 메시지가 표시될 수 있습니다. 문자열과 같은 다른 데이터 유형은 지원되지 않으므로 보간된 식을 정수 또는 부울 값으로 변환할 수 있는지 확인하십시오.
-
메시지: 필드의 표현식 유형
IotSitewiseAction
expression
유형으로 정의됩니다.defined‐type
유형으로 유추됩니다.inferred‐type
. 정의된 유형과 유추된 유형은 동일해야 합니다.IotSitewiseAction
의propertyValue
에서 표현식 데이터 유형이 유추된 AWS IoT Events의 데이터 유형과 다르게 정의된 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델에서 이 표현식의 모든 인스턴스에 동일한 데이터 유형을 사용해야 합니다. -
메시지: 데이터 유형 [
inferred-types
다음 표현식에서는setTimer
작업에 사용된 것으로Integer
평가되지 않습니다.expression
기간 표현식의 유추된 데이터 유형이 정수 또는 10진수가 아닌 경우 이 오류 메시지가 표시될 수 있습니다.
durationExpression
가 숫자로 변환할 수 있는지 확인하십시오. 부울과 문자열과 같은 기타 데이터 유형은 지원되지 않습니다. -
메시지: 데이터 유형 [
inferred-types
비교 연산자 [] 의 피연산자와 함께 사용됩니다.operator
다음 표현식에서는] 가 호환되지 않습니다.expression
피연산자의 피연산자에 대해 유추된 데이터 유형
operator
조건식에서 (expression
검출기 모델의) 이 일치하지 않습니다. 피연산자는 감지기 모델의 다른 모든 부분에서 일치하는 데이터 유형과 함께 사용해야 합니다.작은 정보
convert
을 사용하여 감지기 모델에서 표현식의 데이터 유형을 변경할 수 있습니다. 자세한 내용은 표현식에 사용할 함수 섹션을 참조하십시오.
referenced-data
referenced‐data
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 고장난 타이머 감지: 타이머
timer-name
표현식에 사용되지만 설정되지 않았습니다.설정되지 않은 타이머를 사용하는 경우 이 오류 메시지가 표시될 수 있습니다. 표현식에 사용하기 전에 타이머를 설정해야 합니다. 또한 타이머 이름을 정확하게 입력해야 합니다.
-
메시지: 손상된 변수 감지됨: 변수
variable-name
표현식에 사용되지만 설정되지는 않습니다.설정되지 않은 변수를 사용하는 경우 이 오류 메시지가 표시될 수 있습니다. 표현식에서 변수를 사용하려면 먼저 변수를 설정해야 합니다. 또한 올바른 변수 이름을 입력해야 합니다.
-
메시지: 손상된 변수 감지: 변수가 값으로 설정되기 전에 표현식에 사용됩니다.
표현식에서 변수를 평가하려면 먼저 각 변수를 값에 할당해야 합니다. 변수 값을 검색할 수 있도록 사용하기 전에 매번 변수 값을 설정하십시오. 또한 올바른 변수 이름을 입력해야 합니다.
referenced-resource
referenced‐resource
에 대한 정보가 포함된 분석 결과는 다음 오류 메시지에 해당합니다.
-
메시지: 감지기 모델 정의에는 존재하지 않는 입력에 대한 참조가 포함되어 있습니다.
표현식을 사용하여 존재하지 않는 입력을 참조하는 경우 이 오류 메시지가 표시될 수 있습니다. 표현식이 기존 입력을 참조하는지 확인하고 올바른 입력 이름을 입력하십시오. 입력이 없는 경우에는 먼저 하나를 생성합니다.
-
메시지: 검출기 모델 정의에 잘못된 내용이 포함되어 있습니다 InputName.
input-name
감지기 모델에 잘못된 입력 이름이 포함된 경우 이 오류 메시지가 표시될 수 있습니다. 올바른 입력 이름을 입력해야 합니다. 입력 이름은 1~128자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9, _(밑줄) 및 -(하이픈)입니다.