مشاركة عبر


current_recipient دالة

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime 14.2 وما فوق

هام

هذه الميزة في المعاينة العامة.

إرجاع قيمة الخاصية المقترنة بمفتاح الخاصية المحدد لمستلم البيانات الحالي في سياق Delta Sharing. تسمح هذه الدالة لموفري البيانات بالتحكم ديناميكيا في الوصول إلى البيانات استنادا إلى الخصائص الخاصة بالمستلم.

بناء الجملة

current_recipient(key)

الوسيطات

  • key

    STRING تعبير يحدد مفتاح خاصية المستلم. تتضمن خصائص المستلم خصائص معرفة مسبقا تبدأ ب 'databricks.' وخصائص مخصصة. راجع إدارة خصائص المستلم

المرتجعات

STRING.

ملاحظات

يجب استخدام هذه الدالة في تعريف طريقة عرض عندما يقوم موفر البيانات بإنشاء طريقة عرض مشتركة. لاحظ أن طريقة العرض التي تم إنشاؤها للمشاركة فقط: موفر البيانات غير قادر على الاستعلام عن طريقة العرض مباشرة لأن تقييم الدالة سيفشل بسبب فقدان سياق المشاركة.

يمكن تقييم هذه الدالة بنجاح فقط عندما يقوم مستلم البيانات بالاستعلام عن طريقة عرض مشاركة دلتا.

الأمثلة

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