반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Java 1.8
- yum install java
- java 여러개 버전
- LeetCode
- 스프링부트테스트
- mac os git error
- Medium
- tls프로토콜확인
- AWS CLI
- JUnit
- xcrun: error: invalid active developer path
- ssl이란?
- parse
- java 1.8 11
- mysql executequery error
- OpenFeign
- statement.executequery() cannot issue statements that do not produce result sets.
- error
- aws
- No tests found for given includes
- easy
- java
- java 11
- log error
- xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
- springboottest
- ssl프로토콜확인
- java version
- springboot
- java 버전 변경
Archives
- Today
- Total
쩨이엠 개발 블로그
[ AWS ] AWSIotException: TOO_MANY_REQUESTS 본문
728x90
반응형
요즘 센서 데이터 입수하는 게이트웨이를 만들고 있는데 가끔씩 연결이 안되어있는 센서를 다시 연결하면 이제까지 보내지 못했던 데이터를 한방에 보내준다 ^^ 고맙기도하지.. 유실은 안되겠네..
하고 로그를 보고있는데 로그가 폭발했다
갑자기 죽죽 올라가길래 뭐지 싶어서 봤더니 ㅎㅎ Exception 발생!
com.amazonaws.services.iot.client.AWSIotException: TOO_MANY_REQUESTS
com.amazonaws.services.iot.client.core.AwsIotCompletion.get(AwsIotCompletion.java:213)
com.amazonaws.services.iot.client.shadow.AwsIotDeviceCommand.get(AwsIotDeviceCommand.java:58)
com.amazonaws.services.iot.client.shadow.AwsIotDeviceCommandManager.runCommand(AwsIotDeviceCommandManager.java:135)
com.amazonaws.services.iot.client.shadow.AwsIotDeviceCommandManager.runCommandSync(AwsIotDeviceCommandManager.java:100)
com.amazonaws.services.iot.client.shadow.AbstractAwsIotDevice.get(AbstractAwsIotDevice.java:88)
com.amazonaws.services.iot.client.AWSIotDevice.get(AWSIotDevice.java:280)
com.service.iot.pub.AWSPublisher.publish(AWSPublisher.java:105)
com.service.iot.handler.SensorMessageHandler.send(SensorMessageHandler.java:55)
com.service.iot.handler.SensorMessageHandler.ProcessSensorMessages(SensorMessageHandler.java:40)
에러 난 곳을 보니
String deviceInfo = device.get();
if(deviceInfo == null || deviceInfo.length() == 0){
log.warn(" No device properties ");
return;
}
이런 소스코드가 있었다
shadow를 가져오는데 문제가 있는 듯 하다
aws doc의 shadow 오류 부분을 뒤져보았다
Device Shadow error messages
Error Code | Error messages |
400 (Bad Request) |
|
401 (Unauthorized) | Unauthorized |
403 (Forbidden) |
Forbidden |
404 (Not Found) |
|
409 (Conflict) | Version Conflict |
413 (Payload Too Large) | The payload exceeds the maximum size allowed |
415 (Unsupported Media Type) | Unsupported documented encoding; supported encoding is UTF-8 |
429 (Too Many Requests) | The Device Shadow service will generate this error message when there are more than 10 in-flight requests. |
500 (Internal Server Error) | Internal service failure |
Too Many Requests 에 관한 내용이 있다!!
초당 10개 이상의 요청이 오면 429 error code를 뱉어낸다고 한다
데이터가 넘어 올 때 AWS IoT Core 쪽으로 publish 하는 과정에서 AWSIoTDevice의 shadow를 가져오는 부분이 초당 10번 이상 호출이 되어서 난 것으로 아까 문제가 되었던 소스 부분을 지워서 테스트했더니 더이상 에러가 나지 않았다
728x90
반응형
'개발 > AWS' 카테고리의 다른 글
[ AWS ]Response Header에서 Server 정보 제거하기 (4) | 2020.11.09 |
---|---|
[ EC2 ] Permissions 0644 for 'xxx.pem' are too open. (0) | 2020.10.07 |
[ ec2 ] Java jdk 설치 (0) | 2020.07.21 |
[ AWS CLI] AWS 계정 변경하기 (0) | 2020.06.28 |
AWSIotDeviceProperty 받아오기 ( java ) (0) | 2020.06.03 |
Comments