在替换函数中重用参数时出现 ADF 错误
ADF error when reusing parameter in replace function
我在 ADF 中参数化链接服务(SQL 服务器),但无法将不同服务属性的参数重用为动态内容。
我已经为 SQL 服务器属性创建了更多参数:
- 服务器名称
- 环境
- 数据库名称
- 数据库用户名
Key Vault 用于存储属性的敏感信息,其中创建的 Secret 名称类似于“POC-USER-MYDOMAIN-MYUSER”。
链接服务的 DBUserName 参数包含一个 Windows 登录名,如“MyDomain\MyUser”。我将 DBUserName 参数用于 属性“用户名”和存储在 Key Vault 中的密码。
属性“用户名”具有动态内容“@{linkedService().DBUserName}”,Key Vault Secret 名称具有动态内容“@{linkedService().Environment}-USER -@{replace(linkedService().DBUserName, '', '-')}".
Linked service
执行“测试连接”时,我使用这些参数:
Parameters
和“测试连接”returns这个错误:
Error
我可以让它工作,如果我创建一个名为“DBUserNameCopy”的新参数,从“DBUserName”复制值。然后更改 属性“用户名”或 属性“Key Vault 秘密名称”动态内容以使用新参数。并执行“测试连接”:
DoubleParameters
所以这两个属性动态内容工作正常,但前提是它们不共享一个参数。
我尝试了不同的方法来避免这个错误,但最终得出的结论是:如果你使用替换功能,你不能在更多属性中使用相同的参数(我不知道它是否与所有功能相关) .
有人知道如何让它工作吗?
我试过这种情况,似乎不能在两个动态表达式中使用相同的链接服务参数。在您的情况下,您使用了 DBUsername 两次,一次是在用户名动态表达式中,第二次是在构造密钥保管库秘密名称中。除了您的解决方法之外,要创建具有不同名称的参数,我会操纵您传递给链接服务外部的密钥保管库秘密名称参数的值,在引用链接服务的数据集中执行此操作,在数据集定义中, 包括准备参数值的动态表达式。
我在 ADF 中参数化链接服务(SQL 服务器),但无法将不同服务属性的参数重用为动态内容。
我已经为 SQL 服务器属性创建了更多参数:
- 服务器名称
- 环境
- 数据库名称
- 数据库用户名
Key Vault 用于存储属性的敏感信息,其中创建的 Secret 名称类似于“POC-USER-MYDOMAIN-MYUSER”。
链接服务的 DBUserName 参数包含一个 Windows 登录名,如“MyDomain\MyUser”。我将 DBUserName 参数用于 属性“用户名”和存储在 Key Vault 中的密码。
属性“用户名”具有动态内容“@{linkedService().DBUserName}”,Key Vault Secret 名称具有动态内容“@{linkedService().Environment}-USER -@{replace(linkedService().DBUserName, '', '-')}".
Linked service
执行“测试连接”时,我使用这些参数:
Parameters
和“测试连接”returns这个错误:
Error
我可以让它工作,如果我创建一个名为“DBUserNameCopy”的新参数,从“DBUserName”复制值。然后更改 属性“用户名”或 属性“Key Vault 秘密名称”动态内容以使用新参数。并执行“测试连接”:
DoubleParameters
所以这两个属性动态内容工作正常,但前提是它们不共享一个参数。
我尝试了不同的方法来避免这个错误,但最终得出的结论是:如果你使用替换功能,你不能在更多属性中使用相同的参数(我不知道它是否与所有功能相关) .
有人知道如何让它工作吗?
我试过这种情况,似乎不能在两个动态表达式中使用相同的链接服务参数。在您的情况下,您使用了 DBUsername 两次,一次是在用户名动态表达式中,第二次是在构造密钥保管库秘密名称中。除了您的解决方法之外,要创建具有不同名称的参数,我会操纵您传递给链接服务外部的密钥保管库秘密名称参数的值,在引用链接服务的数据集中执行此操作,在数据集定义中, 包括准备参数值的动态表达式。