GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un compartiment S3 à l'aide de Python Boto3 sur AWS

Dans cet article, nous allons apprendre à créer un bucket S3 à l'aide de la bibliothèque Python Boto3. Nous verrons également les étapes pour supprimer le bucket que nous avons créé. Nous utiliserons les méthodes "create_bucket" et "delete_bucket" pour créer et supprimer un bucket respectivement.

Avant de continuer, je suppose que vous connaissez le compartiment S3, mais si vous n'êtes pas familiarisé avec le service de compartiment S3, cliquez ici pour apprendre à créer un compartiment à partir de la console AWS.

Prérequis

  1. Compte AWS (créez-le si vous n'en avez pas)
  2. Compréhension de base de S3
  3. Compréhension de base de Python
  4. Python disponible sur le système

Ce que nous allons faire

  1. Installer Boto3
  2. Connaître les méthodes requises.
  3. Créer et supprimer un compartiment S3.

Installer les dépendances Boto3

Python est fourni par défaut dans Ubuntu Server, vous n'avez donc pas besoin de l'installer.

Pour vérifier la version de Python sur votre système, utilisez la commande suivante.

quel python
/usr/bin/python --version

OU

python --version

Si vous n'avez pas de pip et que vous utilisez Ubuntu, exécutez la commande suivante pour d'abord mettre à jour le dépôt local.

mise à jour sudo apt

Pour installer pip, utilisez la commande suivante.

sudo apt install python-pip

Pour vérifier la version de Pip installée, exécutez la commande suivante.

pip --version

Une fois que vous avez python et pip, vous pouvez installer Boto3.

L'installation de Boto3 est très simple et directe. Pour installer Boto3, utilisez la commande suivante.

pip installer boto3

Pour vérifier si le Boto3 est installé et sa version, exécutez la commande suivante.

pip montrer boto3

Connaître les méthodes requises

Pour créer un bucket, nous allons utiliser la méthode "create_bucket". Voici la syntaxe de la méthode avec tous les paramètres qu'elle peut accepter. Nous n'utiliserons pas tous ces paramètres pour créer un bucket, mais vous pouvez essayer si vous le souhaitez.

Demander la syntaxe de la méthode 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 prédéfinie à appliquer au bucket.
  2. Groupe :  Nom du compartiment à créer. Celui-ci doit être unique à l'échelle mondiale et deux buckets ne peuvent pas porter le même nom.
  3. Créer une configuration de compartiment :  Les informations de configuration du bucket.
    LocationConstraint :  Spécifie la région dans laquelle vous souhaitez créer un bucket. La région USA Est (Virginie du Nord) (us-east-1) est la région par défaut et les compartiments sont créés ici si la région n'est pas spécifiée.
  4. GrantFullControl :  Accorde au bénéficiaire les autorisations de lecture, d'écriture, de lecture ACP et d'écriture ACP sur le bucket.
  5. Accorder la lecture  : Autorise le bénéficiaire à répertorier les objets du bucket.
  6. GrantReadACP : Permet au bénéficiaire de lire l'ACL du bucket.
  7. GrantWrite : Permet au bénéficiaire de créer, écraser et supprimer n'importe quel objet dans le compartiment.
  8. GrantWriteACP : Permet au bénéficiaire d'écrire l'ACL pour le compartiment applicable.
  9. ObjectLockEnabledForBucket : Indique si vous souhaitez que le verrouillage d'objet S3 soit activé pour le nouveau compartiment.

Voici la syntaxe de la méthode pour supprimer le compartiment que nous avons créé.

Demander la syntaxe de la méthode delete_bucket

response = client.delete_bucket(
    Bucket='string'
)
  1. Groupe :  Spécifie le compartiment en cours de suppression. Vous devez spécifier ici le nom de votre compartiment S3 que vous souhaitez supprimer.

Créer et supprimer un compartiment S3

Créez un fichier "config.properties" qui contiendra votre utilisateur AWS aws_access_key_id_value, aws_secret_access_key_value et votre région. Ajoutez vos clés dans ce fichier.

config.propriétés

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'

Maintenant, créez un fichier "create-s3-bucket.py" et ajoutez-y le code suivant. Ce code lira les valeurs définies à l'étape précédente et créera un bucket avec le nom que vous définissez dans ce fichier. Ici, je vais créer un bucket nommé "rahul-boto3-test-delete", remplacez-le par celui que vous voulez.

vim créer-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)

Créez un fichier "delete-s3-bucket.py" qui contiendra le code pour supprimer un bucket. Copiez-collez-y le code suivant.

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)

Vous êtes maintenant prêt à créer un compartiment.

Pour créer un compartiment, exécutez le fichier "create-s3-bucket.py" à l'aide de la commande suivante.

python create-s3-bucket.py

Si vous n'avez plus besoin du bucket et que vous souhaitez le supprimer, exécutez le fichier "delete-s3-bucket.py" à l'aide de la commande suivante.

python delete-s3-bucket.py

Conclusion

Nous avons vu à quel point il est facile de créer un bucket S3 à l'aide de la bibliothèque Boto3 de Python et également de le supprimer. Nous avons créé un compartiment simple, vous pouvez personnaliser le code selon vos besoins et vos exigences et créer un compartiment en utilisant différents paramètres disponibles dans la méthode create_bucket.


Linux
  1. Créer une instance EC2 sur AWS à l'aide de Terraform

  2. Comment créer une instance RDS sur AWS à l'aide de Terraform

  3. Comment créer un rôle IAM dans AWS à l'aide de Terraform

  4. Comment créer un dictionnaire Python

  5. Comment créer un utilisateur sous Linux en utilisant Python

Comment créer une instance Amazon AWS EC2 à l'aide de Python Boto3

Comment créer une instance RDS à l'aide de Python Boto3 sur AWS

Comment créer une table DynamoDB dans AWS

Comment gérer l'état de Terraform dans un compartiment AWS S3

Comment redimensionner des images à l'aide de Python

Comment créer une partition à l'aide de la commande "parted"