AWS Lambda Serverless Integration Guide

AWS Lambda සමඟ සිදුවීම්-චාලක වෙළඳ පද්ධති ගොඩනඟන්න. තල්මසුන් සංඥා මත වෙළඳ බොට් අවුලුවන්න, තාත්වික කාල දත්ත ධාරා සකසන්න, සහ යටිතල පහසුකම් කළමනාකරණය නොකර සංකීර්ණ ක්‍රියාවලි ස්වයංක්‍රීය කරන්න.

පළ කළ දිනය මාර්තු 21, 2026 විනාඩි 17 ක කියවීම උසස් මට්ටමේ

Serverless ගෘහ නිර්මාණ ශිල්පයේ ප්‍රතිලාභ

AWS Lambda ඔබට සේවාදායක කළමනාකරණය නොකර කේතය ධාවනය කිරීමට ඉඩ සලසයි. Smart Money API අනුකලන සඳහා පරිපූර්ණයි මන්ද ඔබ ගෙවන්නේ ක්‍රියාත්මක කිරීමේ කාලය සඳහා පමණි. තල්මසා සංඥාවක් ලැබෙන විට, Lambda අවදි වී, එය සකසයි, වෙළඳ ක්‍රියාවක් අවුලුවිය හැකිය, පසුව නැවත නිදා යයි.

ප්‍රධාන වාසි

  • සේවාදායක කළමනාකරණය අවශ්‍ය නැත — AWS පරිමාණය සහ යටිතල පහසුකම් හසුරුවයි
  • පිරිවැය කාර්යක්ෂමතාව — ක්‍රියාත්මක කිරීමේ මිලි තත්පර 100කට ගෙවන්න, ගණන් කිරීම් මිලියනයකට $0.20
  • ස්වයං-පරිමාණය — ගණනය කිරීම් විශාල වශයෙන් වැඩිවීම ස්වයංක්‍රීයව හසුරුවයි
  • අඩු ප්‍රමාදය — සංඥා ලැබීමෙන් මිලි තත්පර කිහිපයකින් අවුලුවයි
  • AWS සේවා සමඟ අනුකලනය — DynamoDB, SNS, SQS, S3, CloudWatch වෙත සම්බන්ධ වන්න
  • අභ්‍යන්තර ලොග් කිරීම — දෝෂ නිරාකරණය සහ මෙනෙහි කිරීම සඳහා CloudWatch අනුකලනය

සංස්ථාගත සැකසුම: ක්‍රිප්ටෝ අරමුදලක් Lambda කාර්යයන් 3 ක් ධාවනය කරයි: සංඥා සකසන්නා (සංඥා වලංගු කර පෙරහන් කරයි), වෙළඳ ක්‍රියාකාරි (ඇණවුම් තබයි), සහ අවදානම් නිරීක්ෂක (ස්ථාන සීමා පරීක්ෂා කරයි). සියල්ල Smart Money API වෙබ්හුක් මගින් අවුලුවනු ලැබේ. මුළු පිරිවැය: ගණන් කිරීම් මිලියන 10කට $12/මාසය.

සාමාන්‍ය භාවිත අවස්ථා

  • තල්මසුන් සංඥා සකසා වෙළඳ බොට් වෙත යොමු කරන්න
  • ක්‍රියාත්මක කිරීමට පෙර සංඥා අවදානම් සීමාවන්ට එරෙහිව වලංගු කරන්න
  • සියලුම සංඥා DynamoDB වෙත ලොග් කර ඓතිහාසික විශ්ලේෂණය සඳහා ගබඩා කරන්න
  • SNS හෝ Slack හරහා කණ්ඩායමට ඇඟවීම් යවන්න
  • සංඥා රටා විශ්ලේෂණය කර උපාය මාර්ග පරාමිතීන් යාවත්කාලීන කරන්න

මුල් AWS සැකසුම

පියවර 1: AWS ගිණුම සාදන්න

aws.amazon.com වෙත AWS ගිණුමක් සාදන්න. නොමිලේ තලය මාසයකට Lambda ගණන් කිරීම් මිලියන 1 ක් ඇතුළත් වන අතර, පරීක්ෂණ සඳහා පරිපූර්ණයි.

පියවර 2: Lambda Console වෙත ප්‍රවේශ වන්න

AWS Console වෙත පිවිස, Lambda සේවය වෙත සංචලනය කරන්න. "Create function" ක්ලික් කරන්න.

පියවර 3: Runtime තෝරන්න

Python 3.11 තෝරන්න (ක්‍රිප්ටෝ වෙළඳාම සඳහා නිර්දේශිතයි). Node.js 18 ද ක්‍රියා කරයි. පැරණි runtimes වලකන්න මන්ද ඒවාට ආරක්ෂණ අවදානම් තිබිය හැකිය.

පියවර 4: ක්‍රියාත්මක කිරීමේ භූමිකාව වින්‍යාස කරන්න

