AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) · Pelajaran

Model Aplikasi Tanpa Pelayan (SAM)

Takrifkan, bangunkan dan gunakan aplikasi tanpa pelayan menggunakan rangka kerja AWS Serverless Application Model (SAM).

Pelajaran 3 daripada 412 langkah

Model Aplikasi Tanpa Pelayan (SAM) ialah pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) merangkumi sejumlah 4 pelajaran.

Apakah AWS SAM?

Selamat datang ke Model Aplikasi Tanpa Pelayan AWS (SAM)! SAM ialah rangka kerja sumber terbuka yang membantu anda membina, menguji dan menggunakan aplikasi tanpa pelayan di AWS dengan lebih pantas dan mudah.

Anggaplah ia sebagai cara yang dipermudah untuk mentakrifkan sumber tanpa pelayan seperti fungsi Lambda dan titik akhir Gerbang API.

SAM: Pembantu CloudFormation

Pada asasnya, SAM ialah sambungan kepada AWS CloudFormation. Ia menyediakan sintaks ringkas untuk komponen tanpa pelayan yang biasa digunakan.

Apabila anda menggunakan aplikasi SAM, SAM mengubah templat ringkas anda menjadi templat AWS CloudFormation yang lengkap, supaya anda memperoleh semua manfaat keupayaan penggunaan CloudFormation yang kukuh.

Struktur Templat SAM

Aplikasi SAM ditakrifkan dalam templat SAM, biasanya fail YAML bernama template.yaml. Bahagian utama termasuk:

  • AWSTemplateFormatVersion: Versi CloudFormation standard.
  • Transform: AWS::Serverless-2016-10-31: Baris ini memberitahu CloudFormation supaya memproses templat menggunakan SAM.
  • Resources: Tempat anda mentakrifkan komponen tanpa pelayan (fungsi, API dan pangkalan data).

Mentakrifkan Fungsi Tanpa Pelayan

Sumber utama untuk fungsi Lambda dalam SAM ialah AWS::Serverless::Function. Sumber ini memudahkan penentuan fungsi Lambda dan konfigurasi berkaitannya.

Anda menentukan sifat seperti Handler (titik masuk fungsi), Runtime (contohnya, python3.9) dan CodeUri (laluan kepada kod fungsi anda).

Bersepadu dengan Gerbang API

Untuk mendedahkan fungsi Lambda anda melalui titik akhir HTTP, anda boleh mentakrifkan Events secara langsung dalam sumber AWS::Serverless::Function anda.

Menggunakan jenis peristiwa Api akan menyediakan titik akhir Gerbang API Amazon secara automatik. Anda menentukan Path dan Method untuk laluan API anda.

Templat SAM Pertama Anda

Berikut ialah template.yaml asas yang mentakrifkan fungsi Lambda Python yang dicetuskan oleh permintaan GET Gerbang API pada laluan /hello.

CodeUri: hello_world/ menunjukkan bahawa kod Lambda berada dalam direktori tempatan bernama hello_world.

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: A simple "Hello World" SAM app.

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: app.lambda_handler
      Runtime: python3.9
      CodeUri: hello_world/
      MemorySize: 128
      Timeout: 30
      Events:
        HelloWorldApi:
          Type: Api
          Properties:
            Path: /hello
            Method: GET

Kod Fungsi Lambda

Ini ialah kod Python (app.py) yang berada dalam direktori hello_world/. Fungsi ini akan dilaksanakan apabila titik akhir Gerbang API dipanggil.

Fungsi ini hanya mengembalikan respons JSON dengan mesej "Hello from SAM Lambda!".

import json

def lambda_handler(event, context):
    """
    Handles API Gateway requests and returns a simple greeting.
    """
    print("Received an event:", event) # For logging
    return {
        "statusCode": 200,
        "headers": {
            "Content-Type": "application/json"
        },
        "body": json.dumps({
            "message": "Hello from SAM Lambda!"
        }),
    }

# Example local invocation (for direct script testing)
if __name__ == "__main__":
    test_event = {
        "httpMethod": "GET",
        "path": "/hello",
        "requestContext": {"requestId": "test-id-123"},
        "headers": {"User-Agent": "test-client"}
    }
    response = lambda_handler(test_event, None)
    print("Local Response:", response)

Membina Aplikasi SAM Anda

Sebelum anda boleh menggunakan atau menguji aplikasi anda secara tempatan, anda perlu membinanya. Arahan sam build memproses templat anda, mengumpulkan kebergantungan dan menyediakan kod anda untuk digunakan.

Arahan ini mencipta direktori .aws-sam/build yang mengandungi artifak yang telah diproses.

sam build

Menguji Secara Tempatan dengan SAM CLI

SAM CLI menyediakan alat yang berkuasa untuk ujian tempatan, menjimatkan masa dan wang anda dengan mengelakkan penggunaan berulang kepada AWS.

  • sam local invoke: Memanggil satu fungsi Lambda secara tempatan dengan peristiwa yang diberikan.
  • sam local start-api: Memulakan pelayan HTTP tempatan yang meniru Gerbang API, membolehkan anda berinteraksi dengan API tanpa pelayan anda melalui pelayar atau curl.

sam local start-api

Menggunakan Aplikasi Tanpa Pelayan Anda

Setelah aplikasi anda dibina dan diuji secara tempatan, anda boleh menggunakannya kepada AWS menggunakan arahan sam deploy.

Untuk penggunaan kali pertama, anda disyorkan menggunakan bendera --guided. Bendera ini menyediakan gesaan interaktif untuk mengkonfigurasi tetapan seperti nama tindanan, rantau AWS dan baldi S3 untuk artifak penggunaan.

sam deploy --guided

Semakan Pantas SAM CLI

Apakah arahan SAM CLI yang digunakan untuk menguji Gerbang API tanpa pelayan anda secara tempatan, yang membolehkan anda berinteraksi dengannya melalui pelayar atau curl?

Imbas Kembali dan Langkah Seterusnya

Tahniah! Anda telah mempelajari asas Model Aplikasi Tanpa Pelayan AWS (SAM).

  • SAM memudahkan pembangunan tanpa pelayan dengan melanjutkan CloudFormation.
  • Anda boleh mentakrifkan fungsi Lambda dan titik akhir Gerbang API dengan mudah dalam template.yaml.
  • SAM CLI membolehkan anda build, menguji locally dan deploy aplikasi tanpa pelayan anda dengan cekap.

SAM ialah alat berkuasa untuk membangunkan aplikasi moden dipacu peristiwa di AWS!

Percuma untuk bermula

Pelajari AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Model Aplikasi Tanpa Pelayan (SAM)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda), termasuk “Model Aplikasi Tanpa Pelayan (SAM)”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Model Aplikasi Tanpa Pelayan (SAM)”?

Takrifkan, bangunkan dan gunakan aplikasi tanpa pelayan menggunakan rangka kerja AWS Serverless Application Model (SAM). Anda berlatih AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Model Aplikasi Tanpa Pelayan (SAM)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) ini?

Ya. Setiap pelajaran AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas CodeCommit dan CodeBuild
  2. CodeDeploy untuk EC2/Lambda
  3. Model Aplikasi Tanpa Pelayan (SAM)
  4. Infrastruktur sebagai Kod dengan CloudFormation
← Kembali ke AWS untuk Pembangun Backend (EC2, S3, RDS, Lambda)