Testowanie lokalne za pomocą SAM CLI
Dowiedz się, jak lokalnie wywoływać, emulować i debugować aplikację serverless za pomocą AWS SAM CLI przed wdrożeniem jej w chmurze.
Testowanie lokalne za pomocą SAM CLI to bezpłatna lekcja Serverless AWS Lambda Development na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Serverless AWS Lambda Development, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Serverless AWS Lambda Development zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Why Test Locally?
Deploying to test every change is slow. The SAM CLI emulates Lambda and API Gateway on your machine for a fast feedback loop.
What You Need
Local emulation runs functions inside Docker containers that mirror the Lambda runtime, so you need Docker installed alongside the SAM CLI.
Invoking a Single Function
Use sam local invoke to run one function once with a test event, just like a single Lambda execution.
sam local invoke OrdersFunction \
--event events/order.jsonA Test Event File
The event file is the JSON payload your handler receives. Keep a folder of sample events for different scenarios.
{
"body": "{\"item\":\"book\",\"qty\":2}",
"httpMethod": "POST"
}Generating Sample Events
SAM can scaffold realistic events for common sources so you do not handcraft them.
sam local generate-event s3 put > events/s3.json
sam local generate-event apigateway aws-proxy > events/api.jsonRunning a Local API
sam local start-api stands up a local HTTP server that routes requests to your functions, mimicking API Gateway.
sam local start-api --port 3000Calling the Local API
Once running, hit it with any HTTP client. The response comes from your real handler code.
curl -X POST http://localhost:3000/orders \
-d '{"item":"book","qty":2}'Environment Variables Locally
Pass a JSON file of environment variable overrides so local runs point at test resources instead of production.
sam local invoke OrdersFunction \
--env-vars env.jsonStep-Through Debugging
Start with -d to pause for a debugger to attach on a port, letting you set breakpoints in your function code.
sam local invoke OrdersFunction -d 5858Limits of Local Emulation
Local mode cannot perfectly reproduce IAM, networking, or cold starts. Treat it as a fast first check, not a replacement for a cloud staging test.
Validate the Template
Before deploying, run sam validate to catch template errors early.
sam validate --lintQuick Check
Test your local-testing knowledge.
Recap
You learned to invoke functions, generate events, run a local API, inject env vars, and attach a debugger with the SAM CLI, plus its emulation limits.
Często zadawane pytania
Czy lekcja „Testowanie lokalne za pomocą SAM CLI” jest bezpłatna?
Tak — pełny tekst „Testowanie lokalne za pomocą SAM CLI” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Serverless AWS Lambda Development, przejdź na CoddyKit PRO. Kurs Serverless AWS Lambda Development zawiera 4 lekcji w sumie.
Co nauczysz się w „Testowanie lokalne za pomocą SAM CLI”?
Dowiedz się, jak lokalnie wywoływać, emulować i debugować aplikację serverless za pomocą AWS SAM CLI przed wdrożeniem jej w chmurze. Ćwiczysz Serverless AWS Lambda Development z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Serverless AWS Lambda Development?
Nie wymagamy żadnego doświadczenia. Serverless AWS Lambda Development w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Testowanie lokalne za pomocą SAM CLI”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Serverless AWS Lambda Development?
Tak. Każda lekcja Serverless AWS Lambda Development zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- AWS Serverless Application Model (SAM)
- Wprowadzenie do Serverless Framework
- CI/CD dla aplikacji serverless
- Testowanie lokalne za pomocą SAM CLI