You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory复制数据活动报错:Value cannot be null. Parameter name: input

问题:Azure Data Factory复制数据活动报错"Value cannot be null. Parameter name: input"

运行从API向Azure SQL数据库复制数据的Copy Data Activity时,出现如下错误:

ErrorCode=InvalidParameter, 'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=The value of the property 'input' is invalid: 'Value cannot be null.

Parameter name: input'., Source=,''Type=System.ArgumentNullException,Message=Value cannot be null.

Parameter name: input,Source=Microsoft.DataTransfer.ClientLibrary,

但管道活动、数据集及链接服务中均未定义名为input的参数,相关配置代码如下:

管道代码

{    "name": "pipeline8",    "properties": {        "activities": [            {                "name": "Copy data1",                "type": "Copy",                "dependsOn": [],                "policy": {                    "timeout": "0.12:00:00",                    "retry": 0,                    "retryIntervalInSeconds": 30,                    "secureOutput": false,                    "secureInput": false                },                "userProperties": [],                "typeProperties": {                    "source": {                        "type": "JsonSource",                        "storeSettings": {                            "type": "HttpReadSettings",                            "requestMethod": "POST",                            "requestTimeout": ""                        },                        "formatSettings": {                            "type": "JsonReadSettings"                        }                    },                    "sink": {                        "type": "AzureSqlSink",                        "writeBehavior": "insert",                        "sqlWriterUseTableLock": false,                        "disableMetricsCollection": false                    },                    "enableStaging": false                },                "inputs": [                    {                        "referenceName": "SkyPrepDataset",                        "type": "DatasetReference",                        "parameters": {                            "relativeurl": "get_users?"                        }                    }                ],                "outputs": [                    {                        "referenceName": "AzureSQLDataset",                        "type": "DatasetReference",                        "parameters": {                            "schemaname": "dbo",                            "tablename": "webuser",                            "sqlserver": "myserver",                            "sqldb": "mydb"                        }                    }                ]            }        ],        "folder": {            "name": "SkyPrep"        },        "annotations": []    }}

源数据集(SkyPrepDataset)代码

{    "name": "SkyPrepDataset",    "properties": {        "linkedServiceName": {            "referenceName": "SkyPrepHTTPAPI",            "type": "LinkedServiceReference"        },        "parameters": {            "relativeurl": {                "type": "string"            }        },        "annotations": [],        "type": "Json",        "typeProperties": {            "location": {                "type": "HttpServerLocation",                "relativeUrl": {                    "value": "@dataset().relativeurl",                    "type": "Expression"                }            }        },        "schema": {}    }}

目标数据集(AzureSQLDataset)代码

{    "name": "AzureSQLDataset",    "properties": {        "linkedServiceName": {            "referenceName": "AzureSqlDatabase",            "type": "LinkedServiceReference",            "parameters": {                "sqlserver": {                    "value": "@dataset().sqlserver",                    "type": "Expression"                },                "sqldb": {                    "value": "@dataset().sqldb",                    "type": "Expression"                }            }        },        "parameters": {            "schemaname": {                "type": "string"            },            "tablename": {                "type": "string"            },            "sqlserver": {                "type": "string"            },            "sqldb": {                "type": "string"            }        },        "annotations": [],        "type": "AzureSqlTable",        "schema": [],        "typeProperties": {            "schema": {                "value": "@dataset().schemaname",                "type": "Expression"            },            "table": {                "value": "@dataset().tablename",                "type": "Expression"            }        }    }}

源链接服务(AzureSqlDatabase)代码

{    "name": "AzureSqlDatabase",    "properties": {        "parameters": {            "sqlserver": {                "type": "string"            },            "sqldb": {                "type": "string"            }        },        "annotations": [],        "type": "AzureSqlDatabase",        "typeProperties": {            "server": "@{linkedService().sqlserver}",            "database": "@{linkedService().sqldb}",            "encrypt": "mandatory",            "trustServerCertificate": false,            "authenticationType": "SystemAssignedManagedIdentity"        }    }}

目标链接服务(SkyPrepHTTPAPI)代码

{    "name": "SkyPrepHTTPAPI",    "type": "Microsoft.DataFactory/factories/linkedservices",    "properties": {        "annotations": [],        "type": "HttpServer",        "typeProperties": {            "url": "https://api.skyprep.io/admin/api/",            "enableServerCertificateValidation": true,            "authenticationType": "Anonymous",            "authHeaders": {                "api_key": {                    "type": "SecureString",                    "value": "**********"                },                "acct_key": {                    "type": "SecureString",                    "value": "**********"                }            }        }    }}

排查与解决方法

1. 补全POST请求的请求体

当前配置使用POST请求方法,但未设置请求体(requestBody),ADF会因缺少输入内容触发input为空的错误。修改HttpReadSettings,添加请求体配置:

"storeSettings": {
    "type": "HttpReadSettings",
    "requestMethod": "POST",
    "requestTimeout": "00:05:00",
    "requestBody": "" // 根据API要求填写对应内容,空请求体可设为""
}

2. 修正相对URL格式

relativeurl参数值末尾的问号可能导致请求URL无效,API返回空响应。将get_users?改为get_users,确保URL格式正确。

3. 验证API响应有效性

用Postman等工具测试API请求,确认返回的是有效JSON数据。若API返回空内容或非JSON格式,ADF无法解析输入数据,也会触发该错误。

4. 配置源数据集Schema

源数据集schema为空可能导致ADF无法识别输入结构,建议手动定义Schema,或在Copy Activity的源设置中启用autoDetectSchema。

内容的提问来源于stack exchange,提问作者FRY-9C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:35:01