通过AWS CLI连接dbt-redshift遇配置错误,寻求解决方法
使用AWS CLI连接dbt-Redshift时提示找不到dbt_cloud.yml的解决方法
问题描述
运行dbt debug测试Redshift连接时出现以下错误:
加载本地配置时遇到错误:未找到dbt Cloud的dbt_cloud.yml凭证文件,请从dbt Cloud下载凭证文件至
C:\Users\LENOVO\.dbt
使用付费版Redshift服务,需通过本地AWS CLI完成认证操作,已执行以下步骤但问题未解决:
- 安装AWS CLI并通过
aws configure完成配置 - 安装dbt并创建
profiles.yml配置文件 - 验证
profiles.yml内容及路径正确性 - 更新dbt至最新版本
解决方案
1. 强制指定使用本地profiles配置
dbt默认会优先检测dbt Cloud配置文件,若无需使用dbt Cloud,运行命令时明确指定本地配置目录:
dbt debug --profiles-dir C:\Users\LENOVO\.dbt
也可通过设置环境变量永久指定:
set DBT_PROFILES_DIR=C:\Users\LENOVO\.dbt
2. 确保profiles.yml使用AWS CLI认证方式
检查profiles.yml中的Redshift配置,确保采用AWS CLI的认证逻辑,示例配置如下:
your_profile: target: dev outputs: dev: type: redshift host: <你的Redshift集群端点> port: 5439 user: <数据库用户名> database: <数据库名称> schema: <目标schema> aws_profile: default # 对应aws configure中配置的profile名称 region: <集群所在AWS区域> threads: 4
3. 清理dbt Cloud相关环境变量
检查系统环境变量,若存在DBT_CLOUD_API_TOKEN等dbt Cloud相关变量,直接删除,避免dbt默认尝试连接dbt Cloud。
4. 验证AWS CLI认证有效性
运行以下命令确认AWS CLI能正常访问Redshift集群:
aws redshift describe-clusters --cluster-identifier <你的集群名称>
若能返回集群详情,说明AWS CLI认证正常。
内容的提问来源于stack exchange,提问作者Qaladid
相关产品推荐
相关产品推荐

