SFTP连接定制/参数化

问题描述 投票:0回答:1

我想拥有一个从数据库中读取一些参数并将其传递给dataSet然后传递给链接服务的管道。该方案是一个到拾件文件的sFTP连接,我希望能够传递该连接的值。

我在azure-docs中发布了一个问题,以某种方式我只能走一半。 -https://github.com/MicrosoftDocs/azure-docs/issues/52385

我能够将参数放入SFTP连接中(并执行测试,传递参数的值,效果很好)。问题是当我尝试在数据集中使用该连接时。使用csv数据集,我无法选择将连接详细信息/参数传递给链接服务。

  • 主机
  • 端口
  • 用户名
  • 密码(已允许从AKV检索)

任何帮助,提前致谢,曼努埃尔

azure azure-data-factory azure-data-factory-2
1个回答
0
投票

您可以使用以下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"
        }
    }
}

创建链接服务后,请先发布它,然后刷新。现在创建一个要在其中使用此链接服务的数据集。您将必须为主机,端口和用户名属性创建数据集参数,并将它们映射到数据集连接选项卡中的链接服务属性,如下所示。

下面的示例显示输入管道参数(主机,端口,用户名):

enter image description here

下面的图像显示数据集参数(主机,端口,用户名)

enter image description here

下图显示了如何将数据集参数映射到链接服务参数(主机,端口,用户名)

enter image description here

下图显示了如何将输入管道参数映射到数据集参数。

enter image description here

这样,您将可以从source/pipeline parameters -> dataset parameters -> linked service parameters传递链接的服务参数值>

enter image description here

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.