如何解决将 Azure Blob 容器连接到 Power BI 服务
我的任务是从一个 azure 容器导入一些数据以支持 BI 服务......我获得了导入数据的查询。但是,查询一次只导入一个文件,您必须导入每个文件并将其附加到数据流中。有没有办法在连接到本地文件时导入整个文件夹,例如 power bi 桌面上的组合和加载选项。
查询步骤如下:
第一步 > 我知道如何连接到 blob:=xml.tables(web.contents( "https://********** & **** ********** & *********")
第二步 > 这似乎是引用单个文件的步骤:=Table.Addcolumn(source,"BinaryFiles",each Web.contents("https://* .xlsx? " *
我相信如果我可以在第二步中显示文件夹/blob 中的所有文件,那么我可以将它们组合起来,因为它们是相同的架构。当我从字符串中删除特定文件名时,我收到以下错误:
DataSource.Error: Web.Contents 无法从“https://************************”获取内容 (404) 指定的blob 不存在。
由于隐私原因,我无法分享详细的字符串。
解决方法
您收到“未找到”错误,如代码和说明 here 所述。
由于我看不到您的 URI,所以我不确定,但我认为,尽管您对 URI 进行了更改,但您仍继续尝试获取 blob,这就是为什么该服务会显示类似“a blob with此类标识不存在/未找到"。因为,在这种情况下,您真正想要的是将所有 Blob 放入特定 Blob 容器中,对吗?
根据 Blob 服务 REST API here,不可能仅通过一个请求从容器中批量获取所有 Blob。似乎可能的是get the list of blobs in a container,浏览列表并get each blob individually :)
,这就是我对 Blob 存储中的 json 文件执行此操作的方法:
//Create custom function called "Transform file" first:
let
Query = (Parameter as binary) => let
#"Imported Text" = Table.FromColumns({Lines.FromBinary(Parameter,null,1252)}),#"Parsed JSON" = Table.TransformColumns(#"Imported Text",{},Json.Document)
in
#"Parsed JSON"
in
Query
//Then connect to blob container:
let
Source = AzureStorage.Blobs("https://<yourStorageAccountName>.blob.core.windows.net"),Navigation = Source{[Name = "<yourBlobContainerName>"]}[Data],#"Invoke custom function" = Table.AddColumn(Navigation,"Transform file",each #"Transform file"([Content])),#"Removed other columns" = Table.SelectColumns(#"Invoke custom function",{"Transform file"}),#"Expanded Transform file" = Table.ExpandTableColumn(#"Removed other columns",{"Column1"},{"Column1"})
in
#"Expanded Transform file"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。