مكتبة boto3
هي المكتبة الرسمية التي توفرها Amazon للتفاعل مع خدمات AWS باستخدام Python. هذه المكتبة تجعل من السهل التعامل مع خدمات AWS مثل S3، DynamoDB، EC2، وLambda، وغيرها. في هذا المقال، سنتعرف على كيفية إعداد مكتبة boto3
واستخدامها للتفاعل مع بعض الخدمات الشائعة في AWS.
إعداد مكتبة boto3
قبل البدء في استخدام boto3
، يجب عليك تثبيت المكتبة وإعداد بيانات الاعتماد الخاصة بك للوصول إلى خدمات AWS.
تثبيت boto3
يمكنك تثبيت boto3
باستخدام pip
، وهو مدير الحزم في Python:
pip install boto3
إعداد بيانات الاعتماد
للتفاعل مع AWS، ستحتاج إلى إعداد بيانات الاعتماد (Credentials) الخاصة بك. يمكنك القيام بذلك باستخدام aws configure
من سطر الأوامر:
aws configure
AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: us-west-2
Default output format [None]: json
بعد إدخال هذه المعلومات، سيتم تخزين بيانات الاعتماد الخاصة بك في ملف .aws/credentials
في مجلد المستخدم الخاص بك.
التفاعل مع S3 باستخدام boto3
S3 هو أحد خدمات التخزين السحابية الأكثر استخدامًا في AWS. يمكن استخدام boto3
لإدارة الملفات (المعروفة باسم “objects”) والمجلدات (المعروفة باسم “buckets”) في S3 بسهولة.
إنشاء Bucket جديد
لإنشاء Bucket
جديد في S3، يمكنك استخدام الكود التالي:
import boto3
# إنشاء عميل S3
s3_client = boto3.client('s3')
# إنشاء Bucket جديد
s3_client.create_bucket(Bucket='my-new-bucket', CreateBucketConfiguration={
'LocationConstraint': 'us-west-2'})
print('Bucket created successfully')
رفع ملف إلى S3
يمكنك رفع ملف إلى S3 باستخدام دالة upload_file
كما في المثال التالي:
# رفع ملف إلى S3
s3_client.upload_file('local_file.txt', 'my-new-bucket', 'uploaded_file.txt')
print('File uploaded successfully')
تحميل ملف من S3
لتحميل ملف من S3، يمكنك استخدام دالة download_file
:
# تحميل ملف من S3
s3_client.download_file('my-new-bucket', 'uploaded_file.txt', 'downloaded_file.txt')
print('File downloaded successfully')
التفاعل مع DynamoDB باستخدام boto3
DynamoDB هو قاعدة بيانات NoSQL تقدمها AWS. يمكن استخدام boto3
لإنشاء جداول وإدارة البيانات في DynamoDB.
إنشاء جدول في DynamoDB
لإنشاء جدول جديد في DynamoDB، يمكنك استخدام الكود التالي:
import boto3
# إنشاء عميل DynamoDB
dynamodb = boto3.resource('dynamodb')
# إنشاء جدول جديد
table = dynamodb.create_table(
TableName='MyTable',
KeySchema=[
{'AttributeName': 'id', 'KeyType': 'HASH'}
],
AttributeDefinitions=[
{'AttributeName': 'id', 'AttributeType': 'S'}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
print('Table created successfully')
إضافة عنصر إلى الجدول
لإضافة عنصر جديد إلى الجدول، يمكنك استخدام دالة put_item
:
# إضافة عنصر جديد إلى الجدول
table.put_item(Item={
'id': '123',
'name': 'John Doe',
'age': 30
})
print('Item added successfully')
قراءة عنصر من الجدول
للحصول على عنصر من الجدول باستخدام مفتاحه الأساسي، يمكنك استخدام دالة get_item
:
# قراءة عنصر من الجدول
response = table.get_item(Key={'id': '123'})
item = response['Item']
print(f"Item retrieved: {item}")
التفاعل مع EC2 باستخدام boto3
EC2 هي خدمة الحوسبة السحابية التي تتيح لك تشغيل خوادم افتراضية في AWS. يمكن استخدام boto3
لإدارة هذه الخوادم بطرق متعددة.
بدء تشغيل مثيل EC2
لتشغيل مثيل EC2، يمكنك استخدام الكود التالي:
import boto3
# إنشاء عميل EC2
ec2 = boto3.resource('ec2')
# بدء تشغيل مثيل EC2
instance = ec2.create_instances(
ImageId='ami-0abcdef1234567890',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro'
)
print(f"Instance started: {instance[0].id}")
إيقاف مثيل EC2
لإيقاف مثيل EC2 قيد التشغيل، يمكنك استخدام الكود التالي:
# إيقاف مثيل EC2
instance[0].stop()
print(f"Instance stopped: {instance[0].id}")
الخلاصة
في هذا المقال، تعلمنا كيفية استخدام مكتبة boto3
للتفاعل مع خدمات AWS باستخدام Python. لقد قمنا بتغطية كيفية إعداد boto3
، والتفاعل مع S3، DynamoDB، وEC2. بفضل boto3
، يمكنك التحكم في معظم خدمات AWS بسهولة من خلال تطبيقات Python الخاصة بك، مما يجعلها أداة قوية ومرنة لأي مطور يعمل على مشاريع تعتمد على السحابة.