Pembangunan AWS Lambda Tanpa Pelayan · Pelajaran

AWS Serverless Application Model (SAM)

Pelajari cara mentakrifkan, membangunkan dan menggunakan aplikasi tanpa pelayan menggunakan AWS SAM, iaitu rangka kerja sumber terbuka untuk pembangunan di AWS

Pelajaran 1 daripada 411 langkah

AWS Serverless Application Model (SAM) ialah pelajaran Pembangunan AWS Lambda Tanpa Pelayan percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pembangunan AWS Lambda Tanpa Pelayan, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pembangunan AWS Lambda Tanpa Pelayan merangkumi sejumlah 4 pelajaran.

Permudahkan Aplikasi Tanpa Pelayan dengan AWS SAM

Model Aplikasi Tanpa Pelayan AWS (SAM) ialah rangka kerja sumber terbuka yang memudahkan pembinaan dan penggunaan aplikasi tanpa pelayan pada AWS.

Ia memperluas AWS CloudFormation dengan menyediakan sintaks khas yang lebih mudah untuk mentakrifkan sumber tanpa pelayan seperti fungsi Lambda, API Gateway dan jadual DynamoDB. SAM membantu anda mengurus keseluruhan aplikasi tanpa pelayan anda sebagai satu unit.

Templat SAM: Pelan Asas

Di teras setiap aplikasi SAM ialah fail template.yaml. Fail YAML (atau JSON) ini bertindak sebagai pelan asas yang menerangkan semua sumber tanpa pelayan yang membentuk aplikasi anda.

Templat SAM pada asasnya ialah templat AWS CloudFormation, tetapi mengandungi sifat Transform yang penting untuk mengaktifkan sintaks ringkas khusus tanpa pelayan SAM.

Anatomi Templat SAM

Mari kita lihat bahagian utama yang terdapat dalam fail template.yaml:

  • AWSTemplateFormatVersion: Versi CloudFormation standard.
  • Transform: AWS::Serverless-2016-10-31: Ini amat penting! Ia memberitahu CloudFormation supaya menggunakan sintaks ringkas SAM.
  • Description: Penerangan ringkas tentang aplikasi anda.
  • Resources: Di sinilah anda mentakrifkan semua komponen tanpa pelayan seperti fungsi Lambda, API dan pangkalan data.

Mentakrifkan Fungsi Tanpa Pelayan

Dalam SAM, anda mentakrifkan fungsi Lambda menggunakan jenis sumber AWS::Serverless::Function. Anda menentukan sifat penting seperti masa jalan, titik masuk (pengendali), memori dan cara fungsi itu dicetuskan.

  • Type: AWS::Serverless::Function: Mengenal pastinya sebagai Lambda.
  • Handler: Fungsi dalam kod anda yang dipanggil oleh AWS Lambda untuk memulakan pelaksanaan (contohnya, app.lambda_handler).
  • Runtime: Persekitaran bahasa pengaturcaraan (contohnya, python3.9, nodejs16.x).
  • CodeUri: Laluan setempat kepada kod sumber fungsi anda.
  • Events: Menentukan cara fungsi anda dipanggil (contohnya, titik akhir API Gateway).

Pengendali Lambda 'Hello World' Kita

Berikut ialah fungsi Lambda Python yang ringkas. Kod ini akan dilaksanakan apabila fungsi tanpa pelayan kita dipanggil. Fungsinya hanya mengembalikan mesej 'Hello from Lambda!'.

import json

def lambda_handler(event, context):
    # Log the event for debugging purposes
    print("Received event: " + json.dumps(event))

    # Basic response for API Gateway
    response = {
        "statusCode": 200,
        "body": json.dumps("Hello from Lambda!")
    }
    return response

Templat SAM untuk Fungsi Kita

Sekarang, mari kita tentukan fungsi Lambda 'Hello World' kita dalam template.yaml. Kita akan menyediakannya supaya dicetuskan oleh permintaan GET API Gateway pada laluan /hello.

Templat ini menganggap kod Python anda (app.py) berada dalam folder bernama hello_world/ yang terletak bersebelahan dengan fail template.yaml ini.

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

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

