Delen via


current_recipient-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 14.2 en hoger

Belangrijk

Deze functie is beschikbaar als openbare preview.

Retourneert de eigenschapswaarde die is gekoppeld aan de opgegeven eigenschapssleutel voor de huidige gegevensontvanger in een Delta Sharing-context. Met deze functie kunnen gegevensproviders de toegang tot gegevens dynamisch beheren op basis van geadresseerde-specifieke eigenschappen.

Syntaxis

current_recipient(key)

Argumenten

  • key

    Een STRING expressie die een eigenschapssleutel van de ontvanger opgeeft. Eigenschappen van geadresseerden bevatten vooraf gedefinieerde eigenschappen die beginnen met 'databricks.' en aangepaste eigenschappen. Zie Eigenschappen van geadresseerden beheren

Retouren

A STRING.

Opmerkingen

Deze functie moet worden gebruikt in een weergavedefinitie wanneer de gegevensprovider een gedeelde weergave maakt. De gemaakte weergave is alleen bedoeld voor delen: de gegevensprovider kan de weergave niet rechtstreeks opvragen omdat de functie-evaluatie mislukt vanwege ontbrekende context voor delen.

Deze functie kan alleen worden geëvalueerd wanneer de gegevensontvanger een query uitvoert op een weergave voor delen van verschillen.

Voorbeelden

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