要在同一台EC2实例上运行AWS S3,您可以使用AWS SDK for Python(Boto3)来实现。以下是一个简单的示例代码,演示了如何在同一台EC2实例上上传和下载文件到AWS S3存储桶。
首先,确保您的EC2实例已经配置了适当的IAM角色,并具有访问S3的权限。
import boto3
def upload_file_to_s3(file_path, bucket_name, object_name):
# 创建S3客户端
s3_client = boto3.client('s3')
# 上传文件
with open(file_path, 'rb') as file:
s3_client.upload_fileobj(file, bucket_name, object_name)
print(f'文件 {file_path} 已成功上传到 S3 存储桶 {bucket_name} 中的对象 {object_name}。')
def download_file_from_s3(bucket_name, object_name, file_path):
# 创建S3客户端
s3_client = boto3.client('s3')
# 下载文件
with open(file_path, 'wb') as file:
s3_client.download_fileobj(bucket_name, object_name, file)
print(f'对象 {object_name} 已成功下载到本地文件 {file_path}。')
# 示例用法
bucket_name = 'your_bucket_name'
object_name = 'your_object_name'
file_path = '/path/to/your/file'
# 上传文件到S3
upload_file_to_s3(file_path, bucket_name, object_name)
# 从S3下载文件
download_file_from_s3(bucket_name, object_name, file_path)
请注意,上述代码需要您替换your_bucket_name,your_object_name和/path/to/your/file为实际的存储桶名称,对象名称和本地文件路径。
此示例仅演示了如何上传和下载文件。您还可以使用Boto3调用其他AWS S3 API,例如列出存储桶中的对象,删除对象等。有关更多信息,请参阅Boto3文档。