maak je een S3 Bucket met Python Boto3 op AWS

In dit artikel leren we om een S3 emmer te maken met de Python Boto3 bibliotheek. We zullen ook de stappen zien om de gemaakte emmer te verwijderen. We zullen de methoden “create_bucket” & “delete_bucket” gebruiken om respectievelijk een emmer te maken en te verwijderen.

Voor we verder gaan neem ik aan dat je vertrouwd bent met S3 emmer, maar als je niet vertrouwd bent met de S3 emmer dienst, klikdan hier om te leren een emmer te maken vanuit AWS Console.

Vereisten

  1. AWS Account (Maak aan als je er geen hebt)
  2. Basiskennis van S3
  3. Basiskennis van Python
  4. Python beschikbaar op het systeem

Wat we zullen doen

  1. Boto3 installeren
  2. De vereiste methoden kennen.
  3. Een S3 emmer maken en verwijderen.

Installeer de afhankelijkheden van Boto3

Python zit standaard in Ubuntu Server, dus je hoeft het niet te installeren.

Om de Python versie op je systeem te controleren, gebruik je het volgende commando.

welke python
/usr/bin/python –versie

OF

python –versie

Controleer de Python versie

Heb je pip niet en gebruik je Ubuntu, voer dan het volgende commando uit om eerst de lokale repo bij te werken.

sudo apt update

Pakketten bijwerken

Om pip te installeren, gebruik je het volgende commando.

sudo apt install python-pip

Installeer python pip

Om de geïnstalleerde versie van Pip te controleren, voer je het volgende commando uit.

pip –versie

Controleer pip versie

Als je python en pip hebt, kun je Boto3 installeren.

Boto3 installeren is heel eenvoudig en rechttoe rechtaan. Om Boto3 te installeren gebruik je het volgende commando.

pip install boto3

Installeer boto3

Om te zien of Boto3 geïnstalleerd is en wat de versie ervan is, voer je het volgende commando uit.

pip show boto3

pip toon boto3

Ken de benodigde methoden

Om een emmer te maken, zullen we de methode “create_bucket” gebruiken. Hieronder volgtde syntaxis van de methode met alle parameters die ze kan aannemen. We zullen niet al deze parameters gebruiken om een Bucket te maken, maar je kunt het uitproberen als je wilt.

Verzoeksyntaxis van 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
)
  1. ACL:De ingeblikte ACL die op de emmer moet worden toegepast.
  2. Emmer:De naam van de emmer die gemaakt moet worden. Deze moet globaal uniek zijn en geen 2 emmers mogen dezelfde naam hebben.
  3. CreateBucketConfiguration:De configuratie-informatie voor de emmer.
    LocationConstraint:Specificeert de regio waar je een emmer wilt maken. De regio US East (N. Virginia) (us-east-1) is de standaard regio en emmers worden hier aangemaakt als de regio niet wordt opgegeven.
  4. GrantFullControl:Geeft de toegekende persoon de lees-, schrijf-, lees ACP en schrijf ACP rechten op de emmer.
  5. GrantRead:Staat de begiftigde toe de objecten in de emmer op te sommen.
  6. GrantReadACP: Staat de begiftigde toe de emmer ACL te lezen.
  7. GrantWrite: Staat de toegekende persoon toe elk object in de emmer te maken, te overschrijven en te verwijderen.
  8. GrantWriteACP: Staat de toegekende persoon toe het ACL voor de betreffende emmer te schrijven.
  9. ObjectLockEnabledForBucket: Specificeert of je wilt dat S3 Object Lock wordt ingeschakeld voor de nieuwe emmer.

Hieronder volgt de methodesyntaxis om de door ons gemaakte emmer te verwijderen.

Vraagsyntaxis van de delete_bucket methode

response = client.delete_bucket(
    Bucket='string'
)
  1. Bucket:Specificeert de emmer die verwijderd wordt. Je moet hier de naam van je S3 Bucket opgeven die je wilt verwijderen.

Een S3 emmer maken en verwijderen

Maak“config.properties” bestand aan dat je AWS gebruikeraws_access_key_id_value ,aws_secret_access_key_value en regio zal bevatten. Voeg je sleutels in dit bestand toe.

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'

Maak een S3 emmer

Maak nu een bestand“create-s3-bucket.py” en voeg er de volgende code in toe. Deze code leest de in de vorige stap gedefinieerde waarden en maakt een emmer met de naam die je in dit bestand bepaalt. Hier maak ik een emmer met de naam “rahul-boto3-test-delete”, verander dit in de emmer die je wilt.

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 script om een S3 emmer te maken

Maak een bestand“delete-s3-bucket.py” dat de code zal bevatten om een emmer te verwijderen. Kopieer-plak er de volgende code in.

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 script om een S3 emmer te verwijderen

Nu ben je klaar om een emmer te maken.

Om een emmer te maken, voer je het bestand“create-s3-bucket.py” uit met het volgende commando.

pythoncreate-s3-bucket.py

Voer create bucket script uit

Als je de emmer niet meer nodig hebt en hem wilt verwijderen, voer je het bestand“delete-s3-bucket.py” uit met het volgende commando.

pythonverwijder-s3-bucket.py

Voer het verwijder emmer script uit

Conclusie

We zagen hoe eenvoudig het is om met de Boto3 bibliotheek van Python een S3 emmer te maken en hem ook te verwijderen. We maakten een eenvoudige emmer, je kunt de code naar eigen behoefte & vereiste aanpassen en een emmer maken met verschillende parameters die in de create_bucket methode beschikbaar zijn.