IS_APPLICATION_ROLE_IN_SESSION

IS_APPLICATION_ROLE_IN_SESSION

IS_APPLICATION_ROLE_IN_SESSION은 애플리케이션 역할이 컨슈머의 현재 세션에서 활성화되었는지 확인하는 컨텍스트 함수예요.

출처: Snowflake SQL Reference

본문

카테고리: 컨텍스트 함수 (Session Object)

구문 (Syntax)

IS_APPLICATION_ROLE_IN_SESSION( '<string_literal>' )

인자 (Arguments)

'<string_literal>' — 애플리케이션 역할 이름이에요.

반환값 (Returns)

  • 지정한 역할 이름이 컨슈머의 현재 세션에서 활성화되었으면 TRUE. 이 함수는 항상 컨슈머의 현재 세션을 사용하며, 애플리케이션 역할이 함수를 사용하는 컨슈머에게 부여되었으면 TRUE를 반환해요. 애플리케이션이 이 함수를 호출하면 TRUE를 반환하지 않아요. 애플리케이션 역할은 앱에 부여되지 않고 소유되기 때문이에요.
  • 지정한 애플리케이션 역할 이름이 컨슈머의 현재 세션에서 활성화되지 않았으면 FALSE.

사용 시 유의사항 (Usage notes)

  • 이 함수는 Snowflake Native App 안에서 호출될 때만 지원돼요. 앱 밖의 사용자가 호출하면 작동하지 않아요.
  • IS_APPLICATION_ROLE_IN_SESSION 함수를 마스킹 정책(masking policy) 또는 행 접근 정책(row access policy)과 함께 사용한다면 Snowflake는 Enterprise Edition 이상이어야 해요.
  • 인자로 역할 이름 하나만 전달할 수 있어요.
  • Snowflake가 어떤 데이터를 구체화할지 결정할 수 없으므로 이 함수는 구체화된 뷰(materialized view) 정의에는 사용할 수 없어요.

예시 (Examples)

지정한 애플리케이션 역할이 현재 세션에 있는지 확인해요:

SELECT IS_APPLICATION_ROLE_IN_SESSION('ANALYST');
+-------------------------------------------+
| IS_APPLICATION_ROLE_IN_SESSION('ANALYST') |
+-------------------------------------------+
| FALSE                                     |
+-------------------------------------------+

더 알아보기