【问题标题】:POST JSON data to power bi api 404 ERRORPOST JSON 数据到 power bi api 404 错误
【发布时间】: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 环境中看到它。

这是power bi的截图:

【问题讨论】:

  • 在我看来,问题不在于您的请求中缺少该列,而是架构中缺少该列。 404 表示在服务器上未找到资源,客户端请求中没有丢失资源。所以在我看来,您正试图在名为 event_name 的列中插入一些内容,但该列在您尝试发布的任何内容中都不存在。你说你在环境中看到它,你也可以发布一个截图吗?也许你在错误的嵌套级别或什么的。
  • 我添加了一个屏幕截图,之前关于 power bi api 的帖子在不同的数据集上都是成功的。所以我无法在这里查明错误。
  • event_name 是您稍后添加的列,数据集创建之后?您是否尝试重新创建数据集?您是否尝试使用其他名称添加新列?
  • 问题已解决。也许将其标记为已解决@RA/发布答案或其他内容:)

标签: json api post python-requests powerbi


【解决方案1】:

我使用了错误的响应数据集 ID,因此该数据集链接到了 power bi 中旧版本的数据集,其中不包含该特定列。结论:上面的代码是使用 power bi API 在列中发布行的正确方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多