Yönetilen özel uç noktaları oluşturma ve kullanma

Microsoft Fabric çalışma alanında yönetici izinleri olan kullanıcılar, çalışma alanı ayarları aracılığıyla Doku portalından yönetilen özel uç noktaları oluşturabilir, görüntüleyebilir ve silebilir.

  • Kullanıcı, yönetilen özel uç noktaların durumunu ve onay işlemini çalışma alanı ayarlarının Ağ güvenliği bölümünden de izleyebilir.

  • Kullanıcı, Doku Spark iş yüklerinden özel uç nokta adını kullanarak veri kaynaklarına erişebilir.

Önkoşullar

Microsoft.Network kaynak sağlayıcısının Azure aboneliğine kaydedilmesi gerekir

Yönetilen özel uç nokta oluşturma

  1. Fabric çalışma alanında, çalışma alanı ayarlarına gidin, Ağ güvenliği sekmesini seçin ve ardından Yönetilen Özel Uç Nokta bölümünde Oluştur seçeneğini seçin.

    Çalışma alanı ayarlarında Ağlar güvenlik sekmesinin ekran görüntüsü.

    Yönetilen Özel uç nokta oluştur iletişim kutusu açılır.

    Çalışma alanı ayarlarında Ağ güvenliği sekmesinin ekran görüntüsü.

  2. Özel uç nokta için bir ad belirtin ve Azure kaynağının kaynak tanımlayıcısını kopyalayın. Kaynak tanımlayıcısı Azure portalı sayfasındaki özellikler sekmesinde bulunabilir. Daha fazla bilgi için bkz. Azure Kaynak Kimliğinizi alma

    Uyarı

    Tam nitelikli alan adı (FQDN) ile yönetilen özel uç nokta oluşturma desteklenmez.

    İşiniz bittiğinde Oluştur’u seçin.

  3. Yönetilen özel uç nokta sağlandığında Etkinleştirme durumu Başarılı olarak değişir.

    Ağ sekmesinde yönetilen özel uç nokta sağlama başarı göstergesinin ekran görüntüsü.

    Ayrıca özel uç nokta erişimi isteği de veri kaynağına gönderilir. Veri kaynağı yöneticilerine, veri kaynakları için Azure portalı kaynak sayfalarında bildirim gönderilir. Burada istek iletisiyle bekleyen bir erişim isteği görürler.

Örnek olarak SQL Server'ı ele alan kullanıcılar Azure portalına gidebilir ve "SQL Server" kaynağını arayabilir.

  1. Kaynak sayfasında, gezinti menüsünden 'ı seçin ve ardından Özel Erişim sekmesini seçin.

    Azure portalındaki bir kaynağın Ağ sayfasındaki Özel erişim sekmesini gösteren ekran görüntüsü.

  2. Veri kaynağı yöneticilerinin etkin özel uç nokta bağlantılarını ve yeni bağlantı isteklerini görüntüleyebilmesi gerekir.

    Özel erişim sekmesinde bekleyen istekleri gösteren ekran görüntüsü.

  3. Yöneticiler bir iş gerekçesi sağlayarak Onaylayabilir veya Reddedebilir .

    Onay formunu gösteren ekran görüntüsü.

  4. İstek, veri kaynağı yöneticisi tarafından onaylandığında veya reddedildiğinde, sayfa yenilendikten sonra Fabric çalışma alanı ayarları sayfasında durum güncellenir.

    Yönetilen özel uç noktayı onaylanan durumda gösteren ekran görüntüsü.

  5. Durum onaylandı olarak değiştiğinde, uç nokta doku çalışma alanından veri kaynağında depolanan verilere erişmek için not defterlerinde veya Spark iş tanımlarında kullanılabilir.

Azure API Management için yönetilen bir özel uç nokta oluşturun

Fabric portalı şu anda Azure API Management için yönetilen özel uç nokta oluşturmayı desteklemiyor. Bunun yerine Fabric REST API'sini kullanın.

Important

API Yönetimi, Geliştirici, Basic, Standard, Standard v2, Premium ve Premium v2 katmanları için gelen özel uç noktaları destekler. Klasik katmanlarda, özel uç noktalar, dahili veya harici sanal ağa entegre edilen API Yönetimi örnekleri için desteklenmez. Daha fazla bilgi için, gelen özel uç nokta kullanarak API Management'a özel olarak bağlanma konusuna bakın.

  1. Fabric servisi için bir Microsoft Entra erişim tokenı alın. Daha fazla bilgi için Fabric API hızlı başlangıcına bakınız.

  2. Aşağıdaki talebi gönderin. Yer tutucuları çalışma alanı kimliğiniz ve API Yönetimi kaynak bilgileriyle değiştirin.

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/managedPrivateEndpoints
    Authorization: Bearer {accessToken}
    Content-Type: application/json
    
    {
      "name": "mpe-apim-gateway",
      "targetPrivateLinkResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ApiManagement/service/{apimName}",
      "targetSubresourceType": "gateway",
      "requestMessage": "Please approve the managed private endpoint for the API Management gateway.",
      "targetFQDNs": [
        "{apimName}.azure-api.net"
      ]
    }
    

    Yalnızca API Yönetim Geçidi alt kaynağı, gelen Özel Bağlantı bağlantılarını destekler.

  3. Azure portalında API Yönetim örneğini açın ve Network>Inbound özel uç nokta bağlantılarını seçin.

  4. Özel uç nokta bağlantıları listesinde bekleyen bağlantı için bağlam menüsünü (...) açın ve ardından Onayla'yı seçin. Bağlantıyı onaylamak için Fabric tarafından yönetilen özel uç nokta kaynağını açmanıza gerek yok.

  5. Fabric çalışma alanı ayarlarının Ağ güvenliği bölümünü yenileyin ve bağlantı durumunun Onaylı olduğunu doğrulayın.

