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

通过Direct Connect调用S3 ListObjectsV2时遇EndpointConnectionError

解决S3 ListObjectsV2接口EndpointConnectionError问题

针对你遇到的无法连接S3端点的错误,以下是几个排查和解决方向:

  • 检查Direct Connect与S3的访问配置
    如果你通过Direct Connect的私有VIF访问S3,需要确保:

    1. 私有VIF已关联到正确的VPC,且VPC路由表中添加了eu-west-3区域S3服务的前缀列表,确保流量通过Direct Connect路由到S3而非公网。
    2. VPC内已配置S3网关端点,且端点策略允许当前凭证执行s3:ListBucket操作。
  • 修正S3客户端的端点配置
    当通过私有网络访问S3时,需确保boto3客户端使用正确的私有端点。可以在创建客户端时显式指定端点URL:

    s3_client = session_root.client('s3', endpoint_url='https://s3.eu-west-3.amazonaws.com')
    

    若使用VPC网关端点,boto3会自动通过端点路由流量,无需额外配置,但需确保客户端运行在VPC内实例或通过Direct Connect接入的网络环境中。

  • 修复URL编码异常
    从错误URL中可见prefix=object1%2object2%2F...存在编码错误(%2应为%2F),大概率是旧版本boto3/botocore的编码bug导致,执行以下命令升级到最新版本:

    pip install --upgrade boto3 botocore
    
  • 验证凭证与权限

    1. 检查~/.aws/credentials和~/.aws/config中my_profile的配置,确认region为eu-west-3,且凭证拥有目标bucket的s3:ListBucket权限。
    2. 用AWS CLI测试连通性:
      aws s3 ls s3://my_bucket/object1/object2/object3/object4/ --profile my_profile --region eu-west-3
      
      若CLI能正常返回结果,说明是脚本或boto3配置问题;若CLI也报错,需排查网络或权限配置。
  • 排查网络连通性
    在运行脚本的机器上:

    1. 测试S3端点的443端口连通性:
      telnet s3.eu-west-3.amazonaws.com 443
      
      若无法连接,说明网络路由存在问题,需检查Direct Connect的路由、防火墙规则或安全组配置。
    2. 确认机器路由表中,S3的流量指向Direct Connect链路而非公网出口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:42:54