Funkcja current_recipient
Dotyczy: Databricks SQL Databricks Runtime 14.2 i nowsze
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
Zwraca wartość właściwości skojarzona z określonym kluczem właściwości dla bieżącego adresata danych w kontekście udostępniania różnicowego. Ta funkcja umożliwia dostawcom danych dynamiczne kontrolowanie dostępu do danych na podstawie właściwości specyficznych dla adresata.
Składnia
current_recipient(key)
Argumenty
key
Wyrażenie
STRING
określające klucz właściwości adresata. Właściwości adresata obejmują wstępnie zdefiniowane właściwości rozpoczynające się od'databricks.'
i właściwości niestandardowe. Zobacz zarządzanie właściwościami adresatów
Zwraca
Klasa STRING
.
Uwagi
Ta funkcja powinna być używana w definicji widoku, gdy dostawca danych tworzy widok udostępniony. Należy pamiętać, że utworzony widok jest przeznaczony tylko do udostępniania: dostawca danych nie może wykonać zapytania względem widoku bezpośrednio, ponieważ ocena funkcji zakończy się niepowodzeniem z powodu braku kontekstu udostępniania.
Tę funkcję można pomyślnie ocenić tylko wtedy, gdy adresat danych wykonuje zapytanie dotyczące widoku udostępniania różnicowego.
Przykłady
-- 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;