python调用boto3.client.create_data_source_from_s3

python调用boto3.client.create_data_source_from_s3,python,django,amazon-web-services,machine-learning,boto3,Python,Django,Amazon Web Services,Machine Learning,Boto3,我试图使用来自python项目的AWS机器学习批处理过程。我用的是boto3。我在回复中收到了这个失败消息 尝试分析架构时出错:\'无法反序列化 [Source: java.io。StringReader@60618eb4;行:1,列:2](通过引用) 链: com.amazon.eml.dp.recordset.SchemaPojo[“dataFileContainsHeader”])\ 我正在使用的.csv文件有效。我知道这一点,因为它是通过控制台过程工作的 这是我的密码;它是django模

我试图使用来自python项目的AWS机器学习批处理过程。我用的是boto3。我在回复中收到了这个失败消息

尝试分析架构时出错:\'无法反序列化 [Source: java.io。StringReader@60618eb4;行:1,列:2](通过引用) 链: com.amazon.eml.dp.recordset.SchemaPojo[“dataFileContainsHeader”])\

我正在使用的.csv文件有效。我知道这一点,因为它是通过控制台过程工作的

这是我的密码;它是django模型中的一个函数,用于保存要处理的文件(输入文件)的url:

知道我做错了什么吗?

去掉逗号

  dataSchema["dataFileContainsHeader"] = True,
这使Python认为您正在添加一个元组。因此,您的数据模式实际上包含(True,)

您的输出如下所示

{"dataFileContainsHeader": [true], "attributes": [{"fieldName": "Var1", "fieldType": "CATEGORICAL"}, {"fieldName": "Var2", "fieldType": "CATEGORICAL"}, {"fieldName": "Var3", "fieldType": "NUMERIC"}, {"fieldName": "Var4", "fieldType": "CATEGORICAL"}, {"fieldName": "Var5", "fieldType": "CATEGORICAL"}, {"fieldName": "Var6", "fieldType": "CATEGORICAL"}], "version": "1.0", "dataFormat": "CSV", "targetFieldName": "Var6"}
"dataFileContainsHeader": true
相反,AWS期待着类似的事情

{"dataFileContainsHeader": [true], "attributes": [{"fieldName": "Var1", "fieldType": "CATEGORICAL"}, {"fieldName": "Var2", "fieldType": "CATEGORICAL"}, {"fieldName": "Var3", "fieldType": "NUMERIC"}, {"fieldName": "Var4", "fieldType": "CATEGORICAL"}, {"fieldName": "Var5", "fieldType": "CATEGORICAL"}, {"fieldName": "Var6", "fieldType": "CATEGORICAL"}], "version": "1.0", "dataFormat": "CSV", "targetFieldName": "Var6"}
"dataFileContainsHeader": true
删除逗号

  dataSchema["dataFileContainsHeader"] = True,
这使Python认为您正在添加一个元组。因此,您的数据模式实际上包含(True,)

您的输出如下所示

{"dataFileContainsHeader": [true], "attributes": [{"fieldName": "Var1", "fieldType": "CATEGORICAL"}, {"fieldName": "Var2", "fieldType": "CATEGORICAL"}, {"fieldName": "Var3", "fieldType": "NUMERIC"}, {"fieldName": "Var4", "fieldType": "CATEGORICAL"}, {"fieldName": "Var5", "fieldType": "CATEGORICAL"}, {"fieldName": "Var6", "fieldType": "CATEGORICAL"}], "version": "1.0", "dataFormat": "CSV", "targetFieldName": "Var6"}
"dataFileContainsHeader": true
相反,AWS期待着类似的事情

{"dataFileContainsHeader": [true], "attributes": [{"fieldName": "Var1", "fieldType": "CATEGORICAL"}, {"fieldName": "Var2", "fieldType": "CATEGORICAL"}, {"fieldName": "Var3", "fieldType": "NUMERIC"}, {"fieldName": "Var4", "fieldType": "CATEGORICAL"}, {"fieldName": "Var5", "fieldType": "CATEGORICAL"}, {"fieldName": "Var6", "fieldType": "CATEGORICAL"}], "version": "1.0", "dataFormat": "CSV", "targetFieldName": "Var6"}
"dataFileContainsHeader": true