current_recipient
-Funktion
Gilt für: Databricks SQL Databricks Runtime 14.2 und höher
Wichtig
Dieses Feature befindet sich in der Public Preview.
Gibt den Eigenschaftswert zurück, der dem angegebenen Eigenschaftsschlüssel für den aktuellen Datenempfänger in einem Delta-Freigabekontext zugeordnet ist. Mit dieser Funktion können Datenanbieter den Datenzugriff basierend auf empfängerspezifischen Eigenschaften dynamisch steuern.
Syntax
current_recipient(key)
Argumente
key
Ein
STRING
-Ausdruck, der einen Empfängereigenschaftsschlüssel angibt. Empfängereigenschaften enthalten vordefinierte Eigenschaften, die mit'databricks.'
und benutzerdefinierten Eigenschaften beginnen. Siehe Verwalten von Empfängereigenschaften.
Gibt zurück
Ein STRING
.
Hinweise
Diese Funktion sollte in einer Ansichtsdefinition verwendet werden, wenn der Datenanbieter eine freigegebene Ansicht erstellt. Beachten Sie, dass die erstellte Ansicht nur für die Freigabe vorgesehen ist: Der Datenanbieter kann die Ansicht nicht direkt abfragen, da die Funktionsauswertung aufgrund von fehlendem Freigabekontext fehlschlägt.
Diese Funktion kann nur dann erfolgreich ausgewertet werden, wenn der Datenempfänger eine Delta-Freigabeansicht abfragt.
Beispiele
-- 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;