الحوسبة السحابية 1 دقيقة للقراءة 1,030 مشاهدات

AWS Lambda وإطار Serverless: بناء وظائف قابلة للتوسع

انشر تطبيقات بدون خادم مع AWS Lambda وإطار Serverless. تعلّم عن مشغّلات الأحداث والبدء البارد والتحسين.

AWS Lambda serverless

AWS Lambda مع Serverless Framework

ابنِ وانشر تطبيقات بلا خوادم بكفاءة.

إعداد المشروع

npm install -g serverless
serverless create --template aws-nodejs --path my-service
cd my-service
npm init -y

إعداد serverless.yml

service: my-api

provider:
  name: aws
  runtime: nodejs18.x
  region: us-east-1
  environment:
    TABLE_NAME: ${self:service}-${sls:stage}

functions:
  getUsers:
    handler: handlers/users.get
    events:
      - http:
          path: users
          method: get
          cors: true

  createUser:
    handler: handlers/users.create
    events:
      - http:
          path: users
          method: post

resources:
  Resources:
    UsersTable:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: ${self:provider.environment.TABLE_NAME}
        AttributeDefinitions:
          - AttributeName: id
            AttributeType: S
        KeySchema:
          - AttributeName: id
            KeyType: HASH

دالة المعالج (Handler)

// handlers/users.js
const AWS = require('aws-sdk');
const dynamo = new AWS.DynamoDB.DocumentClient();

module.exports.get = async (event) => {
    const params = { TableName: process.env.TABLE_NAME };
    const result = await dynamo.scan(params).promise();

    return {
        statusCode: 200,
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(result.Items),
    };
};

تحسين البدايات الباردة

// Keep functions warm
functions:
  myFunction:
    handler: handler.main
    warmup:
      enabled: true
      events:
        - schedule: rate(5 minutes)

تقلّل المعمارية بلا خوادم العبء التشغيلي وتتوسّع تلقائياً.

الوسوم
مشاركة هذه المقالة:
ES
كتبه

Edrees Salih

مهندس برمجيات متكامل يتمتع بخبرة 9 سنوات. شغوف ببناء حلول قابلة للتطوير ومشاركة المعرفة مع مجتمع المطورين.

عرض الملف الشخصي

التعليقات (0)

اترك تعليقًا

لن يتم نشر بريدك الإلكتروني.

لا توجد تعليقات بعد. كن أول من يشارك أفكاره!

مقالات ذات صلة

مقالات ذات صلة

هل تحتاج مساعدة في مشروعك؟

احجز استشارة مجانية لمدة 30 دقيقة لمناقشة تحدياتك التقنية واستكشاف الحلول معًا.