SFTP 连接定制/参数化

SFTP Connection customization / parameterization

我想要一个从数据库中读取一些参数并将这些参数传递给数据集然后传递给链接服务的管道。该场景是一个到拾取文件的 sFTP 连接,我希望能够传递连接的值。

我在 azure-docs 中发布了一个问题,不知何故我只完成了一半。 - https://github.com/MicrosoftDocs/azure-docs/issues/52385

我能够将参数放入 SFTP 连接(并执行测试,传递参数值,工作正常)。问题是当我尝试在数据集中使用该连接时。使用 csv 数据集,我无法选择将连接 details/parameters.

传递给链接服务

如有任何帮助,我们将不胜感激, 提前致谢, 曼纽尔

您可以使用以下 JSON 代码创建参数化 SFTP 链接服务。此示例具有参数化的主机、端口、用户名属性。

{
    "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

传递链接服务参数值

希望这对您有所帮助。