You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Power BI连接S3桶并按ID加载图片至分页报表

连接S3桶并按ID加载图片至Power BI分页报表的方案

一、建立S3与Power BI的连接

  • 打开Power BI Desktop,选择获取数据 > 更多 > 亚马逊S3,输入AWS访问密钥ID和秘密访问密钥(需确保账号拥有s3:ListBucket和s3:GetObject权限)。
  • 选中目标S3桶,加载文件元数据(包含文件名、对象键、存储路径等字段)。

二、关联文件与ID

根据实际情况选择对应方式:

  • 文件名内置ID:在Power Query中添加自定义列,通过字符串函数提取ID。例如文件名格式为ID_xxx.jpg,可使用Text.BeforeDelimiter([Name], "_")提取ID;若为xxx_ID.jpg则用Text.AfterDelimiter([Name], "_")。
  • 独立映射表:若有存储ID与文件名对应关系的CSV/Excel文件,将其导入Power BI,与S3文件列表通过文件名或ID字段做合并查询。

三、生成可访问的图片URL

Power BI分页报表无法直接读取私有S3文件,需生成可访问链接:

  • 私有桶(推荐):用AWS Lambda生成预签名URL。编写Lambda函数接收S3对象键作为参数,返回有效期内的预签名URL;在Power Query中通过Web.Contents调用该函数,为每个文件生成对应URL。
  • 公开桶:直接构造URL,格式为https://<bucket-name>.s3.<region>.amazonaws.com/<object-key>,在Power Query中添加自定义列拼接该地址。

四、在分页报表中加载图片

  • 将包含ID和图片URL的数据集导入Power BI Report Builder。
  • 添加图片控件,设置“源”为外部,绑定数据集中的URL字段;通过分组或过滤条件,实现按ID加载对应图片。

注意事项

  • 权限配置:确保AWS账号、Lambda(若使用)拥有对应操作权限,避免访问被拒。
  • 性能优化:预签名URL有效期不宜过长,避免缓存失效或安全风险;大量图片场景下,可考虑按需生成URL而非批量预生成。
  • 命名规范:尽量让文件名与ID的对应关系直观,减少后续数据处理的复杂度。

内容的提问来源于stack exchange,提问作者Shashi Kant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:12:34