如何在Power BI Desktop中配置带参数的AWS Redshift直连?
解决Power BI Desktop连接AWS Redshift带额外Azure AD参数的问题
以下是两种可行的配置方式,亲测有效:
方法1:在服务器地址中追加URL参数
打开Power BI的Redshift连接对话框:
- 服务器字段输入格式:
your-redshift-endpoint:port?client_id=x&client_secret=x&idp_tenant=x&ClusterID=x&DbGroups=x&Region=x&plugin_name=AzureAD&IAMAuth=true - 输入数据库名称,选择DirectQuery模式(匹配你需要直接连接的需求)
- 点击确定后,按提示完成身份验证流程
注意:参数之间用&分隔,不要用分号,这是JDBC/ODBC URL的标准格式,Power BI的Redshift驱动支持这种写法。
方法2:通过Power Query高级编辑器修改M代码
如果方法1无效,直接修改连接的M代码更灵活:
- 按常规步骤打开Redshift连接,输入服务器和数据库名,进入Power Query编辑器
- 点击顶部菜单栏的主页 > 高级编辑器
- 将默认的连接代码:
Sql.Database("your-redshift-endpoint:port", "your-db-name")
修改为:
Sql.Database( "your-redshift-endpoint:port", "your-db-name", [ AdditionalOptions = [ client_id = "x", client_secret = "x", idp_tenant = "x", ClusterID = "x", DbGroups = "x", Region = "x", plugin_name = "AzureAD", IAMAuth = true ], CommandTimeout = #duration(0, 0, 30, 0) // 可根据需求调整超时时间 ] )
- 点击完成,保存并加载数据
额外注意事项
- 确保你的Power BI Desktop安装的是最新版的Amazon Redshift驱动,旧版本可能不支持这些IAM/Azure AD相关参数
- 验证Redshift集群已开启IAM认证,且Azure AD作为身份提供商的配置正确(包括信任关系、角色权限等)
- 测试参数时用正确的有效值替换占位符,避免拼写或格式错误
内容的提问来源于stack exchange,提问作者Richard
相关产品推荐
相关产品推荐

