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

AWS S3目录桶请求超时:调用ListDirectoryBucketsAsync无法获取桶列表

解决S3目录桶ListDirectoryBucketsAsync连接超时问题

从你遇到的错误来看,核心问题是请求走了HTTP(80端口),而S3 Express目录桶的控制平面端点只支持HTTPS(443端口),加上可能的SDK版本或网络配置问题,导致连接失败。下面是具体的解决步骤:

1. 强制客户端使用HTTPS并指定正确端点

修改你的客户端初始化代码,显式配置HTTPS和S3 Express控制平面的专属端点:

var s3Config = new AmazonS3Config
{
    RegionEndpoint = Amazon.RegionEndpoint.USEast1,
    UseHttp = false, // 强制启用HTTPS,避免走80端口
    ServiceURL = "https://s3express-control.us-east-1.amazonaws.com" // 指定目录桶控制平面的HTTPS端点
};

var client = new AmazonS3Client(s3Config);

var bucketsRequest = new ListDirectoryBucketsRequest();
var listDirectory = await client.ListDirectoryBucketsAsync(bucketsRequest);

2. 升级AWS SDK for .NET版本

旧版本的AWSSDK.S3可能没有正确适配S3 Express目录桶的端点规则,建议升级到3.7.200及以上版本,确保SDK能自动处理目录桶的端点路由。

3. 检查网络与权限配置

  • 如果你的服务运行在VPC内,需要确认VPC端点是否包含S3 Express控制平面的支持,或者安全组/防火墙是否允许出站访问443端口到s3express-control.us-east-1.amazonaws.com。
  • 确保IAM角色/用户拥有s3:ListDirectoryBuckets权限,虽然当前是连接超时,但权限缺失可能引发后续其他异常。

4. 验证端点可达性

可以在部署代码的环境中,用curl命令测试端点连通性:

curl -v https://s3express-control.us-east-1.amazonaws.com

如果返回403(Forbidden),说明网络连通,只是权限问题;如果超时,说明网络层面被阻断,需要排查防火墙或VPC配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:30:00