Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Power BI嵌入式PostImportWith文件返回BADDREQUEST_C#_Azure_Powerbi_Powerbi Embedded - Fatal编程技术网

C# Power BI嵌入式PostImportWith文件返回BADDREQUEST

C# Power BI嵌入式PostImportWith文件返回BADDREQUEST,c#,azure,powerbi,powerbi-embedded,C#,Azure,Powerbi,Powerbi Embedded,我希望使用PowerBiClient Imports对象的PostImportWithFile方法,通过.NET API将PBIX文件发布到工作区。该代码与规定示例的选项6中的代码几乎相同(请参阅) 有一个工作区集合和一个已创建的工作区。工作区是通过使用相关API方法的代码创建的,因此我知道认证方面的工作正常 当我调用PostImportWithFile方法时,会引发一个BadRequest异常。为了验证这与我的代码无关,我编译并运行了ProvisionSample并选择了选项6,选择了相同的文

我希望使用PowerBiClient Imports对象的PostImportWithFile方法,通过.NET API将PBIX文件发布到工作区。该代码与规定示例的选项6中的代码几乎相同(请参阅)

有一个工作区集合和一个已创建的工作区。工作区是通过使用相关API方法的代码创建的,因此我知道认证方面的工作正常

当我调用PostImportWithFile方法时,会引发一个BadRequest异常。为了验证这与我的代码无关,我编译并运行了ProvisionSample并选择了选项6,选择了相同的文件并收到了相同的结果

我为dataset参数提供null,这是可选的,并且默认为null,所以我看不出这是问题的原因

我一直无法在网上找到任何关于此方法和错误请求的信息,因此我想知道是否有任何有此API经验的人遇到过类似的情况


通过Power BI服务,PBIX文件可以正常工作,因此我假设该文件没有问题。

根据文档,您可能需要提供一个datasetname,但它似乎不是可选的

public static Task<Import> PostImportWithFileAsync(
this IImports operations,
string collectionName,
string workspaceId,
Stream fileStream,
string datasetDisplayName,
Nullable<int> nameConflict = null,
CancellationToken cancellationToken = null)
公共静态任务PostImportWithFileAsync(
这将导入操作,
字符串集合名称,
字符串工作空间ID,
流文件流,
字符串datasetDisplayName,
可为null的nameConflict=null,
CancellationToken CancellationToken=null)
非异步版本看起来datasetdisplayname不是可选的

public static Task<Import> PostImportWithFileAsync(
this IImports operations,
string collectionName,
string workspaceId,
Stream fileStream,
string datasetDisplayName,
Nullable<int> nameConflict = null,
CancellationToken cancellationToken = null)

希望这能有所帮助。

根据文档,您可能需要提供一个datasetname,但它似乎不是可选的

public static Task<Import> PostImportWithFileAsync(
this IImports operations,
string collectionName,
string workspaceId,
Stream fileStream,
string datasetDisplayName,
Nullable<int> nameConflict = null,
CancellationToken cancellationToken = null)
公共静态任务PostImportWithFileAsync(
这将导入操作,
字符串集合名称,
字符串工作空间ID,
流文件流,
字符串datasetDisplayName,
可为null的nameConflict=null,
CancellationToken CancellationToken=null)
非异步版本看起来datasetdisplayname不是可选的

public static Task<Import> PostImportWithFileAsync(
this IImports operations,
string collectionName,
string workspaceId,
Stream fileStream,
string datasetDisplayName,
Nullable<int> nameConflict = null,
CancellationToken cancellationToken = null)

希望这有帮助。

您是正确的,导入需要设置datasetDisplayName。嗯,扩展方法定义为公共静态导入PostImportWithFile(此IIImports操作,string collectionName,string workspaceId,Stream fileStream,string datasetDisplayName=null,string nameConflict=null);嗯,扩展方法定义为公共静态导入PostImportWithFile(此IIImports操作,string collectionName,string workspaceId,Stream fileStream,string datasetDisplayName=null,string nameConflict=null);这让我认为datasetDisplayName是可选的。我刚刚更改了代码以提供一个datasetDisplayName,事情似乎进展顺利(无论如何都没有引发异常),但是返回的导入对象除了Id属性之外,所有内容都为null(因此没有填充reports集合等)。不过还是向前迈出了一步,谢谢您的帮助。您是正确的,导入需要设置datasetDisplayName。嗯,扩展方法定义为公共静态导入PostImportWithFile(此IIImports操作,string collectionName,string workspaceId,Stream fileStream,string datasetDisplayName=null,string nameConflict=null);嗯,扩展方法定义为公共静态导入PostImportWithFile(此IIImports操作,string collectionName,string workspaceId,Stream fileStream,string datasetDisplayName=null,string nameConflict=null);这让我认为datasetDisplayName是可选的。我刚刚更改了代码以提供一个datasetDisplayName,事情似乎进展顺利(无论如何都没有引发异常),但是返回的导入对象除了Id属性之外,所有内容都为null(因此没有填充reports集合等)。还是向前迈一步吧,谢谢你的帮助。