azure-data-factory - 'int' 是原语,不支持嵌套属性:Azure 数据工厂 v2
问题描述
我试图在 ADF 中找到一个字符串的子字符串作为活动的一部分。'de'
例如,我想从 string中提取 subsctring 'abcde'
。我努力了:
@substring(variables('target_folder_name'), 3, (int(variables('target_folder_name_length'))-3))
其中int(variables('target_folder_name_length'))
值为 5 且variables('target_folder_name')
值为'abcde'
但它给了我:Unrecognized expression: (int(variables('target_folder_name_length'))-3)
另一方面,如果我尝试这个:@substring(variables('target_folder_name'), 2, int(variables('target_folder_name_length'))-3)
这给了我:'int' is a primitive and doesn't support nested properties
我哪里错了?
解决方案
由于您前面的值是静态的,您可以使用下面的动态表达式根据您的要求来实现子字符串值。
@substring(variables('varInputFolderName'), 3, sub(length(variables('varInputFolderName')), 3))
根据此示例,其中 varInputFolderName = String = abcde。
这是此示例的管道 JSON 有效负载。您可以使用它进行进一步测试。
{
"name": "pipeline_FindSubstring",
"properties": {
"activities": [
{
"name": "setSubstringValue",
"type": "SetVariable",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"variableName": "varSubstringOutput",
"value": {
"value": "@substring(variables('varInputFolderName'), 3, sub(length(variables('varInputFolderName')), 3))",
"type": "Expression"
}
}
}
],
"variables": {
"varInputFolderName": {
"type": "String",
"defaultValue": "abcde"
},
"varSubstringOutput": {
"type": "String"
}
},
"annotations": []
}
}
推荐阅读
- hibernate - hibernate + 单表继承 + discriminatorColumn --> DiscriminatorType 无法解析为变量
- operating-system - 为未加密的文件设置密码
- python - 迭代地在二叉树中插入值
- php - 如何在不使用会话和调用方法的情况下将变量从函数传递到控制器中的另一个函数
- python - PyQt5:无法设置来自不同文件的类
- charts - 如何更改 resetZoomButton 文本(Vaadin 图表)?
- uicollectionview - 使用不同的数据源添加、更改和删除
- jupyter-notebook - 禁用从 jupterlab 和笔记本下载的选项
- arrays - 同一函数中的常量会抛出未解析的标识符
- android - 将项目添加到 Baseadapter