Função current_recipient

Aplica-se a: verificação marcada como sim SQL do Databricks marca de seleção positiva Databricks Runtime 14.2 e versões posteriores

Importante

Esse recurso está em uma versão prévia.

Retorna o valor da propriedade associado à chave de propriedade especificada para o destinatário de dados atual em um contexto de compartilhamento Delta. Essa função permite que os provedores de dados controlem dinamicamente o acesso a dados com base em propriedades específicas do destinatário.

Sintaxe

current_recipient(key)

Argumentos

  • key

    Uma expressão STRING que especifica uma chave de propriedade do destinatário. As propriedades do destinatário incluem propriedades predefinidas começando com 'databricks.' e propriedades personalizadas. Confira gerenciar propriedades do destinatário

Retornos

Um STRING.

Observações

Essa função deve ser usada em uma definição de exibição quando o provedor de dados estiver criando uma exibição compartilhada. Observe que a exibição criada destina-se apenas ao compartilhamento: o provedor de dados não é capaz de consultar a exibição diretamente porque a avaliação da função falhará devido ao contexto de compartilhamento ausente.

Essa função só pode ser avaliada com êxito quando o destinatário de dados estiver consultando uma exibição de compartilhamento delta.

Exemplos

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