GNU/Linux >> Tutoriales Linux >  >> Linux

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

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

  1. Cuenta de AWS (cree si no tiene una)
  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. Conocer los métodos requeridos.
  3. 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
)
  1. LCA:  La ACL enlatada para aplicar al depósito.
  2. 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.
  3. 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.
  4. GrantFullControl:  Permite al beneficiario los permisos de lectura, escritura, lectura de ACP y escritura de ACP en el depósito.
  5. Concesión de lectura : permite al beneficiario enumerar los objetos en el cubo.
  6. GrantReadACP: Permite al beneficiario leer la ACL del depósito.
  7. SubvenciónEscritura: 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.

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'
)
  1. 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.


Linux
  1. Cree una instancia EC2 en AWS usando Terraform

  2. Cómo crear una instancia RDS en AWS usando Terraform

  3. Cómo crear un rol de IAM en AWS usando Terraform

  4. Cómo crear un usuario de Linux usando Ansible

  5. Cómo crear un usuario en linux usando python

Cómo crear una instancia Amazon AWS EC2 usando Python Boto3

Cómo crear una instancia RDS usando Python Boto3 en AWS

Cómo crear una tabla de DynamoDB en AWS

Cómo administrar el estado de Terraform en un depósito de AWS S3

Cómo cambiar el tamaño de las imágenes usando Python

Cómo crear una partición usando el comando "partid"