카테고리:

시스템 함수 (정보)

SYSTEM$REPORT_HEALTH_STATUS

컨슈머 앱에서 공급자 계정으로 :ref:`애플리케이션 상태 정보<label-nativeapps_monitor_consumer_app_health>`를 전송합니다.

구문

SYSTEM$REPORT_HEALTH_STATUS( '<status>' )
Copy

인자

'status'

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

  • 'OK': 컨슈머 인스턴스가 정상입니다.

  • 'FAILED': 컨슈머 인스턴스가 오류 상태에 있습니다.

  • 'PAUSED': 컨슈머가 앱을 수동으로 일시 중지했습니다.

사용법 노트

  • 이 함수는 컨슈머 애플리케이션에서 호출하기 위한 함수입니다. 애플리케이션은 이 함수를 주기적으로 호출하여 상태를 공급자 계정에 보고해야 합니다.

  • 애플리케이션 논리는 자체 모니터링 및 오류 처리를 기반으로 보고할 상태를 결정합니다.

  • 이 함수에 의해 보고된 상태는 GET_HEALTH_STATUS 함수를 통해 공급자 계정에 표시됩니다. 컨슈머 인스턴스의 상태를 모니터링하기 위해 공급자 계정에서 주기적으로 GET_HEALTH_STATUS를 호출해야 합니다. 작업 또는 모니터링되는 작업을 사용하여 이 함수를 호출하는 경우 애플리케이션에 작업을 실행할 수 있는 올바른 권한이 있는지 확인합니다. 컨슈머 인스턴스가 FAILED 상태, PAUSED 상태를 보고하거나 상태 보고를 중지하는 경우 이를 알려주는 경고를 설정하는 것이 좋습니다.

  • Snowflake는 애플리케이션의 각 컨슈머 인스턴스에서 보고한 가장 최근 상태만 유지합니다.

  • Snowflake에서 과도한 로드를 방지하기 위해 이 함수는 속도가 제한됩니다. 동일한 컨슈머 인스턴스에서 55분 이내에 함수를 다시 호출하면 상태 보고서가 수락되지 않았음을 나타내는 :code:`false`를 반환합니다.

  • 공급자 측에서 애플리케이션 상태를 모니터링하는 방법에 대한 자세한 내용은 앱에 모니터링 사용하기 섹션을 참조하세요.

반환 값

  • 이 함수는 상태가 성공적으로 보고된 경우 TRUE를 반환합니다.

  • 이 함수는 속도 제한으로 인해 상태 보고서가 실패한 경우 FALSE를 반환합니다.