2016-07-18 3 views
0

AWS Java SDK 클라이언트를 내부적으로 사용하여 EC2 관련 API 호출을 만드는 모듈을 개발 중입니다.AWS 서비스 오류 코드를 타사 프로젝트에 포함하는 방법

예. 내 인스턴스에 ENI를 부착해야하는 요구 사항이 있습니다. 이 API 호출에서 가능한 오류 코드 중 하나는 AttachmentLimitExceeded입니다.이 특정 오류가 발생하면 다른 논리를 실행하려고합니다. AmazonServiceException.getErrorCode() 메서드를 사용하여이 오류 코드를 검색 할 수 있습니다. 하지만 가능한 모든 오류 코드 문자열 또는 예외 클래스를 포함하여 모든 오류 코드를 처리하는 데 사용할 수있는 항아리가 있으며 각 오류 코드에 따라 스위치 사례가 있다고 말할 수 있습니까? 이 코드 등의 변경이 필요하고 AWS가 오류 코드를 변경하면되므로

AmazonServiceException.getErrorCode().equals("AttachmentLimitExceeded"); 

같은 일치하는 하드 코딩 된 문자열을하고 싶지 내가

. 이러한 error codes을 타사 프로젝트에 포함시키는 표준 방법은 무엇입니까?

답변

0

이러한 오류 코드를 처리하는 표준 방법이 없다고 생각합니다.

사용하는 서비스에 따라 크게 달라질 수 있습니다. 예를 들어, 언급 된 AttachmentLimitExceeded 오류 코드는 AttachmentLimitExceededExceptionAWSSupportClient에 표시됩니다. 예를 들어이 서비스의 addAttachmentsToSet 메서드를 사용하고 있다면 오류 코드를 잡을 수 있습니다.

그러나 불행히도 AmazonEC2Client은 이러한 특정 예외를 정의하지 않습니다. 코드에 대한 링크를 참조하고 위의 AWSSupportClient과 비교하십시오. AmazonEC2ExceptiongetErrorCode이며 String을 반환합니다.

사전 정의 된 특정 예외가있는 클라이언트의 또 다른 예는 AWSSimpleSystemsManagementClient입니다. AWSSimpleSystemsManagementException의 서브 클래스를보십시오.


그래서 결론 당신이 관심있는 서비스가 다른 오류 유형에 대한 특정 예외를 정의하지 않는 경우 당신이 언급 한 바와 같이, 당신은

  • 중 하나가의 getErrorCode 방법을 사용할 수있는 인
  • 여부는 선택이 힘든 모든

에서 오류 코드에 의존하지만, 아마 당신이 공동으로 문제를 극복 할 수 당연히 바람직하지 않다 일부 사용자 정의 요청 재시도 정책 nfiguring.