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
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 responseTemplat 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: GETSAM 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 buildMenggunakan 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-1Semakan 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.yamldengan sifatTransformdan bahagianResources. - SAM CLI menyediakan perintah seperti
sam init,sam builddansam deployuntuk 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.
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
- AWS Serverless Application Model (SAM)
- Pengenalan kepada Serverless Framework
- CI/CD untuk Aplikasi Tanpa Pelayan
- Ujian Setempat dengan SAM CLI