Cómo crear un depósito S3 usando Python Boto3 en AWS

Instalar boto3

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 S3, pero si no está familiarizado con el servicio del depósito S3, haga clic aquí para aprender a crear un depósito desde la consola de AWS.

requisitos previos

  1. Cuenta AWS (Crear si no tienes uno)
  2. Comprensión básica de S3
  3. Comprensión básica de Python
  4. Python disponible en el sistema

Lo que haremos

  1. Instalar Boto3
  2. Conoce los métodos requeridos.
  3. Cree y elimine un depósito de 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.

que pitón
/usr/bin/python –versión

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.

La instalación de Boto3 es muy sencilla y directa. Para instalar Boto3 usa el siguiente comando.

pip instalar boto3

Instalar boto3

Para verificar si el Boto3 está instalado y su versión, ejecute el siguiente comando.

pepita mostrar boto3

pepita mostrar boto3

Conoce los métodos requeridos

Para crear un depósito, utilizaremos el método «create_bucket». A continuación se muestra la sintaxis del método con todos los parámetros que puede aceptar. No usaremos todos estos parámetros para crear un depósito, pero puede intentarlo si lo desea.

Solicitud de sintaxis 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
)
  1. LCA: La ACL enlatada para aplicar al depósito.
  2. Balde: El nombre del depósito que se va a crear. Debe ser único a nivel mundial y no puede haber 2 cubos con el mismo nombre.
  3. CreateBucketConfiguration: La información de configuración para el depósito.
    Restricción de ubicación: 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 cubos se crean aquí si no se especifica la región.
  4. GrantFullControl: Permite al beneficiario los permisos de lectura, escritura, lectura de ACP y escritura de ACP en el depósito.
  5. GrantRead: Permite al beneficiario enumerar los objetos en el depósito.
  6. GrantReadACP: Permite al beneficiario leer la ACL del depósito.
  7. SubvenciónEscribir: Permite al beneficiario crear, sobrescribir y eliminar cualquier objeto en el depósito.
  8. GrantWriteACP: Permite al beneficiario escribir la ACL para el depósito aplicable.
  9. ObjectLockEnabledForBucket: Especifica si desea que el bloqueo de objetos de S3 esté habilitado para el depósito nuevo.

A continuación se muestra la sintaxis del método para eliminar el depósito que creamos.

Solicitud de sintaxis del método delete_bucket

response = client.delete_bucket(
    Bucket='string'
)
  1. Balde: Especifica el depósito que se está eliminando. Debe especificar aquí el nombre de su S3 Bucket que desea eliminar.

Crear y eliminar un depósito de 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.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'

Crear depósito S3

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 definas en este archivo. Aquí, crearé un depósito 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)

Script de Python para crear un depósito S3

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)

Script de Python para eliminar un depósito S3

Ahora está listo para crear un cubo.

Para crear un depósito, ejecute el archivo «create-s3-bucket.py» con el siguiente comando.

python create-s3-bucket.py

Ejecute el script de creación de depósito

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

Ejecutar secuencia de comandos de eliminación de depósito

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *