我想拥有一个从数据库中读取一些参数并将其传递给dataSet然后传递给链接服务的管道。该方案是一个到拾件文件的sFTP连接,我希望能够传递该连接的值。
我在azure-docs中发布了一个问题,以某种方式我只能走一半。 -https://github.com/MicrosoftDocs/azure-docs/issues/52385
我能够将参数放入SFTP连接中(并执行测试,传递参数的值,效果很好)。问题是当我尝试在数据集中使用该连接时。使用csv数据集,我无法选择将连接详细信息/参数传递给链接服务。
任何帮助,提前致谢,曼努埃尔
您可以使用以下JSON代码创建参数化的SFTP链接服务。该示例具有参数化的Host,Port,UserName属性。
{
"name": "Sftp_LinkedServiceParameterized",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
"parameters": {
"HostParameter": {
"type": "string",
"defaultValue": "defaultValue"
},
"PortParameter": {
"type": "string",
"defaultValue": "defaultValue"
},
"UserNameParameter": {
"type": "string",
"defaultValue": "defaultValue"
}
},
"annotations": [],
"type": "Sftp",
"typeProperties": {
"host": "@{linkedService().HostParameter}",
"port": "@{linkedService().PortParameter}",
"skipHostKeyValidation": true,
"authenticationType": "Basic",
"userName": "@{linkedService().UserNameParameter}",
"encryptedCredential": "XXXXXXXXXXXXXXXXXXXencryptedCredentialXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
创建链接服务后,请先发布它,然后刷新。现在创建一个要在其中使用此链接服务的数据集。您将必须为主机,端口和用户名属性创建数据集参数,并将它们映射到数据集连接选项卡中的链接服务属性,如下所示。
下面的示例显示输入管道参数(主机,端口,用户名):
下面的图像显示数据集参数(主机,端口,用户名)
下图显示了如何将数据集参数映射到链接服务参数(主机,端口,用户名)
下图显示了如何将输入管道参数映射到数据集参数。
这样,您将可以从source/pipeline parameters -> dataset parameters -> linked service parameters
传递链接的服务参数值>
希望这会有所帮助。