你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
参数化 Azure 数据工厂和 Azure Synapse Analytics 中的链接服务
适用于: Azure 数据工厂 Azure Synapse Analytics
提示
试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用!
现在可以参数化链接服务并在运行时传递动态值。 例如,如果要连接到同一逻辑 SQL Server 上的不同数据库,则现在可以在链接服务定义中参数化数据库名称。 这样就不需为逻辑 SQL Server 上的每个数据库创建链接服务。 也可以参数化链接服务定义中的其他属性 - 例如,用户名。
可以使用 Azure 门户中的 UI 或编程接口来参数化链接服务。
提示
我们建议不要参数化密码或机密。 而应将所有机密都存储在 Azure Key Vault 中,并参数化“机密名称”。
注意
存在导致在参数名中使用“-”的待解决的 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
- Google BigQuery
- Informix
- MariaDB
- Microsoft Access
- MySQL
- OData
- ODBC
- Oracle
- Oracle 云存储
- PostgreSQL
- Salesforce
- Salesforce 服务云
- SAP CDC
- SAP HANA
- SAP 表
- 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"
}
}
}
}