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

Vision OS中使用AWS S3上传USDZ模型时凭证配置报错求助

上传USDZ模型至AWS S3的凭证配置错误解决

我尝试将USDZ模型上传至AWS S3存储桶,但配置凭证时出现错误,相关代码如下:

let accessKeyId = ProcessInfo.processInfo.environment["AWS_ACCESS_KEY_ID"]
let secretAccessKey = ProcessInfo.processInfo.environment["AWS_SECRET_ACCESS_KEY"]
do{
    // Setup AWS credentials, connection config and client
    let credentialsProvider = try StaticCredentialsProvider(Credentials(accessKey: accessKeyId!, secret: secretAccessKey!))
    let configuration = try S3Client.S3ClientConfiguration(region: "sa-east-1", credentialsProvider: credentialsProvider)
    let client = S3Client(config: configuration) 
}

已参考AWS Vision Pro官方入门文档,错误截图显示凭证配置相关异常,以下是排查和解决建议:

  • 检查环境变量配置
    确保AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY已在项目中正确设置:

    • 在Xcode中通过Edit Scheme -> Arguments -> Environment Variables添加这两个变量,注意Debug/Release模式下的配置是否一致;
    • 移除代码中的强制解包,避免因变量未配置直接崩溃,改用可选绑定:
      guard let accessKeyId = ProcessInfo.processInfo.environment["AWS_ACCESS_KEY_ID"],
            let secretAccessKey = ProcessInfo.processInfo.environment["AWS_SECRET_ACCESS_KEY"] else {
          print("未配置AWS凭证环境变量")
          return
      }
      
  • 验证IAM凭证权限

    • 确认使用的IAM用户拥有S3对象上传权限(如s3:PutObject),且凭证未过期、未被禁用;
    • 检查存储桶所在区域是否为sa-east-1,客户端配置的区域需与存储桶区域一致。
  • 排查SDK版本兼容性
    确保使用的AWS SDK for Swift版本与官方文档匹配,版本不兼容可能导致凭证初始化失败。

  • 采用安全的凭证方案(推荐)
    对于Vision Pro/iOS应用,优先使用默认凭证提供者替代静态凭证,更符合AWS安全最佳实践:

    let credentialsProvider = DefaultCredentialsProvider()
    let configuration = try S3Client.S3ClientConfiguration(region: "sa-east-1", credentialsProvider: credentialsProvider)
    let client = S3Client(config: configuration)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:06:08