你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:
Azure Data Factory
Azure Synapse Analytics
提示
Microsoft Fabric 中的 Data Factory 是下一代 Azure Data Factory,具有更加简化的架构、内置人工智能和新功能。 如果不熟悉数据集成,请从Fabric数据工厂开始。 现有 ADF 工作负载可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。
现在可以参数化链接服务并在运行时传递动态值。 例如,如果要连接到同一逻辑 SQL Server 上的不同数据库,则现在可以在链接服务定义中参数化数据库名称。 这样就不需为逻辑 SQL Server 上的每个数据库创建链接服务。 也可以参数化链接服务定义中的其他属性 - 例如,用户名。
可以使用 Azure 门户中的 UI 或编程接口参数化链接服务。
提示
我们建议不要参数化密码或机密。 请改为将所有机密存储在 Azure Key Vault 中,并参数化 Secret Name。
注意
- 存在导致在参数名中使用“-”的待解决的 bug,在该 bug 被解决之前,建议使用不带“-”的名称。
- 存在一个影响带参数数据流的活跃 bug。 为避免问题,建议在 bug 修复前使用不含空格的数据流名称。
有关此功能的 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
- Azure Database for MySQL
- Azure Database for PostgreSQL
- Azure Databricks
- Azure文件存储
- Azure 函数
- Azure Key Vault
- Azure SQL 数据库
- Azure SQL 托管实例
- Azure Synapse Analytics
- Azure 表存储
- Dataverse
- DB2
- Dynamics 365
- Dynamics AX
- Dynamics CRM
- 文件系统
- FTP
- 泛型 HTTP
- 泛型 REST
- Google AdWords
- 谷歌BigQuery
- Informix
- MariaDB
- Microsoft Access
- MySQL
- OData
- ODBC
- Oracle
- Oracle 云存储
- PostgreSQL
- Salesforce
- Salesforce 服务云
- SAP CDC
- SAP HANA
- SAP 表
- ServiceNow(在 ServiceNow 旧版中不受支持)
- SFTP
- SharePoint联机列表
- Snowflake
- SQL Server
- Vertica
高级创作:对于不在上述列表中的其他链接服务类型,你可以通过在 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"
}
}
}
}