

지원 종료 알림: 2026년 5월 20일에 AWS 에 대한 지원이 종료됩니다 AWS IoT Events. 2026년 5월 20일 이후에는 AWS IoT Events 콘솔 또는 AWS IoT Events 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은 [AWS IoT Events 지원 종료를 참조하세요](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

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

# 에서 감지기에 입력으로 메시지 전송 AWS IoT Events
<a name="iotevents-batch-put-messages"></a>

이제 디바이스에서 보낸 메시지의 중요 필드를 식별하는 입력이 정의되었습니다([AWS IoT Events 입력을 생성하여 디바이스 데이터 캡처](iotevents-create-input.md) 참조). 이전 섹션에서는 모터의 과압 이벤트에 반응하는 `detector model`을 생성했습니다([에서 디바이스 상태를 나타내는 감지기 모델 생성 AWS IoT Events](iotevents-create-detector.md) 참조).

예제를 완료하려면 디바이스(이 경우에는 AWS CLI 가 설치된 컴퓨터)의 메시지를 감지기에 입력으로 보내십시오.

**참고**  
감지기 모델을 생성하거나 기존 감지기 모델을 업데이트하면 새 또는 업데이트된 감지기 모델이 메시지를 수신하고 감지기(인스턴스)를 생성하기 시작하기까지 몇 분 정도 걸립니다. 감지기 모델을 업데이트하면 이 기간 동안 이전 버전에 기반한 동작이 계속 나타날 수 있습니다.

다음 AWS CLI 명령을 사용하여 임계값을 위반하는 데이터가 포함된 메시지를 보냅니다.

```
aws iotevents-data batch-put-message --cli-input-json file://highPressureMessage.json --cli-binary-format raw-in-base64-out
```

파일 “`highPressureMessage.json`”에는 다음이 포함되어 있습니다.

```
{
  "messages": [
    {
      "messageId": "00001",
      "inputName": "PressureInput",
      "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 80, \"temperature\": 39} }"
    }
  ]
}
```

전송되는 각 메시지에서 `messageId`를 변경해야 합니다. 변경하지 않으면 AWS IoT Events 시스템은 메시지를 중복 제거합니다. 메시지는 지난 5분 이내에 전송된 다른 메시지`messageID`와 동일한 경우 AWS IoT Events 무시합니다.

이때 모터 `"Fulton-A32"`의 이벤트를 모니터링하기 위한 감지기(인스턴스)가 생성됩니다. 이 감지기는 생성되었을 때의 `"Normal"` 상태로 들어갑니다. 하지만 임계값을 초과하는 압력 값을 보냈기 때문에 즉시 `"Dangerous"` 상태로 전환됩니다. 그러면 감지기는 ARN이 `arn:aws:sns:us-east-1:123456789012:underPressureAction`인 Amazon SNS 엔드포인트로 메시지를 전송합니다.

다음 AWS CLI 명령을 실행하여 압력 임계값 미만의 데이터가 포함된 메시지를 보냅니다.

```
aws iotevents-data batch-put-message --cli-input-json file://normalPressureMessage.json --cli-binary-format raw-in-base64-out
```

파일 `normalPressureMessage.json`에는 다음이 포함되어 있습니다.

```
{
  "messages": [
    {
      "messageId": "00002",
      "inputName": "PressureInput",
      "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 60, \"temperature\": 29} }"
    }
  ]
}
```

5분 이내에 `BatchPutMessage` 명령을 호출할 때마다 파일의 `messageId`를 변경해야 합니다. 메시지를 두 번 더 보내십시오. 메시지가 세 번 전송되면 모터 “`Fulton-A32`”의 감지기(인스턴스)가 Amazon SNS 엔드포인트 `"arn:aws:sns:us-east-1:123456789012:pressureClearedAction"`으로 메시지를 보내고 `"Normal"` 상태를 다시 입력합니다.

**참고**  
`BatchPutMessage`를 사용하여 한 번에 여러 메시지를 보낼 수 있습니다. 하지만 이러한 메시지가 처리되는 순서는 보장되지 않습니다. 메시지(입력)가 순서대로 처리되도록 하려면 메시지를 한 번에 하나씩 보내고 API가 호출될 때마다 응답 성공을 기다리십시오.

다음은 이 섹션에 설명된 감지기 모델 예제로 생성된 SNS 메시지 페이로드의 예시입니다.

**“압력 임계값 위반” 이벤트 발생 시**

```
IoT> {
  "eventTime":1558129816420,
  "payload":{
    "actionExecutionId":"5d7444df-a655-3587-a609-dbd7a0f55267",
    "detector":{
      "detectorModelName":"motorDetectorModel",
      "keyValue":"Fulton-A32",
      "detectorModelVersion":"1"
    },
    "eventTriggerDetails":{
      "inputName":"PressureInput",
      "messageId":"00001",
      "triggerType":"Message"
    },
    "state":{
      "stateName":"Dangerous",
      "variables":{
        "pressureThresholdBreached":3
      },
      "timers":{}
    }
  },
  "eventName":"Pressure Threshold Breached"
}
```

**“정상 압력 복원” 이벤트 발생 시**

```
IoT> {
  "eventTime":1558129925568,
  "payload":{
    "actionExecutionId":"7e25fd38-2533-303d-899f-c979792a12cb",
    "detector":{
      "detectorModelName":"motorDetectorModel",
      "keyValue":"Fulton-A32",
      "detectorModelVersion":"1"
    },
    "eventTriggerDetails":{
      "inputName":"PressureInput",
      "messageId":"00004",
      "triggerType":"Message"
    },
    "state":{
      "stateName":"Dangerous",
      "variables":{
        "pressureThresholdBreached":0
      },
      "timers":{}
    }
  },
  "eventName":"Normal Pressure Restored"
}
```

타이머를 정의한 경우 해당 타이머의 현재 상태는 SNS 메시지 페이로드에도 표시됩니다.

메시지 페이로드에는 메시지가 전송된 시점 (즉, SNS 작업이 실행된 시점)의 감지기(인스턴스) 상태에 대한 정보가 포함됩니다. [https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_DescribeDetector.html](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_DescribeDetector.html) 작업을 사용하여 감지기 상태에 대한 유사한 정보를 얻을 수 있습니다.