GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie einen S3-Bucket mit Python Boto3 auf AWS

In diesem Artikel lernen wir, wie man einen S3-Bucket mit der Python-Boto3-Bibliothek erstellt. Wir werden auch die Schritte zum Löschen des von uns erstellten Buckets sehen. 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 Sie mit dem S3-Bucket vertraut sind, aber wenn Sie mit dem S3-Bucket-Service nicht vertraut sind, klicken Sie hier, um zu erfahren, wie Sie einen Bucket über die AWS-Konsole erstellen.

Voraussetzungen

  1. AWS-Konto (erstellen, falls Sie noch keins haben)
  2. Grundlegendes Verständnis von S3
  3. Grundlegendes Verständnis von Python
  4. Python auf dem System verfügbar

Was wir tun werden

  1. Boto3 installieren
  2. Kennen Sie die erforderlichen Methoden.
  3. Erstellen und löschen Sie einen S3-Bucket.

Boto3-Abhängigkeiten installieren

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.

welche python
/usr/bin/python --version

ODER

python --version

Wenn Sie Pip nicht haben und Ubuntu verwenden, führen Sie den folgenden Befehl aus, um zuerst das lokale Repository zu aktualisieren.

sudo apt update

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 direkt. Verwenden Sie den folgenden Befehl, um Boto3 zu installieren.

pip installieren boto3

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

Pip Show boto3

Kennen Sie die erforderlichen Methoden

Um einen Bucket zu erstellen, verwenden wir die Methode "create_bucket". Es folgt die Syntax der Methode mit allen Parametern, die sie akzeptieren kann. Wir werden nicht alle diese Parameter verwenden, um einen Bucket zu erstellen, aber Sie können es versuchen, wenn Sie möchten.

Syntax der create_bucket-Methode anfordern

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 gespeicherte ACL, die auf den Bucket angewendet werden soll.
  2. Bucket:  Der Name des zu erstellenden Buckets. Dieser muss weltweit eindeutig sein und zwei Buckets dürfen nicht denselben Namen haben.
  3. BucketConfiguration erstellen:  Die Konfigurationsinformationen für den Bucket.
    LocationConstraint:  Gibt die Region an, in der Sie einen Bucket erstellen möchten. Region USA Ost (Nord-Virginia) (us-east-1) ist die Standardregion und Buckets werden hier erstellt, wenn die Region nicht angegeben ist.
  4. GrantFullControl:  Gewährt dem Empfänger Lese-, Schreib-, ACP-Lese- und ACP-Schreibberechtigungen für den Bucket.
  5. GrantRead : Ermöglicht dem Berechtigten, die Objekte im Bucket aufzulisten.
  6. GrantReadACP: Ermöglicht dem Empfänger, die Bucket-ACL zu lesen.
  7. GrantWrite: Ermöglicht dem Empfänger, beliebige Objekte im Bucket zu erstellen, zu überschreiben und zu löschen.
  8. GrantWriteACP: Ermöglicht dem Berechtigten, die ACL für den entsprechenden Bucket zu schreiben.
  9. ObjectLockEnabledForBucket: Gibt an, ob die S3-Objektsperre für den neuen Bucket aktiviert werden soll.

Im Folgenden finden Sie die Methodensyntax zum Löschen des von uns erstellten Buckets.

Syntax der Methode delete_bucket anfordern

response = client.delete_bucket(
    Bucket='string'
)
  1. Bucket:  Gibt den zu löschenden Bucket an. Sie müssen hier den Namen Ihres S3-Buckets angeben, den Sie löschen möchten.

Erstellen und löschen Sie einen S3-Bucket

Erstellen Sie die Datei „config.properties“, die Ihren AWS-Benutzer aws_access_key_id_value, aws_secret_access_key_value und Ihre Region enthält. Fügen Sie Ihre Schlüssel in dieser Datei hinzu.

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'

Erstellen Sie nun eine Datei „create-s3-bucket.py“ und fügen Sie den folgenden Code hinzu. Dieser Code liest die im vorherigen Schritt definierten Werte und erstellt einen Bucket mit dem Namen, den Sie in dieser Datei definieren. Hier erstelle ich einen Bucket mit dem Namen „rahul-boto3-test-delete“, ändere diesen in den gewünschten.

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)

Erstellen Sie eine Datei „delete-s3-bucket.py“, die den Code zum Löschen eines Buckets enthält. Kopieren Sie den folgenden Code und fügen Sie 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)

Jetzt können Sie einen Bucket erstellen.

Um einen Bucket zu erstellen, führen Sie die Datei "create-s3-bucket.py" mit dem folgenden Befehl aus.

python create-s3-bucket.py

Wenn Sie den Bucket nicht mehr benötigen und löschen möchten, führen Sie die Datei "delete-s3-bucket.py" mit dem folgenden Befehl aus.

python delete-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. Sie können den Code nach Ihren Bedürfnissen und Anforderungen anpassen und einen Bucket mit verschiedenen Parametern erstellen, die in der create_bucket-Methode verfügbar sind.


Linux
  1. So erstellen Sie eine RDS-Instance auf AWS mit Terraform

  2. So erstellen Sie eine IAM-Rolle in AWS mit Terraform

  3. So erstellen Sie einen Linux-Benutzer mit Ansible

  4. So erstellen Sie ein Python-Wörterbuch

  5. So erstellen Sie einen Benutzer unter Linux mit Python

So erstellen Sie eine Amazon AWS EC2-Instanz mit Python Boto3

So erstellen Sie eine RDS-Instanz mit Python Boto3 auf AWS

So erstellen Sie eine DynamoDB-Tabelle in AWS

So verwalten Sie Terraform State in einem AWS S3-Bucket

So ändern Sie die Größe von Bildern mit Python

So erstellen Sie eine Partition mit dem Befehl „parted“