分享方式:


在 Azure Data Factory 和 Azure Synapse Analytics 中將連結服務參數化

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

您現在可以將連結服務參數化,並在執行階段傳遞動態值。 舉例來說,若要連線至同一部邏輯 SQL 伺服器上的不同資料庫,您現在可以將連結服務定義中的資料庫名稱參數化。 這讓您無需為邏輯 SQL 伺服器上的每個資料庫各建立一個連結服務。 您也可以將連結服務中的其他屬性參數化,例如 User name

您可以使用 Azure 入口網站中的 UI 或程式設計介面將連結服務參數化。

提示

建議您不要將密碼或秘密參數化。 請改為將所有祕密儲存在 Azure Key Vault 中,並將 Secret Name 參數化。

注意

在參數名稱中使用「-」引起的錯誤尚待解決,在我們解決此錯誤之前,建議您使用不含「-」的名稱。

如需此功能的 7 分鐘簡介與示範,請觀看下列影片:

支援的連結服務類型

所有連結服務類型皆支援參數化。

在 UI 中原生支援:在 UI 上撰寫連結服務時,服務會為下列連結服務類型提供內建參數化體驗。 在連結服務的建立/編輯刀鋒視窗中,您可以找到新參數的選項,並新增動態內容。 請參閱 UI 體驗

  • Amazon Redshift
  • Amazon S3
  • Amazon S3 相容儲存體
  • Azure Blob 儲存體
  • Azure Cosmos DB for NoSQL
  • Azure Databricks Delta Lake
  • Azure 資料總管
  • Azure Data Lake Storage Gen1
  • Azure Data Lake Storage Gen2
  • 適用於 MySQL 的 Azure 資料庫
  • 適用於 PostgreSQL 的 Azure 資料庫
  • Azure Databricks
  • Azure 檔案儲存體
  • Azure Function
  • Azure Key Vault
  • Azure SQL Database
  • Azure SQL 受控執行個體
  • Azure Synapse Analytics
  • Azure 表格儲存體
  • Dataverse
  • DB2
  • Dynamics 365
  • Dynamics AX
  • Dynamics CRM
  • 檔案系統
  • FTP
  • 泛型 ODBC
  • 泛型 REST
  • Google AdWords
  • Google BigQuery
  • Informix
  • MariaDB
  • Microsoft Access
  • MySQL
  • OData
  • ODBC
  • Oracle
  • Oracle 雲端儲存空間
  • PostgreSQL
  • Salesforce
  • Salesforce 服務雲端
  • SAP CDC
  • SAP HANA
  • SAP Table
  • ServiceNow (ServiceNow 舊版不支援)
  • SFTP
  • SharePoint Online 清單
  • Snowflake
  • SQL Server

進階撰寫:對於不在上述清單中的其他連結服務類型,您可以編輯 UI 上的 JSON 來將連結服務參數化:

  • 在建立/編輯連結服務窗格中 -> 展開底部的 [進階] -> 勾選 [以 JSON 格式指定動態內容] 核取方塊 -> 指定連結服務 JSON 承載。
  • 或者,在您建立未參數化的連結服務之後,在管理中樞 -> [連結服務] -> 尋找特定的連結服務 -> 按一下 [程式碼] ("{}" 按鈕) 以編輯 JSON。

請參閱 JSON 範例以新增 parameters 區段來定義參數,並使用 @{linkedService().paramName} 參考參數。

UI 體驗

JSON

{
	"name": "AzureSqlDatabase",
	"properties": {
		"type": "AzureSqlDatabase",
		"typeProperties": {
			"connectionString": "Server=tcp:myserver.database.windows.net,1433;Database=@{linkedService().DBName};User ID=user;Password=fake;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
		},
		"connectVia": null,
		"parameters": {
			"DBName": {
				"type": "String"
			}
		}
	}
}

在 Azure Key Vault 中儲存認證 (機器翻譯)