以下是一个解决方法的示例代码,用于将文件上传到AWS S3存储桶。
import boto3
import os
def upload_file_to_s3(file_path, bucket_name, s3_key):
# 创建S3客户端对象
s3_client = boto3.client('s3')
# 生成S3的upload参数
s3_params = {'Bucket': bucket_name, 'Key': s3_key}
# 检查文件是否存在
if not os.path.isfile(file_path):
raise ValueError(f"File {file_path} does not exist.")
# 上传文件到S3存储桶
with open(file_path, 'rb') as file:
s3_client.upload_fileobj(file, **s3_params)
print(f"File {file_path} uploaded to S3 bucket {bucket_name} with key {s3_key}.")
# 示例用法
file_path = '/path/to/local/file.txt'
bucket_name = 'my-s3-bucket'
s3_key = 'folder/file.txt'
upload_file_to_s3(file_path, bucket_name, s3_key)
要使该代码正常工作,您需要确保已正确配置AWS CLI,并且代码中的访问密钥和区域与您的AWS账号相匹配。另外,您还需要安装boto3库,可以使用pip install boto3
命令进行安装。