Wie man einen S3-Bucket mit Python Boto3 auf AWS erstellt
Wie man einen S3-Bucket mit Python Boto3 auf AWS erstellt
Auf dieser Seite
- Voraussetzungen
- Was wir tun werden
- Installieren Sie die Boto3-Abhängigkeiten
- Kennt die erforderlichen Methoden
- Ein S3-Bucket erstellen und löschen
- Schlussfolgerung
In diesem Artikel werden wir lernen, einen S3-Bucket mit der Python Boto3-Bibliothek zu erstellen. Wir werden auch die Schritte sehen, um den Bucket zu löschen, den wir erstellt haben. Wir werden die Methoden "create_bucket" und "delete_bucket" verwenden, um einen Bucket zu erstellen und zu löschen.
Bevor wir fortfahren, nehme ich an, dass Sie mit dem S3-Bucket vertraut sind. Wenn Sie jedoch nicht mit dem S3-Bucket-Service vertraut sind, klicken Sie hier, um zu lernen, wie Sie einen Bucket aus der AWS-Konsole erstellen.
Voraussetzungen
- Grundlegendes Verständnis von S3
- Grundlegendes Verständnis von Python
- Python ist auf dem System verfügbar
Was wir tun werden
Installieren Sie die Boto3-Abhängigkeiten
Python ist standardmäßig in Ubuntu Server enthalten, sodass Sie es nicht installieren müssen.
Um die Python-Version auf Ihrem System zu überprüfen, verwenden Sie den folgenden Befehl.
welches Python
/usr/bin/python --version
ODER
python --version
Wenn Sie pip nicht haben und Ubuntu verwenden, führen Sie den folgenden Befehl aus, um zunächst das lokale Repository zu aktualisieren.
sudo apt aktualisieren
Um pip zu installieren, verwenden Sie den folgenden Befehl.
sudo apt install python-pip
Um die installierte Version von Pip zu überprüfen, führen Sie den folgenden Befehl aus.
pip --version
Sobald Sie Python und pip haben, können Sie Boto3 installieren.
Die Installation von Boto3 ist sehr einfach und unkompliziert. Um Boto3 zu installieren, verwenden Sie den folgenden Befehl.
pip installieren boto3
Um zu überprüfen, ob Boto3 installiert ist und welche Version, führen Sie den folgenden Befehl aus.
pip zeigt boto3 an
Kennt die erforderlichen Methoden
Um einen Bucket zu erstellen, verwenden wir die Methode "create_bucket". Folgendes ist die Syntax der Methode mit all den Parametern, die sie akzeptieren kann. Wir werden nicht alle diese Parameter verwenden, um einen Bucket zu erstellen, aber du kannst es versuchen, wenn du möchtest.
Anforderungs-Syntax der create_bucket-Methode
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: Die vordefinierte ACL, die auf den Bucket angewendet werden soll.
- Eimer: Der Name des zu erstellenden Eimers. Dies muss weltweit einzigartig sein, und kein 2 Eimer dürfen denselben Namen haben.
- CreateBucketConfiguration: Die Konfigurationsinformationen für den Bucket.
LocationConstraint: Gibt die Region an, in der Sie einen Bucket erstellen möchten. Die Region US East (N. Virginia) (us-east-1) ist die Standardregion, und Buckets werden hier erstellt, wenn die Region nicht angegeben wird. - Vollzugriff gewähren: Erlaubt dem Berechtigten die Lese-, Schreib-, Lese-ACP- und Schreib-ACP-Berechtigungen für den Bucket.
- GrantRead: Ermöglicht dem Begünstigten, die Objekte im Bucket aufzulisten.
- GrantReadACP: Erlaubt dem Begünstigten, die bucket ACL zu lesen.
- GrantWrite: Erlaubt dem Begünstigten, jedes Objekt im Bucket zu erstellen, zu überschreiben und zu löschen.
- GrantWriteACP: Erlaubt dem Zuwendungsempfänger, die ACL für den entsprechenden Bucket zu schreiben.
- ObjectLockEnabledForBucket: Gibt an, ob Sie S3 Object Lock für den neuen Bucket aktivieren möchten.
Im Folgenden ist die Syntax der Methode zum Löschen des Buckets, den wir erstellt haben.
Anfragesyntax der delete_bucket Methode
response = client.delete_bucket(
Bucket='string'
)- Eimer: Gibt den zu löschenden Eimer an. Sie müssen hier den Namen Ihres S3-Eimers angeben, den Sie löschen möchten.
Ein S3-Bucket erstellen und löschen
Erstellen Sie eine "config.properties"-Datei, die Ihren AWS-Benutzer aws_access_key_id_value, aws_secret_access_key_value und die Region enthält. Fügen Sie Ihre Schlüssel in diese Datei ein.
Konfigurationsdatei.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'Erstellen Sie nun eine Datei "create-s3-bucket.py" und fügen Sie den folgenden Code ein. Dieser Code liest die im vorherigen Schritt definierten Werte und erstellt einen Bucket mit dem Namen, den Sie in dieser Datei definieren. Hier werde ich einen Bucket namens "rahul-boto3-test-delete" erstellen, ändern Sie dies in den gewünschten Namen.
vim erstelle-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)Erstelle eine Datei "delete-s3-bucket.py", die den Code zum Löschen eines Buckets enthält. Füge den folgenden Code ein.
vim lösche-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)Jetzt sind Sie bereit, einen Bucket zu erstellen.
Um einen Bucket zu erstellen, führen Sie die Datei "create-s3-bucket.py" mit dem folgenden Befehl aus.
python erstelle-s3-bucket.py
Wenn Sie den Bucket nicht mehr benötigen und ihn löschen möchten, führen Sie die Datei "delete-s3-bucket.py" mit dem folgenden Befehl aus.
python löschen-s3-bucket.py
Schlussfolgerung
Wir haben gesehen, wie einfach es ist, einen S3-Bucket mit der Boto3-Bibliothek von Python zu erstellen und ihn auch zu löschen. Wir haben einen einfachen Bucket erstellt, den Sie nach Ihren Bedürfnissen und Anforderungen anpassen können, und einen Bucket mit verschiedenen verfügbaren Parametern in der Methode create_bucket erstellen können.






