Azure data factory 无法使用运行时参数执行数据集
我们正在Azure Datafactory V2中创建一些管道,并希望尽可能多地重用这些元素。目前,我们在使用具有运行时参数的数据集的管道方面面临一个问题。我们收到的错误消息是:Azure data factory 无法使用运行时参数执行数据集,azure-data-factory,Azure Data Factory,我们正在Azure Datafactory V2中创建一些管道,并希望尽可能多地重用这些元素。目前,我们在使用具有运行时参数的数据集的管道方面面临一个问题。我们收到的错误消息是: 模板验证失败:“位置“41”处的字符串“P”不应出现..” 我们遵循了中的指令,但仍然抛出错误。 下面是管道和数据集JSON: Dataset: { "name": "DS-PARAM", "properties": {
- 模板验证失败:“位置“41”处的字符串“P”不应出现..”
Dataset:
{
"name": "DS-PARAM",
"properties": {
"linkedServiceName": {
"referenceName": "LS-ADLS",
"type": "LinkedServiceReference"
},
"type": "AzureDataLakeStoreFile",
"typeProperties": {
"fileName": {
"value": "@dataset().file",
"type": "Expression"
},
"folderPath": {
"value": "@dataset().directory",
"type": "Expression"
}
}
},
"parameters": {
"directory": {
"type": "String"
},
"file": {
"type": "String"
}
}}
Pipeline:
{
"name": "pipeline2",
"properties": {
"activities": [
{
"name": "Copy1",
"type": "Copy",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 20
},
"typeProperties": {
"source": {
"type": "AzureDataLakeStoreSource",
"recursive": true
},
"sink": {
"type": "AzureDataLakeStoreSink"
},
"enableStaging": false,
"cloudDataMovementUnits": 0
},
"inputs": [
{
"referenceName": "DS-PARAM",
"type": "DatasetReference",
"parameters": {
"directory": "/",
"file": "readme.txt"
}
}
],
"outputs": [
{
"referenceName": "DS-PARAM",
"type": "DatasetReference",
"parameters": {
"directory": "/",
"file": "readme2.txt"
}
}
]
}
]
}
}
链接服务用于Datalake存储。我们在ARM模板上尝试了相同的代码,并从2018年1月16日发布的新接口MS构建了数据集和管道
任何帮助都将不胜感激
谢谢您解决方案:从数据集名称中删除所有破折号。 我花了一整天的时间试图解决同一个问题,结果把我逼疯了。好消息是我找到了问题的原因。坏消息是,在Azure团队解决问题之前,我们将不得不采用不同的命名约定。我通过反馈选项向他们发送了我的观察结果 它抱怨的意外字符总是第一次破折号之后的字符。因此,请调用数据集DSPARAM或DSPARAM或任何仅包含字母的内容。我还没有尝试使用下划线和数字
关于解决方案:从数据集名称中删除所有破折号。 我花了一整天的时间试图解决同一个问题,结果把我逼疯了。好消息是我找到了问题的原因。坏消息是,在Azure团队解决问题之前,我们将不得不采用不同的命名约定。我通过反馈选项向他们发送了我的观察结果 它抱怨的意外字符总是第一次破折号之后的字符。因此,请调用数据集DSPARAM或DSPARAM或任何仅包含字母的内容。我还没有尝试使用下划线和数字
关于我通过UI注意到的另一件事是,在对这些元素进行任何更改后,您在advance中插入的json将被删除。很好地抓住了这个@g_brahimaj你能详细说明一下吗?在哪些元素上有什么样的变化?您必须发布更改才能使其生效。在我更改了数据集的名称后,我在“高级”选项卡中对参数的声明被删除。@g_brahimaj您可以在“参数”选项卡下添加/删除/更新数据集参数。有一个“创建/更新参数”部分。无需为此使用“高级”选项卡。尽管你所描述的令人不安。我没有因为重命名而失去任何东西,但我没有使用“高级”选项卡。我想我可以分享一些更多的细节:使用下划线似乎很好。可能是破折号的一个很好的替代品。我通过UI注意到的另一件事是,在对这些元素进行任何更改之后,您在advance中插入的json将被删除。很好地抓住了这个@g_brahimaj你能详细说明一下吗?在哪些元素上有什么样的变化?您必须发布更改才能使其生效。在我更改了数据集的名称后,我在“高级”选项卡中对参数的声明被删除。@g_brahimaj您可以在“参数”选项卡下添加/删除/更新数据集参数。有一个“创建/更新参数”部分。无需为此使用“高级”选项卡。尽管你所描述的令人不安。我没有因为重命名而失去任何东西,但我没有使用“高级”选项卡。我想我可以分享一些更多的细节:使用下划线似乎很好。可能是破折号的好替代品。