Pintasan OneLake

Pintasan di Microsoft OneLake memungkinkan Anda menyatukan data di seluruh domain, cloud, dan akun dengan membuat satu data lake virtual untuk seluruh perusahaan Anda. Semua pengalaman Fabric dan mesin analitik dapat langsung terhubung ke sumber data Anda yang ada seperti Azure, AWS, dan OneLake melalui namespace layanan terpadu. Izin dan kredensial semuanya dikelola oleh OneLake, sehingga setiap pengalaman Fabric tidak perlu dikonfigurasi secara terpisah untuk terhubung ke setiap sumber data. Selain itu, Anda dapat menggunakan pintasan untuk menghilangkan salinan tepi data dan mengurangi latensi proses yang terkait dengan salinan dan penahapan data.

Penting

Microsoft Fabric sedang dalam pratinjau.

Apa itu pintasan?

Pintasan adalah objek di OneLake yang menunjuk ke lokasi penyimpanan lainnya. Lokasi dapat internal atau eksternal ke OneLake. Lokasi yang diacu pintasan dikenal sebagai jalur "Target" pintasan. Lokasi tempat pintasan muncul dikenal sebagai jalur "Pintasan". Pintasan muncul sebagai folder di OneLake dan dapat digunakan secara transparan oleh pengalaman atau layanan apa pun yang memiliki akses ke OneLake. Pintasan berulah mirip dengan tautan simbolis. Mereka adalah objek independen dari target. Jika pintasan dihapus, target tetap tidak terpengaruh. Jika jalur target dipindahkan, diganti namanya, atau dihapus, pintasan dapat putus.

Diagram memperlihatkan bagaimana pintasan menyambungkan file dan folder yang disimpan di lokasi lain.

Di mana saya bisa membuat pintasan?

Pintasan dapat dibuat baik di Lakehouses maupun KQL Database. Selain itu, pintasan yang dibuat dalam item ini dapat menunjuk ke lokasi OneLake lainnya, akun penyimpanan ADLS Gen2 atau Amazon S3.

Lakehouse

Saat membuat pintasan di Lakehouse, penting untuk memahami struktur folder item. Lakehouses terdiri dari dua folder tingkat atas: Folder "Tabel" dan folder "File". Folder "Tabel" mewakili bagian yang dikelola dari Lakehouse sementara folder "File" adalah bagian yang tidak dikelola dari Lakehouse. Di folder "Tabel", Anda hanya dapat membuat pintasan di tingkat atas. Pintasan tidak didukung di subdirektori lain dari folder "Tabel". Jika target pintasan berisi data dalam format delta\parquet, Lakehouse akan secara otomatis menyinkronkan metadata dan mengenali folder sebagai Tabel. Di folder "File", tidak ada batasan di mana Anda dapat membuat pintasan. Mereka dapat dibuat pada tingkat hierarki folder apa pun. Penemuan tabel tidak terjadi di folder "File".

Diagram memperlihatkan tampilan Lake dan tampilan Tabel berdampingan.

KQL Database

Saat Anda membuat pintasan di database KQL, pintasan akan muncul di folder "Pintasan" database. Database KQL memperlakukan pintasan seperti tabel eksternal. Untuk mengkueri pintasan, gunakan fungsi "external_table" dari Bahasa Kueri Kusto.

Cuplikan layar pintasan di dalam database KQL.

Di mana saya dapat mengakses pintasan?

Setiap layanan Fabric atau non-Fabric yang dapat mengakses data di OneLake dapat menggunakan pintasan. Pintasan transparan untuk layanan apa pun yang mengakses data melalui ONELake API. Pintasan hanya muncul sebagai folder lain di danau. Ini memungkinkan Spark, SQL, Real-Time Analytics, dan Analysis Services untuk semua pintasan yang digunakan saat mengkueri data.

Spark

Buku catatan Spark dan pekerjaan Spark dapat menggunakan pintasan yang dibuat di OneLake. Jalur file relatif dapat digunakan untuk langsung membaca data dari pintasan. Selain itu, jika pintasan dibuat di bagian "Tabel" dari Lakehouse dan dalam format delta, pintasan juga dapat dibaca sebagai tabel terkelola menggunakan sintaks Spark SQL.

df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)

Catatan

Format delta tidak mendukung tabel dengan karakter spasi dalam nama. Pintasan apa pun yang berisi spasi dalam nama tidak akan ditemukan sebagai tabel delta di lakehouse.

SQL

Pintasan di bagian tabel Lakehouse juga dapat dibaca melalui titik akhir SQL untuk Lakehouse. Ini dapat diakses melalui pemilih mode Lakehouse atau melalui SQL Server Management Studio (SSMS).

SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]

Analitik Real-Time

Pintasan dalam KQL DB dikenali sebagai tabel eksternal. Untuk mengkueri pintasan, gunakan fungsi "external_table" dari Bahasa Kueri Kusto.

external_table('MyShortcut')
| take 100

Catatan

Database KQL saat ini tidak mendukung data dalam format delta. Tabel dalam database KQL hanya diekspor ke OneLake sebagai file parket. Pintasan dalam database KQL yang berisi data berformat delta dalam target tidak dikenali sebagai tabel.

