Azure数据工厂-动态帐户信息-连接的参数化

时间:2019-07-11 18:37:09

标签: azure azure-data-factory azure-data-factory-2

文档演示了如何为连接的服务创建参数,而不是如何从数据集或活动中实际传递该参数。基本上,连接字符串来自lookup foreach循环,我想连接到存储表。

连接看起来像这样。传递正确的参数后,该测试将起作用:

{
    "name": "StatsStorage",
    "properties": {
        "type": "AzureTableStorage",
        "parameters": {
            "connectionString": {
                "type": "String"
            }
        },
        "annotations": [],
        "typeProperties": {
            "connectionString": "@{linkedService().connectionString}"
        }
    }
}

数据集如下,我正在努力确定如何设置连接的connectionString参数。数据集具有两个参数,即来自数据库的连接字符串和需要连接至的表名:

{
    "name": "TestTable",
    "properties": {
        "linkedServiceName": {
            "referenceName": "StatsStorage",
            "type": "LinkedServiceReference"
        },
        "parameters": {
            "ConnectionString": {
                "type": "string"
            },
            "TableName": {
                "type": "string"
            }
        },
        "annotations": [],
        "type": "AzureTable",
        "schema": [],
        "typeProperties": {
            "tableName": {
                "value": "@dataset().TableName",
                "type": "Expression"
            }
        }
    }
}

如何在连接上设置连接字符串?

1 个答案:

答案 0 :(得分:1)

  1. 首先,您不能将整个连接字符串用作表达式。您需要分别提供accountName和accountKey。请参阅这篇文章,了解如何做。 How to provide connection string dynamically for azure table storage/blob storage in Azure data factory Linked service
  2. 然后,如果您正在使用ADF UI,它将指导您如何为链接服务提供价值。例如,如果您有两个数据集参数,则可以如下指定。 enter image description here
  3. 如果要查看json代码,可以单击左上角的代码图标。 enter image description here
  4. 我以azure blob为例,但是azure表几乎相同。 希望它能有所帮助。