Application Integration에 지원되는 커넥터를 참조하세요.
오류 및 오류 처리
Application Integration에서 통합을 테스트 및 게시할 때 또는 통합 실행 중에 오류가 발생할 수 있습니다. 이러한 오류는 다양한 클라이언트 측 및 서버 측 문제로 인해 발생할 수 있으며 일반적으로 다음과 같이 분류됩니다.
- 영구적인 오류: 인증 실패, 데이터 유효성 검사 오류와 같은 모든 클라이언트 측 오류는 영구적인 오류로 간주됩니다. 영구적인 오류가 발생하면 태스크가 영구적으로 실패합니다.
- 일시적인 오류: HTTP 503(서비스를 사용할 수 없음), HTTP 400(잘못된 요청)과 같은 모든 서버 측 오류가 일시적인 오류로 간주됩니다. 일시적인 오류가 발생하면 태스크가 일시적으로 실패합니다.
오류 메시지는 다음 위치에 표시됩니다.
- 실행 로그 페이지: 통합 실행 중 발생한 오류를 표시합니다. 통합을 실행할 때마다 개별 로그 항목이 지정됩니다. 실행 로그 페이지에 대한 자세한 내용은 실행 로그를 참조하세요.
- 통합 편집기 페이지: 통합을 게시할 때 발생한 오류를 표시합니다. 오류는 통합 편집기 페이지 하단에 표시됩니다. 통합 편집기 페이지에 대한 자세한 내용은 통합 편집기를 참조하세요.
발생할 수 있는 오류 코드 목록은 오류 코드를 참조하세요.
오류 처리 방법
Application Integration은 통합을 생성, 테스트, 게시, 실행할 때 발생하는 오류에 응답하고 복구하는 여러 오류 처리 방법을 제공합니다. 통합 실행의 동기 모드와 비동기 모드 모두에 오류 처리 방법을 사용할 수 있습니다.
-
동기 실행: 동기 모드에서는 통합 실행 직후에 통합 실행 결과를 사용할 수 있습니다. 동기 모드는 통합 실행 직후 실행 결과를 원하는 상황에 유용합니다. 동기 모드에서 통합을 실행하는 트리거는 다음을 포함합니다.
- 통합 테스트 또는 게시
projects.locations.integrations.execute
API 호출- 동기 모드의 하위 통합에서 통합 호출
-
비동기 실행: 비동기 실행은 파이어 앤 포겟(fire and forget) 모델을 사용합니다. 비동기 모드는 통합이 실행하는 데 오랜 시간이 걸릴 수 있거나 통합 실행 직후 실행 결과가 필요하지 않은 상황에 유용합니다. 비동기 모드에서 통합을 실행하는 트리거에는 다음이 포함됩니다.
- 동기식이 아닌 모든 실행은 비동기 모드로 실행됩니다. 일반적인 비동기 모드 중 일부에는 다음이 포함되지만 이에 국한되지 않습니다.
- 정지 또는 승인 작업에서 다시 시작된 실행은 초기 실행이 ���기 모드���더라도 동기 모드로 실행됩니다.
Application Integration은 통합에서 발생한 오류를 발생, 포착, 재시도, 맞춤설정하기 위해 다음 오류 처리 방법을 지원합니다.
오류 코드
다음 표에서는 발생 가능한 오류 및 그러한 오류의 해당 원인을 설명합니다. Application Integration은 google.rpc.Code
에 정의된 표준 오류 코드를 사용합니다.
Application Integration 오류 및 여러 다른 오류 처리 전략에 대한 자세한 내용은 오류 및 오류 처리를 참조하세요.
표준 예외 유형 | 표준 코드 | HTTP 코드 | 설명 |
---|---|---|---|
FailedPreconditionException | FAILED_PRECONDITION |
400 | 현재 시스템 상태에서는 요청을 실행할 수 없습니다. |
BadRequestException | INVALID_ARGUMENT |
400 | 클라이언트가 잘못된 인수를 지정했습니다. 자세한 내용은 오류 메시지와 오류 세부정보에서 확인하세요. |
UnauthenticatedException | UNAUTHENTICATED |
401 | OAuth 토큰이 누락되었거나, 잘못되었거나, 만료되어 요청을 인증할 수 없습니다. |
ForbiddenException | PERMISSION_DENIED |
403 | 클라이언트에게 충분한 권한이 없습니다. 이 오류는 OAuth 토큰의 범위가 잘못되었거나, 클라이언트에게 필요한 권한이 없거나, API가 사용 설정되지 않은 경우에 발생할 수 있습니다. |
NotFoundException | NOT_FOUND |
404 | 지정된 리소스를 찾을 수 없습니다. |
AlreadyExistsException | ALREADY_EXISTS |
409 | 클라이언트가 만들려고 했던 리소스가 이미 존재합니다. |
InternalError | INTERNAL |
500 | 내부 서버 오류가 발생하였습니다. 전형적인 서버 버그입니다. 태스크 또는 트리거가 잘못 구성된 경우 발생할 수 있습니다. |
UnimplementedException | UNIMPLEMENTED |
501 | 서버에서 API 메서드를 구현하지 않았습니다. |
ServiceUnavailableException | UNAVAILABLE |
503 | 서비스를 사용할 수 없습니다. 전형적인 서버 다운입니다. |
AbortedException | ABORTED |
409 | 응답 크기가 너무 큽니다. |