首页 > 解决方案 > 在运行时在数据工厂管道中设置链接服务参数

问题描述

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

我在我的 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"
            }
        }
    }
}

标签: azureazure-data-factoryazure-data-factory-2

解决方案


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

然后我按照官方文档尝试参数化 Azure SQL 数据库链接服务。

在此处输入图像描述

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

在此处输入图像描述

我检查了文件并找到了以下声明。

在此处输入图像描述

到目前为止,ADF 中的参数化功能似乎只支持数据存储,但是 Azure 函数属于Compute,而不是数据存储。(也许将来会支持)

在此处输入图像描述

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


推荐阅读