我在 ADF 中参数化链接服务(SQL 服务器),但无法将不同服务属性的参数重用为动态内容。
我为 SQL Server 属性创建了更多参数:
- 服务器名称
- 环境
- 数据库名称
- 数据库用户名
Key Vault 用于存储属性的敏感信息,其中创建的 Secret 名称类似于“POC-USER-MYDOMAIN-MYUSER”。
链接服务的 DBUserName 参数包含一个 Windows 登录,如“MyDomain\MyUser”。我将 DBUserName 参数用于属性“用户名”和存储在 Key Vault 中的密码。
属性“用户名”具有此动态内容“@{linkedService().DBUserName}”,Key Vault 机密名称具有此动态内容“@{linkedService().Environment}-USER-@{replace(linkedService()。 DBUserName, '', '-')}"。
执行“测试连接”时,我使用以下参数:
并且“测试连接”返回此错误:
我可以让它工作,如果我创建一个名为“DBUserNameCopy”的新参数,从“DBUserName”复制值。然后更改属性“用户名”或属性“Key Vault 机密名称”动态内容以使用新参数。并执行“测试连接”:
因此,这两个属性动态内容工作正常,但前提是它们不共享一个参数。
我尝试了不同的方法来避免此错误,但最终得出的结论是:如果您使用替换功能,则不能在更多属性中使用相同的参数(我不知道它是否与所有功能有关)。
有谁知道如何让它工作?