In questo articolo impareremo a creare un bucket S3 usando la libreria Python Boto3. Vedremo anche i passaggi per eliminare il bucket che abbiamo creato. Utilizzeremo i metodi "create_bucket" e "delete_bucket" rispettivamente per creare ed eliminare un bucket.
Prima di procedere, presumo che tu abbia familiarità con il bucket S3, ma se non hai familiarità con il servizio del bucket S3, fai clic qui per imparare a creare un bucket dalla Console AWS.
Prerequisiti
- Account AWS (crea se non ne hai uno)
- Comprensione di base di S3
- Comprensione di base di Python
- Python disponibile sul sistema
Cosa faremo
- Installa Boto3
- Conosci i metodi richiesti.
- Crea ed elimina un bucket S3.
Installa le dipendenze di Boto3
Python viene fornito per impostazione predefinita in Ubuntu Server, quindi non è necessario installarlo.
Per verificare la versione di Python sul tuo sistema, usa il comando seguente.
quale python
/usr/bin/python --version
O
python --versione
Se non hai pip e stai usando Ubuntu, esegui il comando seguente per aggiornare prima il repository locale.
sudo apt update
Per installare pip, usa il comando seguente.
sudo apt install python-pip
Per verificare la versione di Pip installata, esegui il comando seguente.
pip --versione
Una volta che hai python e pip, puoi installare Boto3.
L'installazione di Boto3 è molto semplice e diretta. Per installare Boto3 usa il seguente comando.
pip installa boto3
Per verificare se il Boto3 è installato e la sua versione, eseguire il comando seguente.
pip mostra boto3
Conoscere i metodi richiesti
Per creare un bucket, utilizzeremo il metodo "create_bucket". Di seguito è riportata la sintassi del metodo con tutti i parametri che può accettare. Non useremo tutti questi parametri per creare un Bucket, ma puoi provare se vuoi.
Richiedi sintassi del metodo 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: L'ACL in scatola da applicare al bucket.
- Secchio: Il nome del bucket da creare. Deve essere univoco a livello globale e non possono esserci 2 bucket con lo stesso nome.
- CreateBucketConfiguration: Le informazioni di configurazione per il bucket.
LocationConstraint: Specifica la regione in cui vuoi creare un bucket. La regione Stati Uniti orientali (Virginia settentrionale) (us-east-1) è la regione predefinita e i bucket vengono creati qui se la regione non è specificata. - GrantFullControl: Consente al concedente le autorizzazioni di lettura, scrittura, lettura ACP e scrittura ACP sul bucket.
- GrantRead : consente al beneficiario di elencare gli oggetti nel bucket.
- GrantReadACP: Consente al beneficiario di leggere l'ACL del bucket.
- GrantWrite: Consente al beneficiario di creare, sovrascrivere ed eliminare qualsiasi oggetto nel bucket.
- GrantWriteACP: Consente al beneficiario di scrivere l'ACL per il bucket applicabile.
- ObjectLockEnabledForBucket: Specifica se desideri abilitare S3 Object Lock per il nuovo bucket.
Di seguito è riportata la sintassi del metodo per eliminare il bucket che abbiamo creato.
Richiedi sintassi del metodo delete_bucket
response = client.delete_bucket( Bucket='string' )
- Secchio: Specifica il bucket da eliminare. Devi specificare qui il nome del tuo bucket S3 che desideri eliminare.
Crea ed elimina un bucket S3
Crea il file "config.properties" che conterrà il tuo AWS User aws_access_key_id_value ,aws_secret_access_key_value e regione. Aggiungi le tue chiavi in questo file.
config.proprietà
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'
Ora crea un file "create-s3-bucket.py" e aggiungi il seguente codice al suo interno. Questo codice leggerà i valori definiti nel passaggio precedente e creerà un bucket con il nome che definisci in questo file. Qui creerò un bucket chiamato "rahul-boto3-test-delete", cambiarlo in quello che desideri.
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)
Crea un file "delete-s3-bucket.py" che conterrà il codice per eliminare un bucket. Copia e incolla il codice seguente.
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)
Ora sei pronto per creare un bucket.
Per creare un bucket, esegui il file "create-s3-bucket.py" utilizzando il comando seguente.
python create-s3-bucket.py
Se non hai più bisogno del bucket e desideri eliminarlo, esegui il file "delete-s3-bucket.py" utilizzando il comando seguente.
python delete-s3-bucket.py
Conclusione
Abbiamo visto quanto sia facile creare un bucket S3 utilizzando la libreria Boto3 di Python e anche eliminarlo. Abbiamo creato un semplice bucket, puoi personalizzare il codice in base alle tue esigenze e requisiti e creare un bucket utilizzando diversi parametri disponibili nel metodo create_bucket.