Aracılığıyla paylaş


current_recipient işlevi

Şunlar için geçerlidir:check marked yes Databricks SQL check marked yes Databricks Runtime 14.2 ve üzeri

Önemli

Bu özellik Genel Önizlemededir.

Delta Sharing bağlamında geçerli veri alıcısı için belirtilen özellik anahtarıyla ilişkili özellik değerini döndürür. Bu işlev, veri sağlayıcılarının alıcıya özgü özelliklere göre veri erişimini dinamik olarak denetlemesine olanak tanır.

Söz dizimi

current_recipient(key)

Bağımsız değişkenler

  • key

    STRING Alıcı özellik anahtarını belirten ifade. Alıcı özellikleri ile 'databricks.' başlayan önceden tanımlanmış özellikleri ve özel özellikleri içerir. Bkz. alıcı özelliklerini yönetme

İadeler

Bir STRING.

Notlar

Bu işlev, veri sağlayıcısı paylaşılan görünüm oluştururken görünüm tanımında kullanılmalıdır. Oluşturulan görünümün yalnızca paylaşım amaçlı olduğunu unutmayın: İşlev değerlendirmesi eksik paylaşım bağlamı nedeniyle başarısız olacağı için veri sağlayıcısı görünümü doğrudan sorgulayamaz.

Bu işlev, yalnızca veri alıcısı bir delta paylaşım görünümünü sorguladığında başarılı bir şekilde değerlendirilebilir.

Örnekler

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