【发布时间】:2018-02-21 10:14:06
【问题描述】:
我正在将转换为 JSON 文件的 csv 推送到我的 power bi api。每个单独的列都在 power bi 上正确显示,但是,当遇到向列添加行的代码时,我收到 404 错误:
Succes: 200
Succes: 200
response status dataset: 201
dataset responses: 200
response status rows: 404 {"error":{"code":"ItemNotFound","message":"Column '<pi>event_name</pi>' was not found in specified table, dataset 'sobe_wowvirtualserver|*somenumberhere*'"}}
这些是成功上传的列:
columns_body_raw = {"name": "test", "tables":
[
{"name": "test", "columns":
[
{ "name": "id", "dataType": "Int64"},
{ "name": "status", "dataType": "string"},
{ "name": "location", "dataType": "string"},
{ "name": "reportLocation", "dataType": "Int64"},
{ "name": "preferences", "dataType": "Int64"},
{ "name": "activity_description", "dataType": "string"},
{ "name": "activity_qualification", "dataType": "string"},
{ "name": "activity_businessActivity", "dataType": "string"},
{ "name": "activity_abbreviation", "dataType": "string"},
{ "name": "planned_start_date", "dataType": "string"},
{ "name": "planned_start_time", "dataType": "string"},
{ "name": "planned_end_date", "dataType": "string"},
{ "name": "planned_end_time", "dataType": "string"},
{ "name": "planned_duration", "dataType": "Int64"},
{ "name": "projected_cost", "dataType": "Int64"},
{ "name": "clock_in_date", "dataType": "string"},
{ "name": "clock_in_time", "dataType": "string"},
{ "name": "clock_out_date", "dataType": "string"},
{ "name": "clock_out_time", "dataType": "string"},
{ "name": "clocked_duration", "dataType": "string"},
{ "name": "break_duration", "dataType": "Int64"},
{ "name": "price", "dataType": "Int64"},
{ "name": "order_no", "dataType": "Int64"},
{ "name": "event_id", "dataType": "Int64"},
{ "name": "department", "dataType": "string"},
{ "name": "department_cost_center", "dataType": "Int64"},
{ "name": "worker_first_name", "dataType": "string"},
{ "name": "worker_preposition", "dataType": "string"},
{ "name": "worker_last_name", "dataType": "string"},
{ "name": "worker_full_name", "dataType": "string"},
{ "name": "personnel_number", "dataType": "Int64"},
{ "name": "partner", "dataType": "string"},
{ "name": "employee_type", "dataType": "string"},
{ "name": "employee_default_cost_center", "dataType": "Int64"},
{ "name": "authorized_partner", "dataType": "string"},
{ "name": "incident", "dataType": "Int64"},
{ "name": "tags", "dataType": "Int64"},
{ "name": "sketch_start_date", "dataType": "string"},
{ "name": "sketch_start", "dataType": "string"},
{ "name": "sketch_end_date", "dataType": "string"},
{ "name": "sketch_end", "dataType": "string"},
{ "name": "delta_time", "dataType": "string"},
{ "name": "delta_plan", "dataType": "Int64"},
{ "name": "delta_clock", "dataType": "Int64"},
{ "name": "event_name", "dataType": "string"} #this is one of the columns that gives an error
]
}
dataset_body = json.dumps(columns_body_raw)
这些是我发生错误的一些行:
dataset_body_raw = { "rows": [{
"sketch_end": "0",
"order_no": "2017",
"activity_qualification": "TEST",
"clock_out_date": "0",
"activity_businessActivity": "BUSINESS NAME TEST",
"clock_in_time": "0",
"partner": "COMPANY",
"event_name": "EVENT"
}]}
dataset_body = json.dumps(dataset_body_raw)
404 错误表明没有 event_name 列,尽管它列在 columns_body_raw 中并且我可以在我的 power bi 环境中看到它。
【问题讨论】:
-
在我看来,问题不在于您的请求中缺少该列,而是架构中缺少该列。 404 表示在服务器上未找到资源,客户端请求中没有丢失资源。所以在我看来,您正试图在名为 event_name 的列中插入一些内容,但该列在您尝试发布的任何内容中都不存在。你说你在环境中看到它,你也可以发布一个截图吗?也许你在错误的嵌套级别或什么的。
-
我添加了一个屏幕截图,之前关于 power bi api 的帖子在不同的数据集上都是成功的。所以我无法在这里查明错误。
-
event_name是您稍后添加的列,在数据集创建之后?您是否尝试重新创建数据集?您是否尝试使用其他名称添加新列? -
问题已解决。也许将其标记为已解决@RA/发布答案或其他内容:)
标签: json api post python-requests powerbi