为什么通过postman导入主数据到sac维度时验证失败?

问题描述 投票:0回答:1

目前我正在解决 SAP Analytical Cloud 中的一个问题。我正在尝试通过 HTTP 请求加载包含主数据的维度。为此,我在我们的测试系统上使用 Postman。我们不想在 sac 中手动创建导入作业。

在 SAC 中创建了 OAuth 2.0 API 客户端。这用于访问 x-csrf-token。使用该令牌,可以使用以下链接创建作业并将其加载到 publicDimension ALM_TEST_SHORTSTRING 上。我尝试使用 JSON 和 CSV 格式加载。两者都有效并且工作已加载。

创建就业岗位的 POST:https://(tenant)/api/v1/dataimport/publicDimensions/Xxxxxxxxx:ALM_TEST_SHORTSTRING/publicDimensionData

使用正文中的数据填充作业的 POST: https://(租户)/api/v1/dataimport/jobs/cc1daaaf-2376-4c55-9cf6-83bec0fbb11c

正文(JSON):

{ 
   "Mapping":{ 
      "ID":"ID",
      "Description":"Description" 
   }, 
   "DefaultValues":{ 
      "ID":"ST_99" 
   }, 
   "Data":[ 
      { 
    "ID":"ST_05",         
    "Description":"Berlin"
      }
   ] 
} 

这里映射和DefaultValues可以省略。

正文(CSV):

ID,Description
ST_05,Berlin

加载响应如下。因此,这份工作充满了记录。

{
    "totalNumberRowsInCurrentRequest": 1,
    "upsertedNumberRows": 1,
    "failedNumberRows": 0,
    "failedRows": [],
    "validateJobURL": "https://tenant/api/v1/dataimport/jobs/cc1daaaf-2376-4c55-9cf6-83bec0fbb11c/validate",
    "runJobURL": "https://tenant/api/v1/dataimport/jobs/cc1daaaf-2376-4c55-9cf6-83bec0fbb11c/run",
    "totalNumberRowsInJob": "1"
}

最后在“validate”和“run”过程中出现如下错误:

{
    "error": {
        "code": "2069c8ab-2fbc-484f-4e8a-e112f9374ce2",
        "message": "Failed during validation for job [2901]"
    }
}

正文为空,授权和令牌均有效,对于标头,仅设置了 x-csrf-token 和 Postman 的默认标头。

Header screenshot of Postman

为什么验证失败,作业执行也失败?我在这里测试和尝试了很长时间,但还没有想出解决方案。

提前非常感谢, 阿尔伯特

postman httprequest httpresponse sap-analytics-cloud
1个回答
0
投票

检查本博文中的 Python 运算符以创建 post call 部分。 x-csrf-token 标头还不够。您还需要转发收到的 cookie。遗憾的是,该文档没有在任何地方指定这一点。

https://blogs.sap.com/2023/06/08/feed-sap-analytics-cloud-model-using-the-new-data-import-service-api-and-sap-data-intelligence-云/

© www.soinside.com 2019 - 2024. All rights reserved.