راهنمای یکپارچه‌سازی بدون سرور AWS Lambda

سیستم‌های معاملاتی مبتنی بر رویداد با AWS Lambda بسازید. ربات‌های معاملاتی را با سیگنال‌های نهنگ‌ها فعال کنید، جریان‌های داده‌های بلادرنگ را پردازش کنید و گردش کارهای پیچیده را بدون مدیریت زیرساخت خودکار کنید.

منتشر شده در 21 مارس 2026 17 دقیقه مطالعه پیشرفته

مزایای معماری بدون سرور

AWS Lambda به شما امکان می‌دهد کد را بدون مدیریت سرور اجرا کنید. برای یکپارچه‌سازی‌های Smart Money API عالی است زیرا فقط برای زمان اجرا پرداخت می‌کنید. وقتی سیگنال نهنگ می‌رسد، Lambda بیدار می‌شود، آن را پردازش می‌کند، ممکن است یک معامله را فعال کند، سپس به خواب می‌رود.

مزایای کلیدی

  • عدم نیاز به مدیریت سرور — AWS مقیاس‌دهی و زیرساخت را مدیریت می‌کند
  • صرفه‌جویی در هزینه — به ازای هر 100 میلی‌ثانیه اجرا، 0.20 دلار به ازای هر میلیون فراخوانی پرداخت کنید
  • مقیاس‌دهی خودکار — به صورت خودکار با افزایش ترافیک مقابله می‌کند
  • تأخیر کم — در عرض میلی‌ثانیه‌ها پس از رسیدن سیگنال فعال می‌شود
  • یکپارچه‌سازی با سرویس‌های AWS — به DynamoDB، SNS، SQS، S3، CloudWatch متصل شوید
  • لاگ‌گیری داخلی — یکپارچه‌سازی با CloudWatch برای دیباگ و مانیتورینگ

راه‌اندازی نهادی: یک صندوق رمزنگاری 3 تابع Lambda اجرا می‌کند: پردازشگر سیگنال (سیگنال‌ها را اعتبارسنجی و فیلتر می‌کند)، اجراکننده معامله (سفارشات را ثبت می‌کند) و مانیتور ریسک (محدودیت‌های موقعیت را بررسی می‌کند). همه توسط وب‌هوک‌های Smart Money API فعال می‌شوند. هزینه کل: 12 دلار در ماه برای 10 میلیون فراخوانی.

موارد استفاده معمول

  • پردازش سیگنال‌های نهنگ و ارسال به ربات معاملاتی
  • اعتبارسنجی سیگنال‌ها در برابر محدودیت‌های ریسک قبل از اجرا
  • ثبت تمام سیگنال‌ها در DynamoDB برای تحلیل تاریخی
  • ارسال هشدار به تیم از طریق SNS یا Slack
  • تحلیل الگوهای سیگنال و به‌روزرسانی پارامترهای استراتژی

راه‌اندازی اولیه AWS

مرحله 1: ایجاد حساب AWS

حساب AWS را در aws.amazon.com ایجاد کنید. سطح رایگان شامل 1 میلیون فراخوانی Lambda در ماه است که برای تست عالی است.

مرحله 2: دسترسی به کنسول Lambda

به AWS Console وارد شوید، به سرویس Lambda بروید. روی "Create function" کلیک کنید.

مرحله 3: انتخاب زمان اجرا

Python 3.11 را انتخاب کنید (توصیه شده برای معاملات رمزنگاری). Node.js 18 نیز کار می‌کند. از زمان‌های اجرای قدیمی‌تر اجتناب کنید زیرا ممکن است آسیب‌پذیری‌های امنیتی داشته باشند.

مرحله 4: پیکربندی نقش اجرایی

Lambda به نقش IAM با مجوزهای مناسب نیاز دارد. بخش پیکربندی IAM را در زیر ببینید.

کلید API خود را در 30 ثانیه دریافت کنید

این یکپارچه‌سازی را در عرض چند دقیقه به داده‌های زنده متصل کنید. کلید API رایگان، 100 فراخوانی در روز، بدون نیاز به کارت.

دریافت کلید API →

نقش‌ها و مجوزهای IAM

سیاست حداقل مجوزها

یک سیاست IAM با فقط مجوزهای لازم ایجاد کنید (اصل حداقل امتیاز):

سیاست IAM Lambda
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": ["dynamodb:PutItem"],
"Resource": "arn:aws:dynamodb:us-east-1:*:table/whale-signals"
}
]
}

