Loading
Loading
AWS (Amazon Web Services) أكبر مزودي الكلاود في العالم، يوفر أكثر من 200 خدمة سحابية.
لا تستخدم Root Account في الأكواد أبداً — أنشئ IAM User بأقل الصلاحيات اللازمة.
import json
from typing import List, Dict
# ─── محاكاة AWS SDK (boto3) ────────────────────────────────
class AWSSession:
"""يمثّل boto3.Session"""
def __init__(self, region: str = "us-east-1"):
self.region = region
self._account_id = "123456789012"
def get_client(self, service: str):
return AWSClient(service, self.region)
def get_identity(self) -> dict:
return {
"Account": self._account_id,
"Arn": "arn:aws:iam::" + self._account_id + ":root",
"UserId": self._account_id,
}
class AWSClient:
_RESOURCES: Dict[str, List[str]] = {
"s3": ["ai-dataset-bucket", "ml-models-prod", "logs-archive"],
"bedrock": ["claude-3-haiku", "claude-3-sonnet", "amazon-titan"],
"lambda": ["chat-handler", "embed-function", "process-doc"],
}
_FREE_TIER = {
"ec2": "750 ساعة/شهر (t2.micro)",
"s3": "5 GB + 20,000 GET + 2,000 PUT",
"lambda": "1,000,000 استدعاء/شهر",
"dynamodb": "25 GB تخزين",
"bedrock": "مدفوع بالاستخدام (pay-per-token)",
}
def __init__(self, service: str, region: str):
self.service = service
self.region = region
def list_resources(self) -> List[str]:
return self._RESOURCES.get(self.service, [])
def get_free_tier(self) -> dict:
return self._FREE_TIER
# ─── الاتصال بـ AWS ────────────────────────────────────────
print("🔐 إنشاء جلسة AWS (boto3)...")
session = AWSSession(region="us-east-1")
identity = session.get_identity()
print(f"✅ متصل بـ AWS!")
print(f" Account : {identity['Account']}")
print(f" ARN : {identity['Arn']}")
print(f" Region : {session.region}")
# ─── استعراض الخدمات ───────────────────────────────────────
print(f"\n📦 الخدمات المتاحة:")
for svc in ["s3", "bedrock", "lambda"]:
client = session.get_client(svc)
resources = client.list_resources()
print(f" {svc.upper():<10} ({len(resources)} موارد)")
for r in resources:
print(f" • {r}")
# ─── Free Tier ─────────────────────────────────────────────
print(f"\n🎁 حدود AWS Free Tier:")
any_client = session.get_client("s3")
for svc, limit in any_client.get_free_tier().items():
print(f" {svc:<12} → {limit}")
# ─── أوامر CLI الأساسية ─────────────────────────────────────
print(f"\n💻 أوامر AWS CLI للبدء:")
commands = [
("تثبيت المكتبات", "pip install boto3 awscli"),
("إعداد المفاتيح", "aws configure"),
("اختبار الاتصال", "aws sts get-caller-identity"),
("قائمة S3", "aws s3 ls"),
("قائمة Lambda", "aws lambda list-functions --region us-east-1"),
]
for desc, cmd in commands:
print(f" # {desc}")
print(f" $ {cmd}")
print()
print("✅ AWS جاهز للاستخدام!")