SAM CLI: Alat Penggunaan Anda

Antara Muka Baris Perintah AWS SAM (CLI) ialah alat utama anda untuk membangunkan dan menggunakan aplikasi SAM. Ia menyediakan perintah untuk memulakan projek, membina kebergantungan, menguji secara setempat dan menggunakan aplikasi anda pada AWS.

  • sam init: Mulakan projek tanpa pelayan baharu.
  • sam build: Pakejkan kod aplikasi dan kebergantungan anda.
  • sam deploy: Gunakan aplikasi anda pada AWS CloudFormation.

Membina Aplikasi SAM Anda

Sebelum anda boleh menggunakan aplikasi, anda perlu 'membinanya'. Perintah sam build mengumpulkan kod anda, menggabungkan kebergantungan seperti pakej Python dan menyediakan semuanya dalam pakej yang boleh digunakan.

Perintah ini mencipta direktori .aws-sam yang mengandungi artifak yang telah diproses.

sam build

Menggunakan Aplikasi SAM Anda

Selepas selesai dibina, gunakan sam deploy untuk menghantar aplikasi anda ke AWS. Perintah ini mencipta atau mengemas kini tindanan CloudFormation berdasarkan templat SAM anda serta menyediakan semua sumber yang diperlukan.

Anda perlu menentukan nama tindanan yang unik dan baldi S3 untuk artifak kod. Argumen --capabilities CAPABILITY_IAM mengesahkan bahawa templat anda mencipta peranan IAM.

sam deploy --stack-name my-hello-app \
           --s3-bucket your-unique-s3-bucket-name \
           --capabilities CAPABILITY_IAM \
           --region us-east-1

Semakan Ringkas: Komponen Templat SAM

Antara yang berikut, yang manakah merupakan komponen atau bahagian penting yang terdapat dalam templat AWS SAM biasa (template.yaml)?

Imbas Kembali: Perjalanan SAM Anda Bermula!

Anda baru sahaja mempelajari asas AWS SAM!

  • SAM memudahkan pembangunan dan penggunaan aplikasi tanpa pelayan menggunakan templat berasaskan CloudFormation.
  • Komponen utama termasuk template.yaml dengan sifat Transform dan bahagian Resources.
  • SAM CLI menyediakan perintah seperti sam init, sam build dan sam deploy untuk mengurus aplikasi anda.

Dengan SAM, anda boleh mentakrif, membina dan menggunakan seni bina tanpa pelayan yang kompleks dengan cekap, menjadikannya alat yang berkuasa untuk pembangunan tanpa pelayan.

Percuma untuk bermula

Pelajari Pembangunan AWS Lambda Tanpa Pelayan 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 “AWS Serverless Application Model (SAM)” percuma?

Ya — teks penuh “AWS Serverless Application Model (SAM)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Pembangunan AWS Lambda Tanpa Pelayan, tingkat taraf kepada CoddyKit PRO. Kursus Pembangunan AWS Lambda Tanpa Pelayan merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “AWS Serverless Application Model (SAM)”?

Pelajari cara mentakrifkan, membangunkan dan menggunakan aplikasi tanpa pelayan menggunakan AWS SAM, iaitu rangka kerja sumber terbuka untuk pembangunan di AWS Anda berlatih Pembangunan AWS Lambda Tanpa Pelayan 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 Pembangunan AWS Lambda Tanpa Pelayan?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pembangunan AWS Lambda Tanpa Pelayan 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 1 daripada 4.

Berapa lamakah pelajaran “AWS Serverless Application Model (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 Pembangunan AWS Lambda Tanpa Pelayan ini?

Ya. Setiap pelajaran Pembangunan AWS Lambda Tanpa Pelayan 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. AWS Serverless Application Model (SAM)
  2. Pengenalan kepada Serverless Framework
  3. CI/CD untuk Aplikasi Tanpa Pelayan
  4. Ujian Setempat dengan SAM CLI
← Kembali ke Pembangunan AWS Lambda Tanpa Pelayan