V tomto článku se naučíme vytvořit bucket S3 pomocí knihovny Python Boto3. Uvidíme také kroky k odstranění kbelíku, který jsme vytvořili. K vytvoření a odstranění bucketu použijeme metody „create_bucket“ a „delete_bucket“.
Než budeme pokračovat, předpokládám, že jste obeznámeni s bucketem S3, ale pokud službu S3 bucket neznáte, klikněte sem a naučte se vytvořit bucket z AWS Console.
Předpoklady
- Účet AWS (vytvořte si jej, pokud jej nemáte)
- Základní pochopení S3
- Základní pochopení jazyka Python
- Python dostupný v systému
Co uděláme
- Nainstalujte Boto3
- Znáte požadované metody.
- Vytvořte a odstraňte segment S3.
Instalovat závislosti Boto3
Python je standardně dodáván na serveru Ubuntu, takže jej nemusíte instalovat.
Pro kontrolu verze Pythonu ve vašem systému použijte následující příkaz.
který python
/usr/bin/python --version
NEBO
python --version
Pokud nemáte pip a používáte Ubuntu, spusťte následující příkaz a nejprve aktualizujte místní repo.
aktualizace sudo apt
Pro instalaci pip použijte následující příkaz.
sudo apt install python-pip
Chcete-li zkontrolovat nainstalovanou verzi Pipu, spusťte následující příkaz.
pip --version
Jakmile budete mít python a pip, můžete nainstalovat Boto3.
Instalace Boto3 je velmi jednoduchá a přímočará. Pro instalaci Boto3 použijte následující příkaz.
pip install boto3
Chcete-li zkontrolovat, zda je nainstalován Boto3 a jeho verze, spusťte následující příkaz.
pip show boto3
Znáte požadované metody
K vytvoření bucketu použijeme metodu "create_bucket". Následuje syntaxe metody se všemi parametry, které může přijmout. K vytvoření segmentu nepoužijeme všechny tyto parametry, ale pokud chcete, můžete to zkusit.
Požadavek na syntaxi metody 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: Předpřipravený seznam ACL, který se má použít na kbelík.
- Segment: Název kbelíku, který se má vytvořit. Toto musí být celosvětově jedinečné a žádné 2 segmenty nemohou mít stejný název.
- CreateBucketConfiguration: Informace o konfiguraci pro segment.
LocationConstraint: Určuje oblast, kde chcete vytvořit segment. Východní region USA (Severní Virginie) (us-east-1) je výchozí region a segmenty se vytvoří zde, pokud region není specifikován.. - GrantFullControl: Umožňuje příjemci oprávnění číst, zapisovat, číst ACP a zapisovat ACP v bloku.
- GrantRead : Umožňuje příjemci grantu uvést seznam objektů v segmentu.
- GrantReadACP: Umožňuje příjemci grantu číst seznam ACL.
- GrantWrite: Umožňuje příjemci grantu vytvářet, přepisovat a mazat jakýkoli objekt v bloku.
- GrantWriteACP: Umožňuje příjemci grantu napsat seznam ACL pro příslušný segment.
- ObjectLockEnabledForBucket: Určuje, zda chcete, aby byl pro nový segment povolen S3 Object Lock.
Následuje syntaxe metody pro smazání segmentu, který jsme vytvořili.
Vyžádat syntaxi metody delete_bucket
response =client.delete_bucket( Bucket='string')
- Segment: Určuje mazaný segment. Zde musíte zadat název vašeho S3 Bucket, který chcete smazat.
Vytvoření a smazání bloku S3
Vytvořte soubor „config.properties“, který bude obsahovat hodnotu vašeho AWS User aws_access_key_id_value, aws_secret_access_key_value a region. Přidejte své klíče do tohoto souboru.
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'
Nyní vytvořte soubor „create-s3-bucket.py“ a přidejte do něj následující kód. Tento kód načte hodnoty definované v předchozím kroku a vytvoří segment s názvem, který definujete v tomto souboru. Zde vytvořím kbelík s názvem „rahul-boto3-test-delete“, změňte jej na požadovaný.
vim create-s3-bucket.py
import boto3def getVarFromFile(název souboru):import imp f =open(název souboru) globální data data =imp.load_source('data', '', f) f.close()getVarFromFile('config.properties')client =boty 3', },)tisk (odpověď)
Vytvořte soubor „delete-s3-bucket.py“, který bude obsahovat kód pro smazání segmentu. Zkopírujte a vložte do něj následující kód.
vim delete-s3-bucket.py
def getVarFromFile(název souboru):import imp f =open(název souboru) globální 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-test-predelete')print (response')
Nyní jste připraveni vytvořit kbelík.
Chcete-li vytvořit segment, spusťte soubor „create-s3-bucket.py“ pomocí následujícího příkazu.
python create-s3-bucket.py
Pokud kbelík již nepotřebujete a chcete jej smazat, spusťte soubor „delete-s3-bucket.py“ pomocí následujícího příkazu.
python delete-s3-bucket.py
Závěr
Viděli jsme, jak snadné je vytvořit kbelík S3 pomocí knihovny Boto3 v Pythonu a také jej odstranit. Vytvořili jsme jednoduchý bucket, můžete si upravit kód podle svých potřeb a požadavků a vytvořit bucket pomocí různých parametrů dostupných v metodě create_bucket.
Linux