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

如何从Vertex AI Workbench上传文件至AWS S3?遇连接错误求解决

从Vertex AI Workbench上传文件到AWS S3的解决方案与替代方案

一、可行性说明

从Vertex AI Workbench上传文件到AWS S3完全可行,本质是通过AWS SDK在GCP环境中发起S3 API请求,只要配置正确的权限和参数即可实现跨云存储传输。

二、当前错误的解决方法

你遇到的Could not connect to the endpoint URL错误,核心原因是region_name参数设置无效:AWS不存在名为"auto"的区域,必须指定S3桶实际所在的有效区域(比如us-east-1、eu-west-1、ap-southeast-1等)。

修正后的代码如下:

import boto3

# 替换为你的实际AWS密钥和桶所在区域
key_id = "你的AWS_ACCESS_KEY_ID"
access_key = "你的AWS_SECRET_ACCESS_KEY"
bucket_region = "us-east-1"  # 需与S3桶所在区域一致

# 初始化正确配置的S3客户端
client = boto3.client(
    "s3",
    region_name=bucket_region,
    aws_access_key_id=key_id,
    aws_secret_access_key=access_key
)

# 执行文件上传
client.upload_file(
    Filename="path_file.csv",
    Bucket="bucket_name",
    Key="uploaded.csv"
)

额外注意事项:

  • 确保Vertex AI Workbench实例具备互联网访问权限(默认配置通常满足,若使用私有网络需配置NAT网关或VPC peering)。
  • 确认你的AWS密钥拥有目标S3桶的s3:PutObject权限,可通过IAM策略明确配置上传权限。

三、替代方案

若不想使用boto3,还可以通过以下方式实现跨云文件传输:

1. gsutil + AWS CLI中转

先将文件上传到Google Cloud Storage(GCS),再通过AWS CLI同步到S3:

# 第一步:上传文件到GCS临时存储
gsutil cp path_file.csv gs://你的GCS桶名/temp/

# 第二步:从GCS同步到S3(需先在Workbench安装并配置AWS CLI)
aws s3 cp gs://你的GCS桶名/temp/path_file.csv s3://你的S3桶名/uploaded.csv

2. Google Cloud Dataflow批量传输

如果是批量或定时传输需求,可创建Dataflow作业:读取Vertex AI关联的GCS文件,直接写入S3。需为Dataflow服务账号配置对应的AWS访问权限。

3. S3 REST API直接调用

通过Python的requests库手动构造并签名S3的PutObject API请求,适合高度自定义的传输场景,但实现复杂度较高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:05:16