gpt4 book ai didi

azure - 阿兹数据工厂 : The function 'int' was invoked with a parameter that is not valid

转载 作者:行者123 更新时间:2023-12-03 05:35:03 26 4
gpt4 key购买 nike

如何在 Azure 数据工厂 数据流 事件中将 string 转换为 int 数据类型以设置参数?

我一直在尝试从第 2 代数据湖中的 json 文件获取值:

{
"firstRow": {
"schema_name": "my_schema",
"table_name": "my_table",
"reserved_space_MB": 138.808,
"unused_space_MB": 1.392,
"data_space_MB": 136.848,
"index_space_MB": 0.568,
"row_count": 916300
},
...
}

但在上次事件中出现此错误:

{
"errorCode": "InvalidTemplate",
"message": "The function 'int' was invoked with a parameter that is not valid. The value cannot be converted to the target type",
"failureType": "UserError",
"target": "_split_file_from_table",
"details": ""
}

我一直关注documentation还有这些堆栈溢出问题:
Azure Data Factory split file by file size
Convert Row Count to INT in Azure Data Factory
但无论我做什么,我都会遇到同样的错误。

如何重现

  1. 在管道中使用 Lookup 事件:

  • 将变量 table_size_var 启动为字符串数据类型
  • Set Variable 事件获取 data_space_MB 值:
    @string(activity('read_json').output.firstRow.data_space_MB)
  • 数据流中设置参数table_size_mb:
  • 将变量 table_size_var 的值设置为参数 table_size_mb:
    @int(variables('table_size_var'))
  • 运行管道 - 结果:
  • 查找

    设置变量

    数据流

    最佳答案

    我尝试过,但遇到了同样的错误。

    int()函数仅适用于将int字符串转换为整数,参数必须是int字符串!例如,字符串 '100' 到整数 100。它无法将十进制字符串 '136.848' 转换为整数 136.848

    我使用 int()split() 函数来获取整数 138 ,然后管道运行良好。表达方式:

    @int(split(variables('num'),'.')[1])
    1. 该变量将拆分为一个数组,'138''848',使用 [1] 获取第一个元素。
    2. 然后使用 int()'138' 转换为整数 138

    enter image description here

    关于azure - 阿兹数据工厂 : The function 'int' was invoked with a parameter that is not valid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63176552/

    26 4 0
    文章推荐: azure - 用于在 azure 应用服务的 CORS 中添加 url 的 Az Command powershell
    文章推荐: javascript - 如何在范围变量angularjs中保存文本框值
    文章推荐: javascript - ReactJS 中