Membuat dan menggunakan titik akhir privat terkelola
Pengguna dengan izin admin ke ruang kerja Microsoft Fabric dapat membuat, melihat, dan menghapus titik akhir privat terkelola dari portal Fabric melalui pengaturan ruang kerja.
Pengguna juga dapat memantau status dan proses persetujuan titik akhir privat terkelola dari bagian Keamanan jaringan dari pengaturan ruang kerja.
Pengguna dapat mengakses sumber data menggunakan nama titik akhir privat dari beban kerja Fabric Spark.
Buat titik akhir privat terkelola
Di ruang kerja Fabric, navigasikan ke pengaturan ruang kerja, pilih tab Keamanan jaringan, lalu pilih opsi Buat di bagian Titik Akhir Privat Terkelola.
Dialog Buat titik akhir Privat Terkelola terbuka.
Tentukan nama untuk titik akhir privat dan salin di pengidentifikasi sumber daya untuk sumber daya Azure. Pengidentifikasi sumber daya dapat ditemukan di tab properti di halaman portal Azure.
Catatan
Membuat titik akhir privat terkelola dengan nama domain yang sepenuhnya memenuhi syarat (FQDN) tidak didukung.
Setelah selesai, pilih Buat.
Ketika titik akhir privat terkelola telah disediakan, status Aktivasi berubah menjadi Berhasil.
Selain itu permintaan untuk akses titik akhir privat dikirim ke sumber data. Admin sumber data diberi tahu di halaman sumber daya portal Azure untuk sumber data mereka. Di sana mereka akan melihat permintaan akses tertunda dengan pesan permintaan.
Mengambil server SQL sebagai contoh, pengguna dapat menavigasi ke portal Azure dan mencari sumber daya "SQL Server".
Pada halaman Sumber Daya, pilih Jaringan dari menu navigasi lalu pilih tab Akses Privat.
Administrator sumber data harus dapat melihat koneksi titik akhir privat aktif dan permintaan koneksi baru.
Admin dapat Menyetujui atau Menolak dengan memberikan pembenaran bisnis.
Setelah permintaan disetujui atau ditolak oleh admin sumber data, status diperbarui di halaman pengaturan ruang kerja Fabric saat refresh.
Ketika status telah berubah menjadi disetujui, titik akhir dapat digunakan dalam notebook atau definisi pekerjaan Spark untuk mengakses data yang disimpan di sumber data dari ruang kerja Fabric.
Menggunakan titik akhir privat terkelola di Fabric
Notebook Microsoft Fabric mendukung interaksi yang mulus dengan sumber data di belakang jaringan aman menggunakan titik akhir privat terkelola untuk eksplorasi dan pemrosesan data. Dalam buku catatan, pengguna dapat dengan cepat membaca data dari sumber data yang dilindungi (dan menulis data kembali ke) lakehouse mereka dalam berbagai format file.
Panduan ini menyediakan sampel kode untuk membantu Anda memulai di notebook Anda sendiri untuk mengakses data dari sumber data seperti SQL DB melalui titik akhir privat terkelola.
Prasyarat
Akses ke sumber data. Contoh ini melihat Azure SQL Server dan Azure SQL Database.
Masuk ke Microsoft Fabric dan portal Azure.
Navigasi ke halaman sumber daya Azure SQL Server di portal Azure dan pilih menu Properti. Salin ID Sumber Daya untuk SQL Server yang ingin Anda sambungkan dari Microsoft Fabric.
Menggunakan langkah-langkah yang tercantum dalam Membuat titik akhir privat terkelola, buat titik akhir privat terkelola dari halaman pengaturan keamanan Fabric Network.
Setelah administrator sumber data server SQL menyetujui permintaan koneksi titik akhir privat baru, Anda harus dapat menggunakan Titik Akhir Privat Terkelola yang baru dibuat.
Menyambungkan ke Sumber Data dari Notebook
Di ruang kerja Microsoft Fabric, gunakan pengalih pengalaman di sisi kiri halaman beranda Anda untuk beralih ke pengalaman Rekayasa Data Synapse.
Pilih Buat dan buat buku catatan baru.
Sekarang, di buku catatan, dengan menentukan nama database SQL dan properti koneksinya, Anda dapat menyambungkan melalui koneksi titik akhir privat terkelola yang telah disiapkan untuk membaca tabel dalam database dan menulisnya ke lakehouse Anda di Microsoft Fabric.
Kode PySpark berikut menunjukkan cara menyambungkan ke database SQL.
serverName = "<server_name>.database.windows.net"
database = "<database_name>"
dbPort = 1433
dbUserName = "<username>"
dbPassword = “<db password> or reference based on Keyvault>”
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("Example") \
.config("spark.jars.packages", "com.microsoft.azure:azure-sqldb-spark:1.0.2") \
.config("spark.sql.catalogImplementation", "com.microsoft.azure.synapse.spark") \
.config("spark.sql.catalog.testDB", "com.microsoft.azure.synapse.spark") \
.config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName", "AzureSqlDatabase") \ .config("spark.sql.catalog.testDB.spark.synapse.linkedServiceName.connectionString", f"jdbc:sqlserver://{serverName}:{dbPort};database={database};user={dbUserName};password={dbPassword}") \ .getOrCreate()
jdbcURL = "jdbc:sqlserver://{0}:{1};database={2}".format(serverName,dbPort,database)
connection = {"user":dbUserName,"password":dbPassword,"driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"}
df = spark.read.jdbc(url=jdbcURL, table = "dbo.Employee", properties=connection)
df.show()
display(df)
# Write the dataframe as a delta table in your lakehouse
df.write.mode("overwrite").format("delta").saveAsTable("Employee")
# You can also specify a custom path for the table location
# df.write.mode("overwrite").format("delta").option("path", "abfss://yourlakehouse.dfs.core.windows.net/Employee").saveAsTable("Employee")
Sekarang setelah koneksi dibuat, langkah selanjutnya adalah membuat bingkai data untuk membaca tabel di SQL Database.
Sumber data yang didukung
Microsoft Fabric mendukung lebih dari 26 sumber data untuk terhubung menggunakan titik akhir privat terkelola. Pengguna perlu menentukan pengidentifikasi sumber daya, yang dapat ditemukan di halaman Pengaturan properti sumber data mereka di portal Azure. Pastikan format ID sumber daya diikuti seperti yang diperlihatkan dalam tabel berikut.
Layanan | Format ID Sumber Daya |
---|---|
Cognitive Services | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.CognitiveServices/accounts/{resource-name} |
Azure Databricks | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Databricks/workspaces/{workspace-name} |
Azure Database untuk MariaDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMariaDB/servers/{server-name} |
Azure Database untuk MySQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/servers/{server-name} |
Azure Database untuk PostgreSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name} |
Azure Cosmos DB untuk MongoDB | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Azure Cosmos DB for NoSQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name} |
Cakupan Azure Monitor Private Link | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Insights/privateLinkScopes/{scope-name} |
Azure Key Vault | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name} |
Azure Data Explorer (Kusto) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Kusto/clusters/{cluster-name} |
Pembelajaran Mesin Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name} |
Microsoft Purview | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Purview/accounts/{account-name} |
Pencarian Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name} |
Database Azure SQL | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name} |
Azure SQL Database (Azure SQL Managed Instance) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name} |
Azure Blob Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Data Lake Storage Gen2 | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Penyimpanan File Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Queue Storage | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Penyimpanan Tabel Azure | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name} |
Azure Synapse Analytics | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name} |
Azure Synapse Analytics (Artefak) | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name} |
Azure Functions | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{function-app-name} |
Azure Event Hubs | /subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/Microsoft.EventHub/namespaces/{namespace-name} |
Azure IoT Hub | /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Devices/IotHubs/{iothub-name} |