Dela via


Funktionen current_recipient

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 14.2 och senare

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Returnerar egenskapsvärdet som är associerat med den angivna egenskapsnyckeln för den aktuella datamottagaren i en deltadelningskontext. Med den här funktionen kan dataprovidrar dynamiskt styra dataåtkomst baserat på mottagarspecifika egenskaper.

Syntax

current_recipient(key)

Argument

  • key

    Ett STRING uttryck som anger en egenskapsnyckel för mottagare. Mottagaregenskaperna innehåller fördefinierade egenskaper som börjar med 'databricks.' och anpassade egenskaper. Se hantera mottagaregenskaper

Returer

En STRING.

Kommentar

Den här funktionen bör användas i en vydefinition när dataleverantören skapar en delad vy. Observera att den skapade vyn endast är avsedd för delning: Dataprovidern kan inte fråga vyn direkt eftersom funktionsutvärderingen misslyckas på grund av att delningskontexten saknas.

Den här funktionen kan bara utvärderas när datamottagaren kör frågor mot en deltadelningsvy.

Exempel

-- 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;