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

如何在Scala中将CSV文件上传至指定S3存储桶?

上传本地CSV文件到AWS S3存储桶的几种方法

前提条件

  • 已配置AWS访问凭证(可通过~/.aws/credentials文件、环境变量AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY,或在AWS托管服务(如EC2、ECS)上使用IAM角色)
  • 拥有目标S3存储桶的写入权限

方法1:使用boto3(AWS官方Python SDK)

  1. 安装boto3依赖:
pip install boto3
  1. 编写代码上传本地文件:
import boto3

# 初始化S3客户端
s3 = boto3.client('s3')

# 本地文件路径
local_file_path = "/path/to/your/file.csv"
# 目标S3存储桶名称
bucket_name = "your-target-bucket"
# 上传后在S3中的文件名(可自定义,与本地文件名一致也可)
s3_file_name = "uploaded_file.csv"

# 执行上传操作
s3.upload_file(local_file_path, bucket_name, s3_file_name)

若需要指定AWS区域,初始化客户端时可添加region_name参数:

s3 = boto3.client('s3', region_name='us-east-1')

方法2:用pandas直接写入S3(跳过本地存储)

如果流程允许,无需先保存本地文件,可直接将DataFrame写入S3,更高效:

  1. 安装依赖:
pip install pandas s3fs
  1. 直接写入S3:
import pandas as pd

# 假设df是你的目标DataFrame
df.to_csv(f"s3://{bucket_name}/target_file.csv")

若未配置本地凭证文件,可手动传入密钥信息:

df.to_csv(
    f"s3://{bucket_name}/target_file.csv",
    storage_options={"key": "your-access-key", "secret": "your-secret-key"}
)

方法3:使用AWS CLI命令

习惯命令行操作的话,直接用AWS CLI完成上传:

  1. 确保已安装并配置AWS CLI(配置命令:aws configure)
  2. 执行上传命令:
aws s3 cp /path/to/your/file.csv s3://your-target-bucket/uploaded_file.csv

还可添加参数设置存储类别,比如标准IA:

aws s3 cp /path/to/your/file.csv s3://your-target-bucket/uploaded_file.csv --storage-class STANDARD_IA

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:10:40