Analysis Services

Himpunan data Power BI dapat dibuat untuk Lakehouse yang berisi pintasan di bagian tabel Lakehouse. Saat himpunan data berjalan dalam mode direct-lake, Analysis Services dapat membaca data langsung dari pintasan.

Non-Fabric

Aplikasi dan layanan di luar Fabric juga dapat mengakses pintasan melalui ONELake API. OneLake mendukung subset API penyimpanan ADLS Gen2 dan Blob. Untuk mempelajari selengkapnya tentang API OneLake, lihat Akses OneLake dengan API.

https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv

Tipe pintasan

Pintasan OneLake mendukung beberapa sumber data sistem file. Ini termasuk lokasi OneLake internal, Azure Data Lake Storage Gen2 dan Amazon S3.

Pintasan OneLake internal

Pintasan OneLake internal memungkinkan Anda mereferensikan data dalam item Fabric yang ada. Item-item ini termasuk Lakehouses, KQL Database, dan Gudang Data. Pintasan dapat menunjuk ke lokasi folder dalam item yang sama, di seluruh item dalam ruang kerja yang sama atau bahkan di seluruh item di ruang kerja yang berbeda. Saat Anda membuat pintasan di seluruh item, jenis item tidak perlu cocok. Misalnya, Anda dapat membuat pintasan di Lakehouse yang menunjuk ke data di Gudang Data.

Saat mengakses data melalui pintasan ke lokasi OneLake lain, identitas pengguna panggilan akan digunakan untuk mengotorisasi akses ke data di jalur target pintasan*. Pengguna ini harus memiliki izin di lokasi target untuk membaca data.

Penting

Saat mengakses pintasan melalui Himpunan Data Power BI atau T-SQL, identitas pengguna panggilan tidak diteruskan ke target pintasan. Sebagai gantinya, identitas pemilik item panggilan diteruskan, mendelegasikan akses ke pengguna panggilan.

Pintasan ADLS

Pintasan juga dapat dibuat ke akun penyimpanan ADLS Gen2. Saat Anda membuat pintasan ke ADLS, jalur target dapat menunjuk ke folder apa pun dalam namespace hierarkis. Minimal, jalur target harus menyertakan nama kontainer.

Akses:

Pintasan ADLS harus menunjuk ke titik akhir DFS untuk akun penyimpanan.
Contoh: https://accountname.dfs.core.windows.net/

Catatan

Pintasan ADLS tidak mendukung titik akhir privat.

Otorisasi:

Pintasan ADLS menggunakan model otorisasi yang didelegasikan. Dalam model ini, pembuat pintasan menentukan kredensial untuk pintasan ADLS dan semua akses ke pintasan tersebut akan diotorisasi menggunakan kredensial tersebut. Jenis yang didelegasikan yang didukung adalah Kunci Akun, Token SAS, OAuth, dan Perwakilan Layanan.

  • Token SAS - harus menyertakan setidaknya izin berikut: Baca, Daftar, Jalankan

  • Identitas OAuth - harus memiliki peran Pembaca Data Blob Penyimpanan, Kontributor Data Blob Penyimpanan, atau Pemilik Data Blob Penyimpanan di akun penyimpanan.

  • Perwakilan Layanan - harus memiliki peran Storage Blob Data Reader, Storage Blob Data Contributor, atau Storage Blob Data Owner pada akun penyimpanan.

Pintasan S3

Pintasan juga dapat dibuat ke akun Amazon S3. Saat Anda membuat pintasan ke Amazon S3, jalur target harus berisi nama wadah minimal. S3 tidak secara asli mendukung namespace hierarkis tetapi Anda dapat menggunakan awalan untuk meniru struktur direktori. Anda dapat menyertakan awalan di jalur pintasan untuk lebih mempersempit cakupan data yang dapat diakses melalui pintasan. Saat mengakses data melalui awalan pintasan S3 akan direpresentasikan sebagai folder.

Akses:

Pintasan S3 harus menunjuk ke titik akhir https untuk wadah S3. Contoh: https://bucketname.s3.region.amazonaws.com/

Catatan

Pintasan S3 tidak mendukung titik akhir privat.

Otorisasi:

Pintasan S3 menggunakan model otorisasi yang didelegasikan. Dalam model ini, pembuat pintasan menentukan kredensial untuk pintasan S3 dan semua akses ke pintasan tersebut akan diotorisasi menggunakan kredensial tersebut. Kredensial yang didelegasikan yang didukung adalah Kunci dan Rahasia untuk pengguna IAM.

IAM harus memiliki setidaknya izin baca saja (Dapatkan, Daftar) pada wadah yang diacu pintasan.

Catatan

Pintasan S3 bersifat baca-saja. Mereka tidak mendukung operasi tulis terlepas dari izin untuk pengguna IAM.

Bagaimana pintasan menggunakan koneksi cloud

