GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un bucket S3 utilizzando Python Boto3 su AWS

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

  1. Account AWS (crea se non ne hai uno)
  2. Comprensione di base di S3
  3. Comprensione di base di Python
  4. Python disponibile sul sistema

Cosa faremo

  1. Installa Boto3
  2. Conosci i metodi richiesti.
  3. 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
)
  1. ACL:  L'ACL in scatola da applicare al bucket.
  2. Secchio:  Il nome del bucket da creare. Deve essere univoco a livello globale e non possono esserci 2 bucket con lo stesso nome.
  3. 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.
  4. GrantFullControl:  Consente al concedente le autorizzazioni di lettura, scrittura, lettura ACP e scrittura ACP sul bucket.
  5. GrantRead : consente al beneficiario di elencare gli oggetti nel bucket.
  6. GrantReadACP: Consente al beneficiario di leggere l'ACL del bucket.
  7. GrantWrite: Consente al beneficiario di creare, sovrascrivere ed eliminare qualsiasi oggetto nel bucket.
  8. GrantWriteACP: Consente al beneficiario di scrivere l'ACL per il bucket applicabile.
  9. 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'
)
  1. 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.


Linux
  1. Crea un'istanza EC2 su AWS utilizzando Terraform

  2. Come creare un'istanza RDS su AWS utilizzando Terraform

  3. Come creare un utente Linux usando Ansible

  4. Come creare un dizionario Python

  5. Come creare un utente in Linux usando Python

Come creare un'istanza Amazon AWS EC2 utilizzando Python Boto3

Come creare un'istanza RDS utilizzando Python Boto3 su AWS

Come creare una tabella DynamoDB in AWS

Come gestire lo stato di terraform in un bucket AWS S3

Come ridimensionare le immagini usando Python

Come creare una partizione usando il comando "separato".