【问题标题】:Setting a Linked Service parameter at runtime in a Data Factory pipeline在运行时在数据工厂管道中设置链接服务参数
【发布时间】:2019-01-07 14:12:31
【问题描述】:

如何在运行时将参数传递给数据工厂中的链接服务?

我在我的 Azure Function 链接服务定义中定义和使用了一个参数,但我不确定在我的管道操作调用期间如何设置它。在这种情况下,我想在触发器中设置 functionAlias 以设置 Azure Function 主机名。目前在(blob create)触发器上返回一个异常,指出未指定 functionAlias。

管道

        {
            "name": "myActivity",
            "type": "AzureFunctionActivity",
            "typeProperties": {
                "functionName": "myFunctionName",
                "method": "POST"
            }
            "linkedServiceName": {
                "referenceName": "myFunctionLinkedService",
                "type": "LinkedServiceReference"
            }
        }

关联服务

{
    "name": "myFunctionLinkedService",
    "type": "Microsoft.DataFactory/factories/linkedservices",
    "properties": {
        "type": "AzureFunction",
        "typeProperties": {
            "functionAppUrl": "https://@{linkedService().functionAlias}.azurewebsites.net",
            "encryptedCredential": ""
        },
        "parameters": {
            "functionAlias": {
                "type": "String"
            }
        }
    }
}

【问题讨论】:

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


    【解决方案1】:

    我尝试在数据工厂 UI 中参数化 Azure Function Linked Service 并得到与您相同的错误,因为参数输入框从未出现过。

    然后我按照官方文档尝试参数化Azure SQL Database Linked Service。

    然后我测试了一下,输入框就如我预期的那样出现了。

    我检查了文件并找到以下语句。

    目前看来,ADF 中的参数化功能仅支持数据存储,但 Azure Function 属于 Compute,而不是数据存储。(可能会在未来支持)

    您可以提交feedback 或直接联系 ADF 团队进行验证。

    【讨论】:

    【解决方案2】:

    Just UI 本身并不支持它。但是您可以使用高级 JSON。 https://docs.microsoft.com/en-us/azure/data-factory/parameterize-linked-services

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 2020-06-29
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      相关资源
      最近更新 更多