앱의 매니페스트 파일에 이벤트 정의를 정의합니다.¶
이 항목에서는 앱의 매니페스트 파일에서 이벤트 정의를 정의하는 방법을 설명합니다. 이벤트 정의는 어떤 로그 메시지와 추적 이벤트가 공급자와 공유되는지 정의합니다.
이벤트 정의 정보¶
이벤트 정의는 앱이 로그 메시지와 추적 이벤트를 공급자와 공유하는 방법을 지정합니다. 이벤트 정의는 공급자가 설정한 로그 메시지 및 추적 이벤트 수준에 대한 필터 역할을 합니다. 공급자는 새로운 앱 버전이나 패치가 게시될 때 앱에 대한 이벤트 정의를 지정합니다.
이벤트 정의는 로그 메시지와 추적 이벤트에 적용되는 필터입니다. 이벤트 정의에 따라 이벤트 공유가 활성화될 경우 공급자 이벤트 테이블에 삽입되는 정보가 결정됩니다.
이벤트 정의는 선택 사항입니다. 공급자가 앱에 대한 이벤트 정의를 지정하지 않으면 컨슈머는 공급자가 이벤트 추적을 활성화한 경우에만 모든 이벤트에 대한 이벤트 공유를 활성화하거나 비활성화할 수 있습니다.
조심
이벤트 정의는 공급자가 설정한 로그 및 추적 수준과 다릅니다. 로그 및 추적 수준에 따라 컨슈머 이벤트 테이블에 삽입되는 정보가 결정됩니다. 로그 수준이나 추적 수준이 설정되지 않으면 앱은 아무 이벤트도 내보내지 않습니다.
앱의 로그 및 추적 수준은 컨슈머가 활성화한 이벤트 정의에 따라 변경될 수 있습니다. Snowflake는 컨슈머가 활성화한 이벤트 정의에서 허용하는 가장 자세한 로그 및 추적 수준을 사용합니다.
필수 및 선택 이벤트 정의¶
공급자는 이벤트 정의를 필수 사항 또는 선택 사항으로 설정할 수 있습니다.
필수 이벤트 정의는 앱이 설치될 때 자동으로 활성화됩니다.
필수 이벤트 정의가 포함된 앱을 설치한 후에는 컨슈머가 이벤트 공유나 필수 이벤트 정의를 비활성화할 수 없습니다. 앱이 업그레이드될 때 공급자는 시스템 함수 또는 Python Permission SDK 를 사용하여 컨슈머가 필요한 모든 이벤트 정의를 활성화했는지 확인할 수 있습니다.
선택적 이벤트 정의는 컨슈머가 필요에 따라 활성화하거나 비활성화할 수 있습니다.
지원되는 이벤트 정의¶
다음 테이블에는 현재 지원되는 이벤트 정의가 나열되어 있습니다.
타입 |
이름 |
설명 |
필터 |
---|---|---|---|
All |
SNOWFLAKE$ALL |
앱에서 내보내는 모든 로그 메시지와 추적 이벤트를 공유합니다. |
|
Errors and warnings |
SNOWFLAKE$ERRORS_AND_WARNINGS |
오류, 경고 및 치명적인 이벤트와 관련된 로그를 공유합니다. |
|
Traces |
SNOWFLAKE$TRACES |
애플리케이션에서 사용자 활동과 여정에 대한 자세한 추적 정보를 공유합니다. |
|
Usage logs |
SNOWFLAKE$USAGE_LOGS |
사용자 작업 및 앱 이벤트와 관련된 상위 수준 로그를 공유합니다. |
|
Debug logs |
SNOWFLAKE$DEBUG_LOGS |
앱의 문제 해결에 사용된 기술 로그를 공유합니다. |
|
참고
Snowsight 는 공급자가 이벤트 정의를 사용하도록 앱을 구성하지 않은 경우 모든 이벤트 All 유형만 컨슈머에게 표시합니다.
컨테이너가 있는 앱에서 이벤트 정의의 제한 사항¶
Snowflake Native Apps with Snowpark Container Services 는 현재 ALL
이벤트 정의만 지원합니다. 추가 이벤트 정의에 대한 지원은 향후 릴리스에서 추가될 예정입니다.
앱의 로그 및 추적 수준 설정¶
앱이 이벤트 추적을 사용할 수 있도록 하려면 공급자가 매니페스트 파일에서 로그 및 추적 수준을 구성해야 합니다.
앱에 대한 로그 및 추적 수준을 설정하려면 다음 예제와 같이 manifest.yml
파일에 configuration
블록을 추가합니다.
configuration:
...
log_level: INFO
trace_level: ALWAYS
...
이 예제에서는 앱의 로그 및 추적 수준을 다음과 같이 설정합니다.
log_level
속성은INFO
로 설정됩니다.trace_level
속성은ALWAYS
로 설정됩니다.
이러한 매개 변수의 유효한 값에 대한 자세한 내용은 LOG_LEVEL 및 TRACE_LEVEL 섹션을 참조하십시오.
조심
앱을 게시한 후에는 로그 및 추적 수준을 변경할 수 없습니다. 매니페스트 파일에 로그 및 추적 수준이 설정되지 않으면 앱은 아무 정보도 내보내지 않습니다.
앱에 대한 로그 및 추적 수준이 설정되면 컨슈머는 앱에서 내보내는 로그 메시지와 추적 이벤트를 확인하기 위해 자신의 계정에서 이벤트 테이블을 설정해야 합니다.
공급자가 앱에서 생성된 로그 메시지를 확인하고 이벤트를 추적할 수 있도록 하려면 컨슈머가 이벤트 공유를 활성화해야 합니다. 자세한 내용은 앱에 이벤트 공유 활성화 섹션을 참조하십시오.
매니페스트 파일에 이벤트 정의 추가¶
공급자는 이벤트 정의를 지정하기 위해 다음 예제와 같이 매니페스트 파일의 configuration.telemetry_event_definitions
블록에 항목을 추가합니다.
configuration:
telemetry_event_definitions:
- type: ERRORS_AND_WARNINGS
sharing: MANDATORY
- type: DEBUG_LOGS
sharing: OPTIONAL
이 예제에서는 다음 이벤트 정의를 지정합니다.
유형이
ERRORS_AND_WARNINGS
인 필수 이벤트 정의.유형이
DEBUG_LOGS
인 선택적 이벤트 정의.
자세한 내용은 지원되는 이벤트 정의 섹션을 참조하십시오.
컨슈머가 앱을 설치하면 앱의 Security 페이지에 있는 Events and logs 탭에 이벤트 정의가 표시됩니다. 자세한 내용은 앱에 대한 로깅 및 이벤트 공유 활성화 섹션을 참조하십시오.