C# Power BI嵌入式PostImportWith文件返回BADDREQUEST
我希望使用PowerBiClient Imports对象的PostImportWithFile方法,通过.NET API将PBIX文件发布到工作区。该代码与规定示例的选项6中的代码几乎相同(请参阅) 有一个工作区集合和一个已创建的工作区。工作区是通过使用相关API方法的代码创建的,因此我知道认证方面的工作正常 当我调用PostImportWithFile方法时,会引发一个BadRequest异常。为了验证这与我的代码无关,我编译并运行了ProvisionSample并选择了选项6,选择了相同的文件并收到了相同的结果 我为dataset参数提供null,这是可选的,并且默认为null,所以我看不出这是问题的原因 我一直无法在网上找到任何关于此方法和错误请求的信息,因此我想知道是否有任何有此API经验的人遇到过类似的情况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,选择了相同的文
通过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集合等)。还是向前迈一步吧,谢谢你的帮助。