Otorisasi pintasan ADLS dan S3 didelegasikan melalui penggunaan koneksi cloud. Saat membuat pintasan ADLS atau S3 baru, pengguna membuat koneksi baru atau memilih koneksi yang sudah ada untuk sumber data. Ketika koneksi diatur untuk pintasan, ini dianggap sebagai operasi "ikat". Hanya pengguna dengan izin pada koneksi yang dapat melakukan operasi pengikatan. Jika pengguna tidak memiliki izin pada koneksi, mereka tidak dapat membuat pintasan baru menggunakan koneksi tersebut.

Izin

Izin untuk pintasan diatur oleh kombinasi izin di jalur pintasan dan jalur target. Saat pengguna mengakses pintasan, izin paling ketat dari dua lokasi diterapkan. Oleh karena itu, pengguna yang memiliki izin baca/tulis di Lakehouse tetapi hanya membaca izin di target pintasan tidak akan diizinkan untuk menulis ke jalur target pintasan. Demikian juga, pengguna yang hanya memiliki izin baca di Lakehouse tetapi membaca/menulis di target pintasan juga tidak akan diizinkan untuk menulis ke jalur target pintasan.

Peran ruang kerja

Tabel berikut ini memperlihatkan izin terkait pintasan untuk setiap peran ruang kerja. Untuk informasi selengkapnya, lihat Peran ruang kerja.

Kemampuan Admin Anggota Kontributor Penampil
Membuat pintasan Ya1 Ya1 Ya1 -
Membaca konten file/folder pintasan Ya2 Ya2 Ya2 -
Menulis ke lokasi target pintasan Ya3 Ya3 Ya3 -
Membaca data dari pintasan di bagian tabelLakehouse melalui titik akhir TDS Ya Ya Ya Ya

1 Pengguna harus memiliki peran yang menyediakan izin tulis lokasi pintasan dan setidaknya lokasi target izin baca

2 Pengguna harus memiliki peran yang menyediakan izin baca baik di lokasi pintasan maupun lokasi target

3 Pengguna harus memiliki peran yang menyediakan izin tulis baik di lokasi pintasan maupun lokasi target

Bagaimana pintasan menangani penghapusan?

Pintasan tidak melakukan penghapusan berkaskala. Saat Anda melakukan operasi penghapusan pada pintasan, Anda hanya menghapus objek pintasan. Data di target pintasan tetap tidak berubah. Namun, jika Anda melakukan operasi penghapusan pada file atau folder dalam pintasan, dan Anda memiliki izin di target pintasan untuk melakukan operasi penghapusan, file dan/atau folder dihapus di target. Contoh berikut mengilustrasikan poin ini.

Menghapus contoh

Pengguna A memiliki lakehouse dengan jalur berikut di dalamnya:

MyLakehouse\Files\MyShortcut\Foo\Bar

MyShortcut adalah pintasan yang menunjuk ke akun ADLS Gen2 yang berisi direktori Foo\Bar .

Menghapus objek pintasan

Pengguna A melakukan operasi penghapusan pada jalur berikut:

MyLakehouse\Files\MyShortcut

Dalam hal ini, MyShortcut dihapus dari Lakehouse. Pintasan tidak melakukan penghapusan berjenjang, oleh karena itu file dan direktori di akun ADLS Gen2 Foo\Bar tetap tidak terpengaruh.

Menghapus konten yang dirujuk oleh pintasan

Pengguna A melakukan operasi penghapusan pada jalur berikut:

MyLakehouse\Files\MyShortcut\Foo\Bar

Dalam hal ini, jika Pengguna A memiliki izin tulis di akun ADLS Gen2, direktori Bar dihapus dari akun ADLS Gen2.

Tampilan silsilah ruang kerja

Saat membuat pintasan antara beberapa item Fabric dalam ruang kerja, Anda dapat memvisualisasikan hubungan pintasan melalui tampilan silsilah ruang kerja. Pilih tombol Tampilan silsilah ( ) di sudut kanan atas penjelajah Ruang Kerja.

Cuplikan layar tampilan silsilah.

Catatan

Tampilan silsilah dilingkup ke satu ruang kerja. Pintasan ke lokasi di luar ruang kerja terpilih tidak akan muncul.

Masalah dan batasan yang diketahui

  • Jumlah maksimum pintasan per item Fabric adalah 10.000.
  • Jumlah maksimum pintasan dalam satu jalur OneLake adalah 10.
  • Jumlah maksimum pintasan langsung ke tautan pintasan adalah 5.
  • Jalur target pintasan ADLS dan S3 tidak boleh berisi karakter yang dipesan dari RCF 3986 bagian 2.2.
  • Jalur target pintasan OneLake tidak boleh berisi karakter "%".
  • Pintasan tidak mendukung karakter nonlatin.
  • Salin Blob api yang tidak didukung untuk pintasan ADLS atau S3.
  • Fungsi salin tidak berfungsi pada pintasan yang langsung mengarah ke kontainer ADLS. Disarankan untuk membuat pintasan ADLS ke direktori yang setidaknya satu tingkat di bawah kontainer.
  • Pintasan OneLake yang menunjuk ke pintasan ADLS atau S3 tidak didukung.
  • Pintasan tambahan tidak dapat dibuat di dalam pintasan ADLS atau S3.

Langkah berikutnya