Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime 14.2 nebo vyšší
Vrátí hodnotu vlastnosti přidruženou k zadanému klíči vlastnosti v kontextu Delta Sharing pro aktuálního příjemce dat. Tato funkce umožňuje poskytovatelům dat dynamicky řídit přístup k datům na základě vlastností specifických pro příjemce.
Syntaxe
current_recipient(key)
Argumenty
keyVýraz
STRINGurčující klíč vlastnosti příjemce. Mezi vlastnosti příjemce patří předdefinované vlastnosti začínající na'databricks.'a vlastní vlastnosti. Viz spravovat vlastnosti příjemce
Návraty
Úloha STRING.
Poznámky
Tato funkce by se měla použít v definici zobrazení, když poskytovatel dat vytváří sdílené zobrazení. Všimněte si, že vytvořené zobrazení je určené jenom ke sdílení: Zprostředkovatel dat nemůže dotazovat zobrazení přímo, protože vyhodnocení funkce selže kvůli chybějícímu kontextu sdílení.
Tuto funkci lze úspěšně vyhodnotit pouze tehdy, když příjemce dat dotazuje na zobrazení v delta sdílení.
Příklady
-- 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');
-- Test recipient by mocking the context
> SET RECIPIENT cdc;
> SELECT * FROM acme_shared.default.my_view;
-- Grant access to shre to recipient
> 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;