بهترین روش‌ها

  • استفاده از نقش‌های جداگانه — توابع Lambda مختلف باید نقش‌های مختلف داشته باشند
  • حداقل امتیاز — فقط مجوزهای واقعاً مورد نیاز را اعطا کنید
  • اجتناب از کاراکترهای * — به جای آن منابع دقیق را مشخص کنید
  • چرخش اعتبارنامه‌ها — کلیدهای API را در AWS Secrets Manager ذخیره کنید، نه در کد

نوشتن توابع Lambda

تابع 1: پردازشگر سیگنال

وب‌هوک را از Smart Money API دریافت می‌کند، سیگنال را اعتبارسنجی می‌کند، در DynamoDB ثبت می‌کند:

lambda_handler.py
import json, boto3, os
from datetime import datetime
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('whale-signals')
def lambda_handler(event, context):
try:
body = json.loads(event['body'])
signal = body['signal_type']
confidence = float(body['confidence'])
# فقط سیگنال‌های با اطمینان بالا را پردازش کنید
if confidence < 0.70:
return {'statusCode': 200, 'body': 'Ignored'}
# ثبت در DynamoDB
table.put_item(Item={
'timestamp': datetime.now().isoformat(),
'signal': signal,
'confidence': confidence
})
return {'statusCode': 200, بدن: پردازش شده}
به جز استثنا به عنوان e:
print(fخطا: {e})
بازگشت {statusCode: 500, بدن: خطا}

تابع ۲: اجراکننده معامله

سیگنال تأیید شده را دریافت می‌کند، محدودیت‌های ریسک را بررسی می‌کند و معامله را با API صرافی انجام می‌دهد:

  • اعتبارسنجی اندازه موقعیت نسبت به موجودی حساب
  • بررسی سطح استاپ لاس و تیک پروفیت
  • فراخوانی API صرافی برای ثبت سفارشات محدود
  • ثبت اجرا در ردپای حسابرسی
  • ارسال تأیید به Slack

تابع ۳: مانیتور ریسک

به صورت دوره‌ای (هر ۵ دقیقه) اجرا می‌شود تا ریسک پرتفوی را بررسی کند:

  • پرس‌وجوی تمام موقعیت‌های باز
  • محاسبه دلتا و گامای پرتفوی
  • اگر اهرم > آستانه باشد، موقعیت را کاهش دهید
  • در صورت نقض محدودیت‌های ریسک، به تیم هشدار دهید

راه‌اندازی API Gateway

ایجاد نقطه پایانی HTTP

API Gateway، Lambda را به عنوان نقطه پایانی HTTP در معرض قرار می‌دهد که Smart Money API می‌تواند به آن وب‌هوک کند:

  1. ایجاد API REST جدید در API Gateway
  2. ایجاد متد POST اشاره‌گر به تابع Lambda
  3. پیکربندی نوع یکپارچه‌سازی = تابع Lambda
  4. استقرار در مرحله (مثلاً "production")
  5. کپی URL: https://xyz.execute-api.us-east-1.amazonaws.com/production

احراز هویت کلید API

محافظت از نقطه پایانی با کلید API تا فقط Smart Money API بتواند آن را فراخوانی کند:

امنیت API Gateway
۱. ایجاد کلید API در کنسول API Gateway
۲. ایجاد برنامه استفاده، پیوست کلید API
۳. فعال‌سازی نیاز به کلید API روی متد
۴. Smart Money API کلید را در هدر قرار می‌دهد: x-api-key

پیکربندی CORS

اگر از مرورگر فراخوانی می‌کنید، CORS را فعال کنید:

  • Access-Control-Allow-Origin: *
  • Access-Control-Allow-Headers: Content-Type
  • Access-Control-Allow-Methods: POST

معماری رویداد-محور

وب‌هوک Smart Money → API Gateway → Lambda

فراخوانی همزمان. سیگنال می‌رسد، Lambda بلافاصله پردازش می‌کند و پاسخ را به Smart Money API برمی‌گرداند.

ماشه‌های زمان‌بندی شده (EventBridge)

اجرای Lambda بر اساس برنامه (مثلاً مانیتور ریسک هر ۵ دقیقه):

قانون EventBridge
زمان‌بندی: rate(5 دقیقه)
هدف: تابع Lambda risk-monitor

