Wie man einen S3 Bucket mit Python Boto3 auf AWS erstellt

In diesem Artikel lernen wir, wie wir mit der Python-Bibliothek Boto3 einen S3-Bucket erstellen. Wir werden auch sehen, wie wir den erstellten Bucket löschen. Wir werden die Methoden „create_bucket“ und „delete_bucket“ verwenden, um einen Bucket zu erstellen bzw. zu löschen.

Bevor wir fortfahren, gehe ich davon aus, dass du mit dem S3-Bucket vertraut bist. Wenn du jedoch nicht mit dem S3-Bucket-Service vertraut bist, klicke hier, um zu lernen, wie du einen Bucket über die AWS-Konsole erstellst.

Vorraussetzungen

  1. AWS-Konto (Erstelle wenn du noch keines hast)
  2. Grundlegendes Verständnis von S3
  3. GrundlegendesVerständnis von Python
  4. Python auf dem System verfügbar

Was wir tun werden

  1. Boto3 installieren
  2. Die erforderlichen Methoden kennen.
  3. Einen S3-Bucket erstellen und löschen.

Installiere die Boto3-Abhängigkeiten

Python ist standardmäßig in Ubuntu Server enthalten, du brauchst es also nicht zu installieren.

Um die Python-Version auf deinem System zu überprüfen, verwende den folgenden Befehl.

welches python
/usr/bin/python –version

ODER

python –version

Python-Version prüfen

Wenn du pip nicht hast und Ubuntu verwendest, führe den folgenden Befehl aus, um zunächst das lokale Repo zu aktualisieren.

sudo apt update

Pakete aktualisieren

Um pip zu installieren, verwende den folgenden Befehl.

sudo apt install python-pip

python pip installieren

Um die installierte Version von Pip zu überprüfen, führe den folgenden Befehl aus.

pip –version

Pip-Version prüfen

Sobald du python und pip installiert hast, kannst du Boto3 installieren.

Die Installation von Boto3 ist sehr einfach und unkompliziert. Um Boto3 zu installieren, verwende den folgenden Befehl.

pip install boto3

boto3 installieren

Um zu überprüfen, ob Boto3 installiert ist und welche Version es hat, führst du den folgenden Befehl aus.

pip show boto3

pip show boto3

Kenne die benötigten Methoden

Um einen Bucket zu erstellen, verwenden wir die Methode „create_bucket“.Im Folgenden findest du die Syntax der Methode mit allen Parametern, die sie annehmen kann. Wir werden nicht alle diese Parameter verwenden, um einen Bucket zu erstellen, aber du kannst es ausprobieren, wenn du möchtest.

Anfrage-Syntax der Methode 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
)
  1. ACL:Die Canned ACL, die auf den Bucket angewendet werden soll.
  2. Bucket: Der Name des zu erstellenden Buckets. Dieser muss global eindeutig sein und es dürfen keine 2 Buckets den gleichen Namen haben.
  3. CreateBucketConfiguration:Die Konfigurationsinformationen für den Bucket.
    LocationConstraint:Gibt die Region an, in der du einen Bucket erstellen möchtest. Die Region US East (N. Virginia) (us-east-1) ist die Standardregion und Buckets werden hier erstellt, wenn die Region nicht angegeben wird.
  4. GrantFullControl:Erlaubt dem Empfänger Lese-, Schreib-, Lese-ACP- und Schreib-ACP-Berechtigungen für den Bucket.
  5. GrantRead:Erlaubt es dem Berechtigten, die Objekte im Bucket aufzulisten.
  6. GrantReadACP: Erlaubt es dem Berechtigten, die Bucket-ACL zu lesen.
  7. GrantWrite: Erlaubt es dem Berechtigten, jedes Objekt im Bucket zu erstellen, zu überschreiben und zu löschen.
  8. GrantWriteACP: Erlaubt es dem Berechtigten, die ACL für den betreffenden Bucket zu schreiben.
  9. ObjectLockEnabledForBucket: Gibt an, ob der S3 Object Lock für den neuen Bucket aktiviert werden soll.

Nachfolgend die Syntax der Methode zum Löschen des Buckets, den wir erstellt haben.

Anfrage-Syntax der delete_bucket Methode

response = client.delete_bucket(
    Bucket='string'
)
  1. Bucket:Gibt den Bucket an, der gelöscht werden soll. Du musst hier den Namen deines S3-Buckets angeben, den du löschen möchtest.

Erstellen und Löschen eines S3-Buckets

Erstelle dieDatei „config.properties“, die deinen AWS Useraws_access_key_id_value, aws_secret_access_key_value und regionenthält. Füge deine Schlüssel in diese Datei ein.

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'

S3 Bucket erstellen

Erstelle nun eine Datei“create-s3-bucket.py“ und füge den folgenden Code hinzu. Dieser Code liest die im vorherigen Schritt definierten Werte und erstellt einen Bucket mit dem Namen, den du in dieser Datei definierst. Hier wird ein Bucket mit dem Namen „rahul-boto3-test-delete“ erstellt, den du in den gewünschten Namen ändern kannst.

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)

Python-Skript zum Erstellen eines S3-Buckets

Erstelle eine Datei“delete-s3-bucket.py“, die den Code zum Löschen eines Buckets enthält. Kopiere den folgenden Code und füge ihn ein.

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)

Python-Skript zum Entfernen eines S3-Buckets

Jetzt kannst du einen Bucket erstellen.

Um einen Bucket zu erstellen, führst du die Datei“create-s3-bucket.py“ mit folgendem Befehl aus.

pythoncreate-s3-bucket.py

Skript Eimer erstellen ausführen

Wenn du den Bucket nicht mehr brauchst und ihn löschen willst, führe die Datei“delete-s3-bucket.py“ mit dem folgenden Befehl aus.

pythondelete-s3-bucket.py

Skript "Eimer löschen" ausführen

Fazit

Wir haben gesehen, wie einfach es ist, mit der Boto3-Bibliothek von Python einen S3-Bucket zu erstellen und ihn auch wieder zu löschen. Wir haben einen einfachen Bucket erstellt. Du kannst den Code an deine Bedürfnisse und Anforderungen anpassen und einen Bucket mit verschiedenen Parametern erstellen, die in der Methode create_bucket verfügbar sind.

Das könnte dich auch interessieren …