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

API端获取已认证用户:Cognito Client构造SdkConfig类型不匹配求助

解决AWS Rust SDK中Cognito客户端构造的类型不匹配问题

修复后的代码

use aws_config::SdkConfig;
use aws_sdk_cognitoidentityprovider::Client;

#[tokio::main]
async fn main() {
    let region_provider = aws_config::RegionProviderChain::default_provider()
        .or_else("us-east-1");
    let config: SdkConfig = aws_config::from_env()
        .region(region_provider)
        .load()
        .await;
    let cognito = Client::new(&config);
}

问题原因及解决要点

  • 核心问题是依赖版本不匹配或类型推断错误:AWS SDK for Rust v1.x中,aws_config::from_env().load().await返回的是aws_config::SdkConfig(与aws_types::sdk_config::SdkConfig为同一类型,只是重导出),而非aws_config::Config。若编译器推断出aws_config::Config,大概率是aws-config和aws-sdk-cognitoidentityprovider版本不一致。
  • 确保Cargo.toml中所有AWS相关crate版本完全一致,示例:
    [dependencies]
    aws-config = "1.1.0"
    aws-sdk-cognitoidentityprovider = "1.1.0"
    tokio = { version = "1.0", features = ["full"] }
    
  • 显式指定config的类型为SdkConfig,可以强制编译器正确识别类型,避免混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 01:27:42