En este artículo, aprenderemos a crear un depósito S3 utilizando la biblioteca Python Boto3. También veremos los pasos para eliminar el depósito que creamos. Usaremos los métodos "create_bucket" y "delete_bucket" para crear y eliminar un depósito respectivamente.
Antes de continuar, asumo que está familiarizado con el depósito de S3, pero si no está familiarizado con el servicio de depósito de S3, haga clic aquí para aprender a crear un depósito desde la consola de AWS.
Requisitos previos
- Cuenta de AWS (cree si no tiene una)
- Comprensión básica de S3
- Comprensión básica de Python
- Python disponible en el sistema
Lo que haremos
- Instalar Boto3
- Conocer los métodos requeridos.
- Cree y elimine un depósito S3.
Instalar dependencias de Boto3
Python viene de forma predeterminada en Ubuntu Server, por lo que no necesita instalarlo.
Para verificar la versión de Python en su sistema, use el siguiente comando.
qué python
/usr/bin/python --version
O
python --versión
Si no tiene pip y está usando Ubuntu, ejecute el siguiente comando para actualizar primero el repositorio local.
sudo apt actualizar
Para instalar pip, use el siguiente comando.
sudo apt install python-pip
Para verificar la versión de Pip instalada, ejecute el siguiente comando.
pip --versión
Una vez que tenga python y pip, puede instalar Boto3.
Instalar Boto3 es muy sencillo y directo. Para instalar Boto3 usa el siguiente comando.
pip instalar boto3
Para verificar si el Boto3 está instalado y su versión, ejecute el siguiente comando.
pip muestra boto3
Conocer los métodos requeridos
Para crear un cubo, usaremos el método "create_bucket". A continuación se muestra la sintaxis del método con todos los parámetros que puede aceptar. No utilizaremos todos estos parámetros para crear un depósito, pero puede intentarlo si lo desea.
Sintaxis de solicitud del método 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 )
- LCA: La ACL enlatada para aplicar al depósito.
- Contenedor: El nombre del depósito que se va a crear. Debe ser único a nivel mundial y no puede haber 2 depósitos con el mismo nombre.
- Crear configuración de depósito: La información de configuración del depósito.
LocationConstraint: Especifica la región en la que desea crear un depósito. La región EE. UU. Este (Norte de Virginia) (us-east-1) es la región predeterminada y los depósitos se crean aquí si no se especifica la región. - GrantFullControl: Permite al beneficiario los permisos de lectura, escritura, lectura de ACP y escritura de ACP en el depósito.
- Concesión de lectura : permite al beneficiario enumerar los objetos en el cubo.
- GrantReadACP: Permite al beneficiario leer la ACL del depósito.
- SubvenciónEscritura: Permite al beneficiario crear, sobrescribir y eliminar cualquier objeto en el depósito.
- GrantWriteACP: Permite al beneficiario escribir la ACL para el depósito aplicable.
- ObjectLockEnabledForBucket: Especifica si desea que el bloqueo de objetos de S3 esté habilitado para el depósito nuevo.
La siguiente es la sintaxis del método para eliminar el depósito que creamos.
Sintaxis de solicitud del método delete_bucket
response = client.delete_bucket( Bucket='string' )
- Contenedor: Especifica el depósito que se está eliminando. Debe especificar aquí el nombre de su depósito S3 que desea eliminar.
Crear y eliminar un depósito S3
Cree el archivo "config.properties" que contendrá su usuario de AWS aws_access_key_id_value, aws_secret_access_key_value y región. Agregue sus claves en este archivo.
config.propiedades
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'
Ahora, cree un archivo "create-s3-bucket.py" y agregue el siguiente código en él. Este código leerá los valores definidos en el paso anterior y creará un depósito con el nombre que defina en este archivo. Aquí, crearé un cubo llamado "rahul-boto3-test-delete", cámbielo por el que desee.
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)
Cree un archivo "delete-s3-bucket.py" que contendrá el código para eliminar un depósito. Copie y pegue el siguiente código en él.
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)
Ahora está listo para crear un cubo.
Para crear un depósito, ejecuta el archivo "create-s3-bucket.py" usando el siguiente comando.
python create-s3-bucket.py
Si ya no necesita el depósito y desea eliminarlo, ejecute el archivo "delete-s3-bucket.py" con el siguiente comando.
python delete-s3-bucket.py
Conclusión
Vimos lo fácil que es crear un depósito S3 utilizando la biblioteca Boto3 de Python y también eliminarlo. Creamos un depósito simple, puede personalizar el código según sus necesidades y requisitos y crear un depósito utilizando diferentes parámetros disponibles en el método create_bucket.