IS_APPLICATION_ROLE_IN_SESSION
IS_APPLICATION_ROLE_IN_SESSION
IS_APPLICATION_ROLE_IN_SESSION은 애플리케이션 역할이 컨슈머의 현재 세션에서 활성화되었는지 확인하는 컨텍스트 함수예요.
본문
카테고리: 컨텍스트 함수 (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 |
+-------------------------------------------+