SYSTEM$REPORT_HEALTH_STATUS

SYSTEM$REPORT_HEALTH_STATUS (애플리케이션 상태 보고)

소비자 앱에서 프로바이더 계정으로 애플리케이션 상태 정보를 보내요.

출처: Snowflake SQL Reference - SYSTEM$REPORT_HEALTH_STATUS

본문

구문

SYSTEM$REPORT_HEALTH_STATUS( '<status>' )

인자

'<status>'

애플리케이션의 상태를 나타내는 VARCHAR 타입의 문자열 리터럴이에요. 다음 값 중 하나를 지정할 수 있어요:

  • 'OK': 소비자 인스턴스가 정상 상태예요.
  • 'FAILED': 소비자 인스턴스가 오류 상태예요.
  • 'PAUSED': 소비자가 앱을 수동으로 일시 중지했어요.

사용 참고 사항

  • 이 함수는 소비자 애플리케이션이 호출하도록 설계되었어요. 애플리케이션은 이 함수를 주기적으로 호출해 프로바이더 계정에 상태를 보고해야 해요.
  • 어떤 상태를 보고할지는 애플리케이션 로직이 자체 모니터링과 오류 처리에 따라 결정해요.
  • 이 함수가 보고한 상태는 프로바이더 계정에서 APPLICATION_STATE 뷰(LAST_HEALTH_STATUS 및 LAST_HEALTH_STATUS_UPDATED_ON 컬럼)에 표시돼요. 프로바이더는 APPLICATION_STATE를 주기적으로 쿼리해 소비자 인스턴스의 상태를 모니터링해야 해요. 소비자 인스턴스가 FAILED 상태나 PAUSED 상태를 보고하거나 상태 보고를 중단할 때 알려주는 알림을 설정하는 것도 고려해 보세요.
  • Snowflake는 각 소비자 인스턴스가 보고한 가장 최근 상태만 보관해요.
  • Snowflake에 과도한 부하가 걸리는 것을 피하기 위해 이 함수는 비율 제한이 적용돼요. 같은 소비자 인스턴스에서 55분 안에 함수를 다시 호출하면, 상태 보고가 수락되지 않았음을 나타내는 false가 반환돼요. 예외: 현재 상태가 이미 PAUSED가 아닌 한, 마지막 보고가 55분 미만 전이었더라도 PAUSED 상태는 보고할 수 있어요. 이를 통해 인스턴스가 사용자 작업에 기반해 일시 중지 상태를 보고한 뒤 백그라운드 보고 작업을 종료해도 일시 중지 상태가 유실되지 않아요.
  • 프로바이더 측에서 애플리케이션 상태를 모니터링하는 방법에 대한 자세한 내용은 네이티브 앱 모니터링을 참고해요.

반환 값

  • 상태가 성공적으로 보고되면 이 함수는 TRUE를 반환해요.
  • 비율 제한 때문에 상태 보고가 실패하면 이 함수는 FALSE를 반환해요.

더 알아보기