یکپارچه‌سازی صف SQS

برای سیگنال‌های پرحجم، از صف SQS به عنوان بافر استفاده کنید:

  • Smart Money API → موضوع SNS → صف SQS
  • Lambda هر ۱۰ ثانیه صف را پرس‌وجو می‌کند
  • سیگنال‌ها را با سرعت خود پردازش کنید
  • از اشباع Lambda جلوگیری می‌کند

استقرار و مدیریت

استفاده از SAM (مدل برنامه‌های بدون سرور)

استقرار زیرساخت به عنوان کد با استفاده از AWS SAM:

sam-template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
ProcessSignalFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.lambda_handler
Runtime: python3.11
Timeout: 10
Events:
ApiEvent:
Type: Api
Properties:
Path: /webhook
Method: POST

کنترل نسخه و CI/CD

استفاده از GitHub + AWS CodePipeline برای استقرار خودکار:

  1. ارسال کد به مخزن GitHub
  2. CodePipeline تغییرات را تشخیص می‌دهد
  3. CodeBuild تست‌ها را اجرا و بسته‌بندی می‌کند
  4. CodeDeploy در Lambda مستقر می‌شود
  5. عقب‌گرد خودکار در صورت شکست

متغیرهای محیطی

ذخیره اسرار در AWS Secrets Manager، نه در کد:

  • SMART_MONEY_API_KEY — از Secrets Manager در Lambda دریافت کنید
  • EXCHANGE_API_KEY — ذخیره ایمن
  • DYNAMODB_TABLE — ارجاع از پارامتر CloudFormation

مانیتورینگ و اشکال‌زدایی

لاگ‌های CloudWatch

Lambda به طور خودکار در CloudWatch لاگ می‌کند. برای خطاها لاگ‌ها را بررسی کنید:

  • کلیک روی تابع در کنسول Lambda
  • رفتن به تب Monitor → مشاهده لاگ‌ها در CloudWatch
  • جستجوی خطاها یا استثناها

معیارهای سفارشی

ارسال معیارهای سفارشی به CloudWatch برای مانیتورینگ:

معیارهای سفارشی
cloudwatch = boto3.client('cloudwatch')
cloudwatch.put_metric_data(
Namespace='SmartMoney',
MetricData=[{
'MetricName': 'SignalsProcessed',
'Value': 1
}]
)

هشدارهای CloudWatch

هشدار زمانی که تابع Lambda با خطا مواجه می‌شود یا کند می‌شود:

  • نرخ خطا > ۱٪
  • مدت زمان > ۵ ثانیه
  • وقوع محدودیت
  • خطاهای زمان‌بندی

ردیابی X-Ray

فعال‌سازی X-Ray برای ردیابی توزیع‌شده در میان سرویس‌ها:

  • مشاهده مدت زمان هر عملیات
  • شناسایی گلوگاه‌ها
  • رفع مشکلات یکپارچه‌سازی

بینش عملیاتی: گران‌ترین اشتباهات لامبدا هزینه‌های محاسباتی نیستند— بلکه باگ‌هایی هستند که باعث معاملات بد می‌شوند. به شدت روی مانیتورینگ، لاگ‌گیری و تست‌ها سرمایه‌گذاری کنید. بهتر است ۵۰ دلار در ماه برای CloudWatch هزینه کنید تا ۵۰۰۰ دلار برای یک اشتباه معاملاتی.

ساخت زیرساخت معاملاتی بدون سرور

اجرای سیستم‌های معاملاتی رویداد‌محور روی AWS Lambda. پردازش سیگنال‌های نهنگ‌ها، اجرای معاملات و نظارت بر ریسک بدون مدیریت سرورها.

مشاهده طرح‌های قیمت‌گذاری
طرح Pro برای تحویل وب‌هوک توصیه می‌شود. هزینه Lambda: حدود ۱ تا ۵ دلار در ماه برای حجم‌های معاملاتی معمولی.

راهنماهای مرتبط با زیرساخت

شروع رایگان — ۵۰ درخواست در روز، بدون نیاز به کارت

دریافت جریان زنده نهنگ‌ها، تأمین مالی، سود باز و داده‌های زنجیره‌ای از ۳ صرافی از طریق یک API. سطح رایگان، بدون نیاز به کارت اعتباری، ارتقا در هر زمان.

شروع رایگان →
امتحان کنسول زنده API → (بدون نیاز به حساب کاربری)