current_recipient
기능
적용 대상: Databricks SQL Databricks Runtime 14.2 이상
Important
이 기능은 공개 미리 보기 상태입니다.
델타 공유 컨텍스트에서 현재 데이터 받는 사람의 지정된 속성 키와 연결된 속성 값을 반환합니다. 이 함수를 사용하면 데이터 공급자가 받는 사람별 속성에 따라 데이터 액세스를 동적으로 제어할 수 있습니다.
구문
current_recipient(key)
인수
key
STRING
받는 사람 속성 키를 지정하는 식입니다. 받는 사람 속성에는 사용자 지정 속성으로 시작하는 미리 정의된 속성이'databricks.'
포함됩니다. 받는 사람 속성 관리 참조
반품
STRING
.
주의
이 함수는 데이터 공급자가 공유 보기를 만들 때 뷰 정의에서 사용해야 합니다. 만든 뷰는 공유 전용입니다. 공유 컨텍스트 누락으로 인해 함수 평가가 실패하기 때문에 데이터 공급자가 뷰를 직접 쿼리할 수 없습니다.
이 함수는 데이터 수신자가 델타 공유 뷰를 쿼리하는 경우에만 성공적으로 평가될 수 있습니다.
예제
-- provider creates view with row filtering
> CREATE VIEW acme.default.my_view AS
SELECT * FROM acme.default.my_table
WHERE country = current_recipient('country');
-- provider creates view with column masking
> CREATE VIEW acme.default.my_view AS
SELECT
CASE
WHEN current_recipient('country') = 'US' THEN pii
ELSE 'REDACTED'
END AS pii
FROM acme.default.my_table;
-- set recipient property and share view to the recipient
> ALTER SHARE my_share ADD VIEW acme.default.my_view;
> ALTER RECIPIENT cdc SET PROPERTIES ('country' = 'US');
> GRANT SELECT ON SHARE my_share TO RECIPIENT cdc;
-- recipient queries the view, results should be filtered by recipient’s property
> CREATE CATALOG acme_shared USING SHARE acme.my_share;
> SELECT * FROM acme_shared.default.my_view;