Sdílet prostřednictvím


Funkce current_recipient

Platí pro:check marked yes Databricks SQL check marked yes Databricks Runtime 14.2 a vyšší

Důležité

Tato funkce je ve verzi Public Preview.

Vrátí hodnotu vlastnosti přidruženou k zadanému klíči vlastnosti pro aktuálního příjemce dat v kontextu rozdílového sdílení. 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

  • key

    Výraz STRING určující klíč vlastnosti příjemce. Mezi vlastnosti příjemce patří předdefinované vlastnosti začínající a vlastními vlastnostmi 'databricks.' . Zobrazit spravovat vlastnosti příjemce

Vrácení

Úloha STRING.

Notes

Tato funkce by se měla použít v definici zobrazení při vytváření sdíleného zobrazení zprostředkovatele dat. 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 v případě, že příjemce dat dotazuje rozdílové zobrazení 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');
> 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;