다음을 통해 공유


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;