Função current_recipient
Aplica-se a: Databricks SQL Databricks Runtime 14.2 e superior
Importante
Esta funcionalidade está em Pré-visualização Pública.
Retorna o valor da propriedade associada à 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 aos dados com base em propriedades específicas do destinatário.
Sintaxe
current_recipient(key)
Argumentos
key
Uma
STRING
expressão que especifica uma chave de propriedade de destinatário. As propriedades do destinatário incluem propriedades predefinidas começando com'databricks.'
e propriedades personalizadas. Consulte Gerenciar propriedades do destinatário
Devoluções
A STRING
.
Notas
Essa função deve ser usada em uma definição de exibição quando o provedor de dados está criando uma exibição compartilhada. Observe que o modo de exibição criado é apenas para compartilhamento: o provedor de dados não pode consultar o modo de exibição diretamente porque a avaliação da função falhará devido à falta de contexto de compartilhamento.
Essa função pode ser avaliada com êxito somente quando o destinatário dos dados está 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;