Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 14.2 ke atas
Mengembalikan nilai properti yang terkait dengan kunci properti yang ditentukan untuk penerima data saat ini dalam konteks Berbagi Delta. Fungsi ini memungkinkan penyedia data untuk mengontrol akses data secara dinamis berdasarkan properti khusus penerima.
Sintaks
current_recipient(key)
Argumen
keySTRINGEkspresi yang menentukan kunci properti penerima. Properti penerima mencakup properti yang telah ditentukan sebelumnya yang dimulai dengan'databricks.'dan properti kustom. Lihat mengelola properti penerima
Pengembalian
STRING.
Catatan
Fungsi ini harus digunakan dalam definisi tampilan saat penyedia data membuat tampilan bersama. Perhatikan bahwa tampilan yang dibuat hanya untuk berbagi: Penyedia data tidak dapat mengkueri tampilan secara langsung karena evaluasi fungsi akan gagal karena konteks berbagi yang hilang.
Fungsi ini dapat berhasil dievaluasi hanya ketika penerima data mengkueri tampilan berbagi delta.
Contoh
-- 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;