2025-03-12
编程
00
请注意,本文编写于 47 天前,最后修改于 47 天前,其中某些信息可能已经过时。

目录

安装
配置AWS凭证
使用Boto3
1. 创建客户端和服务资源
2. 操作示例
列出所有S3存储桶
上传文件到S3
下载文件从S3

boto3是亚马逊Web服务(AWS)的软件开发工具包(SDK)之一,主要用于使用Python语言来与AWS服务进行交互。通过boto3,开发者可以编写直接调用AWS服务的应用程序,如S3、EC2、DynamoDB等。它提供了两种不同的方式来访问AWS服务:一种是通过低级别的客户端接口,另一种是通过高级别的资源接口。

安装

你可以通过pip来安装boto3

bash
pip install boto3

配置AWS凭证

为了使boto3能够访问你的AWS资源,你需要提供有效的AWS凭证。这通常通过AWS CLI来完成:

bash
aws configure

你将被要求输入以下信息:

  • AWS Access Key ID
  • AWS Secret Access Key
  • Default region name
  • Default output format

或者,你也可以手动创建或编辑~/.aws/credentials~/.aws/config文件。

使用Boto3

1. 创建客户端和服务资源

boto3提供了两种主要方式与AWS服务交互:客户端(Client)和服务资源(Resource)。

客户端 客户端提供了低级别的API调用,允许你直接与AWS服务进行交互。

python
import boto3 # 创建一个S3客户端 s3_client = boto3.client('s3')

服务资源 服务资源是一种更高层次的对象导向接口,它简化了对AWS服务的操作。

python
# 获取S3资源对象 s3_resource = boto3.resource('s3')

2. 操作示例

列出所有S3存储桶

使用客户端:

python
response = s3_client.list_buckets() for bucket in response['Buckets']: print(bucket['Name'])

使用资源:

python
for bucket in s3_resource.buckets.all(): print(bucket.name)
上传文件到S3

使用客户端:

python
s3_client.upload_file('path/to/myfile.txt', 'mybucket', 'myfile.txt')

使用资源:

python
data = open('path/to/myfile.txt', 'rb') s3_resource.Bucket('mybucket').put_object(Key='myfile.txt', Body=data)
下载文件从S3

使用客户端:

python
s3_client.download_file('mybucket', 'myfile.txt', '/path/to/download/myfile.txt')

使用资源:

python
s3_resource.Bucket('mybucket').download_file('myfile.txt', '/path/to/download/myfile.txt')

根据不同的需求,你可以执行更多复杂和强大的操作,如管理EC2实例、操作DynamoDB表等