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 *