감지기 모델 분석 및 진단 정보 - AWS IoT Events

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

감지기 모델 분석 및 진단 정보

감지기 모델 분석은 다음과 같은 진단 정보를 수집합니다.

  • 수준 — 분석 결과의 심각도 수준입니다. 심각도에 따라 분석 결과는 세 가지 일반적인 범주로 분류됩니다.

    • 정보(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 with number-of-states 반복.

    하나 이상의 상태에 같은 이름을 사용하는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 상태에 고유한 이름을 지정해야 합니다. 이름은 1~128자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9, _(밑줄) 및 -(하이픈)입니다.

  • 메시지: 정의에 관한 initialStateName initial-state-name 정의된 상태와 일치하지 않았습니다.

    초기 상태 이름이 잘못된 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델은 입력이 도착할 때까지 초기(시작) 상태를 유지합니다. 입력이 도착하면 감지기 모델은 즉시 다음 상태로 전환됩니다. 초기 상태 이름이 정의된 상태의 이름이고 올바른 이름을 입력했는지 확인하십시오.

  • 메시지: 감지기 모델 정의는 조건에서 하나 이상의 입력을 사용해야 합니다.

    조건에 입력값을 지정하지 않은 경우 이 오류가 발생할 수 있습니다. 하나 이상의 조건에서 하나 이상의 입력을 사용해야 합니다. 그렇지 AWS IoT Events 않으면 들어오는 데이터를 평가하지 않습니다.

  • 메시지: 단 1초이며 설정할 durationExpression 수 SetTimer 있습니다.

    타이머에 secondsdurationExpression을 둘 다 사용한 경우 이 오류 메시지가 표시될 수 있습니다. secondsdurationExpression, 둘 중 하나를 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을 사용하여 namevalue 변수를 정의할 수 있습니다. value은(는) 문자열, 숫자 또는 부울 값일 수 있습니다. value에 대해 표현식을 지정할 수도 있습니다. 자세한 내용은 AWS IoT Events API참조의 SetVariableAction을 참조하십시오.

  • 메시지: 속성 표현식을 파싱할 수 없습니다 (attribute-name) 를 사용하여 DynamoDB 작업을 수행합니다. 표현식을 올바른 조건으로 입력합니다.

    대체 템플릿 DynamoDBAction의 모든 파라미터에 표현식을 사용해야 합니다. 자세한 내용은 ynamoDBAction 참조의 AWS IoT Events APID를 참조하십시오.

  • 메시지: D ynamoDBv 2 액션에 tableName 대한 표현식을 분석할 수 없습니다. 표현식을 올바른 조건으로 입력합니다.

    DynamoDBv2ActiontableName은(는) 문자열이어야 합니다. 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 값, 참조의 평가 결과는 StringDecimal, 또는 이어야 합니다Boolean.

    자세한 내용은 표현식의 입력과 변수에 대한 참조 단원을 참조하십시오.

  • 메시지: 호환되지 않는 데이터 유형 [inferred-types] 와 함께 사용 reference. 이로 인해 런타임 오류가 발생할 수 있습니다.

    동일한 입력 속성 또는 변수에 대한 두 표현식이 두 데이터 유형을 참조하는 경우 이 경고 메시지가 표시될 수 있습니다. 동일한 입력 속성이나 변수에 대한 표현식이 감지기 모델의 동일한 데이터 유형을 참조하는지 확인하십시오.

  • 메시지: 데이터 유형 [inferred‐types연산자에 대해 입력한 []operator] 는 다음 표현식과 호환되지 않습니다. 'expression'

    표현식이 지정된 연산자와 호환되지 않는 데이터 유형을 결합한 경우 이 오류 메시지가 나타날 수 있습니다. 예를 들어 다음 표현식에서 연산자 +은(는) 정수, 10진수 및 문자열 데이터 형식과 호환되지만 부울 데이터 유형의 피연산자와는 호환되지 않습니다.

    true + false

    연산자와 함께 사용하는 데이터 유형이 호환되는지 확인해야 합니다.

  • 메시지: 데이터 유형 [inferred‐types에 대한 검색 대상 input‐attribute 호환되지 않아 런타임 오류가 발생할 수 있습니다.

    동일한 입력 속성에 대한 두 표현식이 상태의 OnEnterLifecycle, 또는 상태의 OnInputLifecycleOnExitLifecycle 모두에 대해 두 데이터 유형을 참조하는 경우 이 오류 메시지가 표시될 수 있습니다. 감지기 모델의 각 상태에 대해 OnEnterLifecycle(또는 OnInputLifecycleOnExitLifecycle 둘 다)의 표현식이 동일한 데이터 유형을 참조하는지 확인하십시오.

  • 메시지: 페이로드 표현식 [expression] 가 유효하지 않습니다. 페이로드 유형이 JSON 형식이므로 런타임 시 문자열로 평가되는 식을 지정하십시오.

    지정된 페이로드 유형이 다음과 같지만 표현식을 문자열로 평가할 AWS IoT Events 수 없는 경우 이 오류가 발생할 수 있습니다. JSON 평가 결과가 부울이나 숫자가 아닌 문자열인지 확인하십시오.

  • 메시지: 보간된 표현식 {interpolated-expression} 는 런타임 시 정수 또는 부울 값으로 평가되어야 합니다. 그렇지 않으면 페이로드 표현식 {payload-expression} 는 런타임에 유효한 것으로 분석할 수 없습니다. JSON

    보간된 식을 정수 또는 Boolean 값으로 평가할 수 AWS IoT Events 없는 경우 이 오류 메시지가 표시될 수 있습니다. 문자열과 같은 다른 데이터 유형은 지원되지 않으므로 보간된 식을 정수 또는 부울 값으로 변환할 수 있는지 확인하십시오.

  • 메시지: 필드의 표현식 유형 IotSitewiseAction expression 유형으로 정의됩니다.defined‐type 유형으로 유추됩니다.inferred‐type. 정의된 유형과 유추된 유형은 동일해야 합니다.

    IotSitewiseActionpropertyValue에서 표현식 데이터 유형이 유추된 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, _(밑줄) 및 -(하이픈)입니다.