Yönetilen özel uç noktanın sağlama durumu Failed ise, hizmet ekibinin sağlama hatasını inceleyebilmesi için bir destek talebi oluşturun.

Fabric'de yönetilen özel uç noktaları kullanma

Microsoft Fabric not defterleri, veri araştırma ve işleme için yönetilen özel uç noktaları kullanarak güvenli ağların arkasındaki veri kaynaklarıyla sorunsuz etkileşimi destekler. Bir not defterini kullanarak kullanıcılar, korumalı veri kaynaklarından hızlı bir şekilde veri okuyabilir ve çeşitli dosya biçimlerinde veri lakehouse ortamlarına geri yazabilir.

Bu kılavuz, yönetilen özel uç noktalar aracılığıyla SQL DB gibi veri kaynaklarından verilere erişmek için kendi not defterlerinizde çalışmaya başlamanıza yardımcı olacak kod örnekleri sağlar.

Önkoşullar

  1. Veri kaynağına erişim. Bu örnek, Azure SQL Server ve Azure SQL Veritabanı'nı inceler.

  2. Microsoft Fabric'de ve Azure portalında oturum açın.

  3. Azure portalında Azure SQL Server'ın kaynak sayfasına gidin ve Özellikler menüsünü seçin. Microsoft Fabric'ten bağlanmak istediğiniz SQL Server'ın Kaynak Kimliğini kopyalayın.

  4. Yönetilen özel uç nokta oluşturma bölümünde listelenen adımları kullanarak, Yapı Ağı güvenlik ayarları sayfasından yönetilen özel uç noktayı oluşturun.

  5. SQL sunucusunun veri kaynağı yöneticisi yeni özel uç nokta bağlantı isteğini onayladıktan sonra yeni oluşturulan Yönetilen Özel Uç Nokta'yı kullanabilmeniz gerekir.

Not defterlerinden veri kaynağına bağlanma

Uyarı

Azure Depolama'a bağlandığınızda, notebookunuzun kullandığı her depolama uç noktası için yönetilen özel uç noktası oluşturup onaylayın. Örneğin, alt blob kaynak için bir Blob Depolama uç noktasına erişmek için yönetilen bir özel uç nokta oluşturun (<storage-account-name>.blob.core.windows.net). Azure Data Lake Storage uç noktasına (<storage-account-name>.dfs.core.windows.net) erişmek için dfs alt kaynağına yönelik yönetilen bir özel uç nokta oluşturun. Eğer notebookunuz her iki uç noktayı kullanıyorsa, her alt kaynak için yönetilen özel uç noktası oluşturup onaylayın.

  1. Microsoft Fabric portalında oturum açın.

  2. Geliştirme deneyimine geçmek için giriş sayfanızın sol tarafındaki deneyim değiştiriciyi kullanın.

  3. İstediğiniz çalışma alanına gidin veya gerekirse yeni bir çalışma alanı oluşturun.

  4. Not defteri oluşturmak için çalışma alanından Yeni öğe'yi seçin ve Not Defteri'ni seçin.

  5. Şimdi not defterinde, SQL veritabanının adını ve bağlantı özelliklerini belirterek, veritabanındaki tabloları okumak ve bunları Microsoft Fabric'teki lakehouse'unuza yazmak için ayarlanmış yönetilen özel uç nokta bağlantısı üzerinden bağlanabilirsiniz.

  6. Aşağıdaki PySpark kodu bir SQL veritabanına nasıl bağlanacaklarını gösterir.

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")

Bağlantı kurulduğuna göre, sonraki adım SQL Veritabanı'ndaki tabloyu okumak için bir veri çerçevesi oluşturmaktır.

Desteklenen veri kaynakları

Microsoft Fabric, yönetilen özel uç noktaları kullanarak bağlanmak için 26'nın üzerinde veri kaynağını destekler. Kullanıcıların kaynak tanımlayıcısını belirtmesi gerekir. Bu tanımlayıcı, Azure portalındaki veri kaynaklarının Özellikler ayarları sayfasında bulunabilir. Kaynak kimliği biçiminin aşağıdaki tabloda gösterildiği gibi izlendiğinden emin olun.

Hizmet Kaynak Kimliği Biçimi
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}
MySQL için Azure Veritabanı /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforMySQL/flexibleServers/{server-name}
PostgreSQL için Azure Veritabanı /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{server-name}
MongoDB için Azure Cosmos DB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
NoSQL için Azure Cosmos DB /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.DocumentDB/databaseAccounts/{account-name}
Azure İzleyici Özel Bağlantı Kapsamları /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 Veri Gezgini (Kusto) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Kusto/clusters/{cluster-name}
Azure Machine Learning /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}
Azure API Management (yalnızca REST API) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ApiManagement/service/{service-name}
Azure Search /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Search/searchServices/{service-name}
Azure SQL Veritabanı /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}
Azure SQL Veritabanı (Azure SQL Yönetilen Örnek) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/managedInstances/{instance-name}
Azure Blob Saklama Alanı /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Data Lake Storage Yeni Nesil /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Dosya Depolama /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Kuyruk Depolama Hizmeti /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}
Azure Tablo Depolama (Azure Tablo Depolaması) /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 (Yapıtlar) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Synapse/workspaces/{workspace-name}
Azure İşlevleri /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}
Azure Özel Bağlantı Hizmeti /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/privateLinkServices/{private-link-service-name}
Enerji için Azure Data Manager (ADME) /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.OpenEnergyPlatform/energyServices/{service-name}

Fabric kiracınız için özel bağlantı hizmetine yönetilen özel uç nokta oluşturmanın desteklenmediği not edilmelidir.