【问题标题】:MultiPartMimeStreamFormatException error when importing pbix files using rest-api使用 rest-api 导入 pbix 文件时出现 MultiPartMimeStreamFormatException 错误
【发布时间】:2020-05-30 02:19:41
【问题描述】:

所以我正在使用 powershell 通过导入 API 将我的 Power BI 报告自动化到我的工作区中。 这是我正在使用的代码:

    $PBIXuri="my azure blob storage url",
    $Workspaceurl="https://api.powerbi.com/v1.0/myorg/groups/mygroups/imports?datasetDisplayName=myreportname",
    $AccessToken="my oauth token"

    #download my pbix file from azure blob storage
    $cli = New-Object System.Net.WebClient
    $exportpbix = $cli.DownloadData($PBIXuri)

    $powerBiBody = @'
    --exptest
    Content-Disposition: form-data; name="file";
    Content-Type: application/x-zip-compressed

    {0}
    --exptest--

    '@

    #set my pbix file into request body
    $encoding = [System.Text.Encoding]::GetEncoding('iso-8859-1')
    $body = $powerBiBody -f $encoding.GetString($exportpbix)

    $headers = @{
    "Authorization" = "Bearer " + $AccessToken}

    Invoke-RestMethod -Uri $Workspaceurl -Method Post -Headers $headers -Body $body -ContentType "multipart/form-data; boundary=--exptest"

但它总是返回如下错误:

Invoke-RestMethod :     {"error":
     {"code":"MultiPartMimeStreamFormatException","pbi.error": 
       {"code":"MultiPartMimeStreamFormatException",
        "parameters":{},
        "details":[],
        "exceptionCulprit":1
        }
      }
    }

我的代码哪里出错了?

【问题讨论】:

    标签: powershell powerbi powerbi-datasource


    【解决方案1】:

    要导入文件,请求标头应包含 Content-Type: multipart/form-data 以及在请求正文中编码为表单数据的文件,如 documentation 中所述。请求正文应如下所示:

    Upload a local PBIX file using the import API

    也许最简单的方法是尝试将下载的数据保存到磁盘上的文件中,比如$filePath,然后在您的调用中添加-InFile 参数:

    Invoke-RestMethod -Uri $Workspaceurl -Method Post -InFile $filePath -ContentType "multipart/form-data"
    

    【讨论】:

    【解决方案2】:

    我发现了问题。 在我的请求正文中,我设置的内容类型是“application/x-zip-compressed”。 虽然我的 pbix 文件是“application/stream-octet”,但在我更改它后,我的文件已正确导入。

    【讨论】:

      猜你喜欢
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多