Share via


current_recipientFunción

Se aplica a:check marked yes Databricks SQL check marked yes Databricks Runtime 14.2 y versiones posteriores

Importante

Esta característica está en versión preliminar pública.

Devuelve el valor de propiedad asociado a la clave de propiedad especificada para el destinatario de datos actual en un contexto de Delta Sharing. Esta función permite a los proveedores de datos controlar dinámicamente el acceso a los datos en función de propiedades específicas del destinatario.

Sintaxis

current_recipient(key)

Argumentos

  • key

    Expresión STRING que especifica una clave de propiedad de destinatario. Las propiedades del destinatario incluyen propiedades predefinidas que empiezan por 'databricks.' y propiedades personalizadas. Vea Administración de las propiedades del destinatario

Devoluciones

STRING.

Notas

Esta función se debe usar en una definición de vista cuando el proveedor de datos crea una vista compartida. Tenga en cuenta que la vista creada solo es para uso compartido: el proveedor de datos no puede consultar la vista directamente porque se producirá un error en la evaluación de la función debido a que falta el contexto de uso compartido.

Esta función solo se puede evaluar correctamente cuando el destinatario de los datos consulta una vista de uso compartido diferencial.

Ejemplos

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