Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pengantar pengujian dengan sam local start-lambda
Gunakan Antarmuka Baris AWS Serverless Application Model Perintah (AWS SAM CLI) sam local start-lambda
subperintah untuk memanggil AWS Lambda fungsi Anda melalui AWS Command Line Interface (AWS CLI) atau. SDKs Perintah ini memulai titik akhir lokal yang mengemulasi AWS Lambda.
-
Untuk pengantar AWS SAM CLI, lihat Apa itu AWS SAM CLI?
-
Untuk daftar opsi
sam local start-lambda
perintah, lihatsam local start-lambda.
Untuk menggunakansam local start-lambda
, instal AWS SAM CLI dengan menyelesaikan hal-hal berikut:
Sebelum menggunakansam local start-lambda
, kami merekomendasikan pemahaman dasar tentang hal-hal berikut:
Menggunakan sam local start-lambda
Ketika Anda berlarisam local start-lambda
, AWS SAM CLI mengasumsikan bahwa direktori kerja Anda saat ini adalah direktori root proyek Anda. The AWS SAM CLI pertama-tama akan mencari template.[yaml|yml]
file dalam .aws-sam
subfolder. Jika tidak ditemukan, AWS SAM CLI akan mencari template.[yaml|yml]
file dalam direktori kerja Anda saat ini.
Untuk menggunakan sam local start-lambda
-
Dari direktori root proyek Anda, jalankan yang berikut ini:
$
sam local start-lambda
<options>
-
The AWS SAM CLI membangun fungsi Lambda Anda di lokal Docker kontainer. Kemudian menampilkan alamat lokal ke titik akhir HTTP server Anda. Berikut adalah contohnya:
$
sam local start-lambda
Initializing the lambda functions containers. Local image is up-to-date Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64. Mounting /Users/.../sam-app/hello_world as /var/task:ro,delegated, inside runtime container Containers Initialization is done. Starting the Local Lambda Service. You can now invoke your Lambda Functions defined in your template through the endpoint. 2023-04-13 07:25:43 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:3001 2023-04-13 07:25:43 Press CTRL+C to quit -
Gunakan AWS CLI atau SDKs untuk menjalankan fungsi Lambda Anda secara lokal.
Berikut ini adalah contoh menggunakan AWS CLI:
$
aws lambda invoke --function-name
StatusCode: 200 (END)"HelloWorldFunction"
--endpoint-url"http://127.0.0.1:3001"
--no-verify-ssl out.txtBerikut ini adalah contoh menggunakan AWS SDK untuk Python:
import boto3 from botocore.config import Config from botocore import UNSIGNED lambda_client = boto3.client('lambda', endpoint_url="http://127.0.0.1:3001", use_ssl=False, verify=False, config=Config(signature_version=UNSIGNED, read_timeout=1, retries={'max_attempts': 0} ) ) lambda_client.invoke(FunctionName="HelloWorldFunction")
Opsi
Tentukan templat
Untuk menentukan template untuk AWS SAM CLI untuk referensi, gunakan --template
opsi. The AWS SAM CLI akan memuat hanya AWS SAM template itu dan sumber daya yang ditunjukkannya. Berikut adalah contohnya:
$
sam local start-lambda --template
myTemplate.yaml
Praktik terbaik
Jika aplikasi Anda memiliki .aws-sam
direktori dari berjalansam build
, pastikan untuk menjalankan sam build
setiap kali Anda memperbarui kode fungsi Anda. Kemudian, jalankan sam local start-lambda
untuk menguji kode fungsi Anda yang diperbarui secara lokal.
Pengujian lokal adalah solusi hebat untuk pengembangan dan pengujian cepat sebelum menerapkan ke cloud. Namun, pengujian lokal tidak memvalidasi semuanya, seperti izin antar sumber daya Anda di cloud. Sebisa mungkin, uji aplikasi Anda di cloud. Sebaiknya gunakan sam sync untuk mempercepat alur kerja pengujian cloud Anda.
Pelajari selengkapnya
Untuk daftar semua sam local start-lambda
opsi, lihatsam local start-lambda.