Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Função
Aplica-se a:
SQL do Databricks
Databricks Runtime 14.2 e versões posteriores
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
keyUma expressão
STRINGque 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');
-- 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;