
在本文中,我们将学习使用 Python Boto3 库创建 S3 存储桶、创建的存储桶的步骤、使用“create_bucket”和“delete_bucket”方法分别创建和删除存储桶。
在我们继续之前,我假设您熟悉 S3 存储桶.
前提条件
AWS 账户(如果没有,请创建) S3的基本理解 对Python的基本理解 系统上可用的Python
我们要做什么
安装 Boto3 了解所需的方法。 创建和删除 S3 存储桶。
安装 Boto3 依赖项
Python 默认在 Ubuntu Server 中,所以你不需要安装它。
要检查系统上的 Python 版本,请使用以下命令。
which python
/usr/bin/python --version
或者
python --version
如果你没有 pip 并且你使用的是 Ubuntu,请执行以下命令首先更新本地 repo。
sudo apt update
要安装 pip,请使用以下命令。
sudo apt install python-pip
要检查安装的 Pip 版本,请执行以下命令。
pip --version
一旦你有了 python 和 pip,你就可以安装 Boto3。
安装 Boto3 非常简单直接。要安装 Boto3,请使用以下命令。
pip install boto3
要检查是否安装了 Boto3 及其版本,请执行以下命令。
pip show boto3
了解所需的方法
要创建存储桶,我们将使用“create_bucket”方法,以下是该方法的语法及其可以接受的所有参数。我们不会使用所有这些参数来创建 Bucket,但您可以根据需要尝试一下。
create_bucket 方法的请求语法
response = client.create_bucket(
ACL='private'|'public-read'|'public-read-write'|'authenticated-read',
Bucket='string',
CreateBucketConfiguration={
'LocationConstraint': 'EU'|'eu-west-1'|'us-west-1'|'us-west-2'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'sa-east-1'|'cn-north-1'|'eu-central-1'
},
GrantFullControl='string',
GrantRead='string',
GrantReadACP='string',
GrantWrite='string',
GrantWriteACP='string',
ObjectLockEnabledForBucket=True|False
)
ACL:要应用于存储桶的固定 ACL。 Bucket:要创建的桶的名称。这必须是全局唯一的,并且没有 2 个存储桶可以具有相同的名称。 CreateBucketConfiguration:存储桶的配置信息。 LocationConstraint:指定要创建桶的区域。美国东部(弗吉尼亚北部)区域 (us-east-1) 是默认区域,如果未指定区域,则会在此处创建存储桶。 GrantFullControl:允许被授予者对存储桶的读、写、读 ACP 和写 ACP 权限。 GrantRead :允许被授权者列出存储桶中的对象。 GrantReadACP:允许被授权者读取存储桶 ACL。 GrantWrite:允许被授权者创建、覆盖和删除存储桶中的任何对象。 GrantWriteACP:允许被授权者为适用的存储桶编写 ACL。 ObjectLockEnabledForBucket:指定是否要为新存储桶启用 S3 对象锁定。
以下是删除我们创建的存储桶的方法语法。
delete_bucket 方法的请求语法
response = client.delete_bucket(
Bucket='string'
)
Bucket:指定要删除的桶。您需要在此处指定要删除的 S3 存储桶的名称。
创建和删除 S3 存储桶
创建“ config.properties”文件,其中将包含您的 AWS 用户 aws_access_key_id_value 、aws_secret_access_key_value 和区域。在此文件中添加您的密钥。
config.properties
aws_access_key_id_value='ACCESS-KEY-OF-THE-AWS-ACCOUNT'
aws_secret_access_key_value='SECRETE-KEY-OF-THE-AWS-ACCOUNT'
region_name_value='eu-west-3'
现在,创建一个文件“ create-s3-bucket.py ”并在其中添加以下代码,此代码将读取在上一步中定义的值并使用您在此文件中定义的名称创建一个存储桶,在这里,我将创建一个名为“rahul-boto3-test-delete”的存储桶,将其更改为您想要的。
vim create-s3-bucket.py
import boto3
def getVarFromFile(filename):
import imp
f = open(filename)
global data
data = imp.load_source('data', '', f)
f.close()
getVarFromFile('config.properties')
client = boto3.client(
's3',
aws_access_key_id=data.aws_access_key_id_value,
aws_secret_access_key=data.aws_secret_access_key_value
)
response = client.create_bucket(
Bucket='rahul-boto3-test-delete',
CreateBucketConfiguration={
'LocationConstraint': 'eu-west-3',
},
)
print (response)
创建一个文件“ delete-s3-bucket.py ”,其中包含删除存储桶的代码。将以下代码复制粘贴到其中。
vim delete-s3-bucket.py
def getVarFromFile(filename):
import imp
f = open(filename)
global data
data = imp.load_source('data', '', f)
f.close()
getVarFromFile('config.properties')
client = boto3.client(
's3',
aws_access_key_id=data.aws_access_key_id_value,
aws_secret_access_key=data.aws_secret_access_key_value
)
response = client.delete_bucket(Bucket='rahul-boto3-test-delete')
print (response)
现在您已准备好创建存储桶。
要创建存储桶,请使用以下命令执行文件“ create-s3-bucket.py ”。
python create-s3-bucket.py
如果您不再需要存储桶并想删除它,请使用以下命令执行文件“ delete-s3-bucket.py ”。
python delete-s3-bucket.py
结论
我们看到了使用 Python 的 Boto3 库创建 S3 存储桶以及删除它是多么容易,我们创建了一个简单的存储桶,您可以根据需要和要求自定义代码,并使用 create_bucket 方法中可用的不同参数创建存储桶。
