Lambda සඳහා සුදුසු අවසර සහිත IAM භූමිකාවක් අවශ්‍යයි. පහත IAM වින්‍යාසය බලන්න.

තත්පර 30 කින් ඔබගේ API යතුර ලබා ගන්න

මිනිත්තු කිහිපයකින් මෙම අනුකලනය සජීවී දත්ත වෙත සම්බන්ධ කරන්න. නොමිලේ API යතුර, දිනකට ඇමතුම් 50, කාඩ්පතක් අවශ්‍ය නැත.

ඔබගේ API යතුර ලබා ගන්න →

IAM භූමිකා සහ අවසර

අවම අවසර ප්‍රතිපත්තිය

අවශ්‍ය අවසර පමණක් සහිත IAM ප්‍රතිපත්තියක් සාදන්න (අවම වරප්‍රසාද මූලධර්මය):

Lambda IAM ප්‍රතිපත්තිය
{
"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'])
# Only process high-confidence signals
if confidence < 0.70:
return {'statusCode': 200, 'body': 'Ignored'}
# Log to DynamoDB
table.put_item(Item={
'timestamp': datetime.now().isoformat(),
'signal': signal,
'confidence': confidence
})
return {'statusCode': 200, body: සකසන ලදී}
හැර ව්‍යතිරේකය ලෙස e:
print(fදෝෂය: {e})
ආපසු {statusCode: 500, body: දෝෂය}

කාර්යය 2: වෙළඳ ක්‍රියාකරු

සත්‍යාපනය කරන ලද සංඥාව ලබා ගනී, අවදානම් සීමා පරීක්ෂා කර, විනිමය API සමඟ වෙළඳාම සිදු කරයි:

  • ගිණුම් ශේෂයට එරෙහිව ස්ථාන ප්‍රමාණය සත්‍යාපනය කරන්න
  • නැවතුම් අලාභය සහ ලාභය ගන්න මට්ටම් පරීක්ෂා කරන්න
  • සීමා ඇණවුම් තැබීම සඳහා විනිමය API අමතන්න
  • කර්තව්‍ය සාක්ෂි රේඛාවට ලොග් කරන්න
  • Slack වෙත තහවුරු කිරීමක් යවන්න

කාර්යය 3: අවදානම් නිරීක්ෂක

අවසන් වරට (හැම මිනිත්තු 5 කට වරක්) උද්‍යෝගිමත්ව ක්‍රියාත්මක වේ:

  • සියලුම විවෘත ස්ථාන විමසන්න
  • පොර්ට්ෆොලියෝ ඩෙල්ටා සහ ගැමා ගණනය කරන්න
  • ලෙවරේජ් > සීමාව නම්, ස්ථානය අඩු කරන්න
  • අවදානම් සීමා ඉක්මවා ගියහොත් කණ්ඩායමට අනතුරු ඇඟවීම

API ගේට්වේ සැකසුම

HTTP අන්ත ලක්ෂ්‍යය නිර්මාණය කිරීම

API ගේට්වේ Lambda එක HTTP අන්ත ලක්ෂ්‍යයක් ලෙස නිරාවරණය කරයි, Smart Money API එය වෙබ්හුක් කළ හැකිය:

  1. API ගේට්වේ තුළ නව REST API නිර්මාණය කරන්න
  2. Lambda ශ්‍රිතයට යොමු වන POST ක්‍රමය නිර්මාණය කරන්න
  3. අනුකලන වර්ගය = Lambda ශ්‍රිතය ලෙස වින්‍යාස කරන්න
  4. පියවරකට ප්‍රතිනියෝජනය කරන්න (උදා: "production")
  5. URL පිටපත් කරන්න: https://xyz.execute-api.us-east-1.amazonaws.com/production

API යතුරු සත්‍යාපනය

අන්ත ලක්ෂ්‍යය API යතුරක් සමඟ ආරක්ෂා කරන්න, එවිට Smart Money API පමණක් එය ආමන්ත්‍රණය කළ හැකිය:

API ගේට්වේ ආරක්ෂාව
1. API ගේට්වේ කොන්සෝලයේ API යතුරක් නිර්මාණය කරන්න
2. භාවිතා සැලැස්ම නිර්මාණය කරන්න, API යතුර අමුණන්න
3. ක්‍රමය මත API යතුරු අවශ්‍යතාවය සක්‍රීය කරන්න
4. 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 Webhook → API ගේට්වේ → Lambda

සමකාලීන ආමන්ත්‍රණය. සංඥාව පැමිණේ, Lambda වහාම සකසයි, Smart Money API වෙත ප්‍රතිචාරය ලබා දෙයි.

නියමිත ට්‍රිගර් (EventBridge)

කාලසටහන මත Lambda ක්‍රියාත්මක කරන්න (උදා: අවදානම් නිරීක්ෂක හැම මිනිත්තු 5 කට වරක්):

EventBridge රීතිය
කාලසටහන: rate(5 මිනිත්තු)
ඉලක්කය: Lambda ශ්‍රිතය risk-monitor

SQS පෝලිම් අනුකලනය

ඉහළ පරිමාවේ සංඥා සඳහා, SQS පෝලිම් බෆරයක් ලෙස භාවිතා කරන්න:

  • Smart Money API → SNS විෂය → SQS පෝලිම
  • Lambda සෑම තත්පර 10 කට වරක් පෝලිම විමසයි
  • ඔබේම වේගයෙන් සංඥා සකසන්න
  • Lambda අධික බරකින් ආරක්ෂා කරයි

ප්‍රතිනියෝජනය සහ කළමනාකරණය

SAM (Serverless Application Model) භාවිතා කිරීම

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 — Lambda හි Secrets Manager වෙතින් ගන්න
  • EXCHANGE_API_KEY — ආරක්ෂිතව ගබඩා කරන්න
  • DYNAMODB_TABLE — CloudFormation පරාමිතියෙන් යොමු කරන්න

මොනිටරින් සහ දෝෂ නිරාකරණය

CloudWatch ලොග්

Lambda ස්වයංක්‍රීයව CloudWatch වෙත ලොග් කරයි. දෝෂ සඳහා ලොග් පරීක්ෂා කරන්න:

  • Lambda කොන්සෝලයේ ශ්‍රිතය ක්ලික් කරන්න
  • මොනිටර් ටැබ් → CloudWatch හි ලොග් බලන්න
  • දෝෂ හෝ ව්‍යතිරේක සඳහා සොයන්න

අභිරුචි මෙට්‍රික්ස්

මොනිටරින් සඳහා අභිරුචි මෙට්‍රික්ස් CloudWatch වෙත යොමු කරන්න:

අභිරුචි මෙට්‍රික්ස්
cloudwatch = boto3.client('cloudwatch')
cloudwatch.put_metric_data(
Namespace='SmartMoney',
MetricData=[{
'MetricName': 'SignalsProcessed',
'Value': 1
}]
)

CloudWatch ඇලාම්

Lambda ශ්‍රිතය අසාර්ථක වූ විට හෝ මන්දගාමී වූ විට අනතුරු ඇඟවීම:

  • දෝෂ අනුපාතය > 1%
  • කාලය > තත්පර 5
  • තොරතුරු අවහිරය සිදුවේ
  • කාලය ඉක්මවා ගිය දෝෂ

X-Ray ට්‍රේසින්ග්

සේවාවන් හරහා ව්‍යාප්ත ට්‍රේසින්ග් සඳහා X-Ray සක්‍රීය කරන්න:

  • එක් එක් මෙහෙයුමට කොපමණ කාලයක් ගතවේදැයි බලන්න
  • බාධක හඳුනා ගන්න
  • අනුකලන ගැටළු නිරාකරණය කරන්න

ක්‍රියාකාරී තීක්ෂ්ණ බුද්ධිය: වඩාත් මිල අධික ලැම්ඩා වැරදි යනු පරිගණක පිරිවැය නොවේ—ඒවා නරක වෙළඳාම් ඇති කරන දෝෂ වේ. නිරීක්ෂණය, ලොග් කිරීම සහ පරීක්ෂණයට බරපතල ආයෝජනය කරන්න. වෙළඳාම් වැරදියක් සඳහා $5,000 වැය කිරීමට වඩා CloudWatch සඳහා මසකට $50 වැය කිරීම හොඳය.

සර්වර් රහිත වෙළඳ යටිතල පහසුකම් ගොඩනඟන්න

AWS Lambda හි සිදුවීම්-චාලක වෙළඳ පද්ධති ධාවනය කරන්න. ව්‍යාජ සංඥා සකසන්න, වෙළඳාම් ක්‍රියාත්මක කරන්න සහ සර්වර් කළමනාකරණය නොකර අවදානම් නිරීක්ෂණය කරන්න.

මිල ගණන් යෝජනා සැලසුම් බලන්න
වෙබ්හුක් ලබා දීම සඳහා ප්‍රෝ යෝජනා සැලසුම් නිර්දේශ කෙරේ. ලැම්ඩා පිරිවැය: සාමාන්‍ය වෙළඳ පරිමාවන් සඳහා මසකට ~$1-5.

අදාළ යටිතල පහසුකම් මාර්ගෝපදේශ

නොමිලේ අරඹන්න — දිනකට ඇමතුම් 50, කාඩ්පතක් අවශ්ය නැත

එක් API එකකින් ගණුදෙනු 3ක සජීවී තල්මසුන්ගේ ප්රවාහය, අරමුදල්, විවෘත උනන්දුව සහ චේන් තුළ දත්ත ලබා ගන්න. නොමිලේ තලය, ක්‍රෙඩිට් කාඩ්පතක් අවශ්ය නැත, ඕනෑම වේලාවක උත්ශ්‍රේණි කරන්න.

නොමිලේ අරඹන්න →
සජීවී API කොන්සෝලය අත්හදා බලන්න → (ගිණුමක් අවශ්ය නැත)