Memanggil fungsi Lambda secara lokal - AWS Serverless Application Model

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memanggil fungsi Lambda secara lokal

Anda dapat memanggil AWS Lambda fungsi Anda secara lokal dengan menggunakan sam local invoke AWS SAM CLI perintah dan memberikan ID logis fungsi dan file peristiwa. Dengan cara lain, sam local invoke juga menerima stdin sebagai sebuah peristiwa. Untuk informasi selengkapnya tentang peristiwa, lihat Peristiwa pada AWS Lambda Panduan Developer. Untuk informasi tentang format pesan acara dari berbagai AWS layanan, lihat Menggunakan AWS Lambda dengan layanan lain di Panduan AWS Lambda Pengembang.

catatan

sam local invokePerintah sesuai dengan perintah AWS Command Line Interface (AWS CLI) aws lambda invoke. Anda dapat menggunakan salah satu perintah untuk menjalankan fungsi Lambda.

Anda harus menjalankan sam local invoke perintah di direktori proyek yang berisi fungsi yang ingin Anda panggil.

Contoh:

# Invoking function with event file $ sam local invoke "Ratings" -e event.json # Invoking function with event via stdin $ echo '{"message": "Hey, are you there?" }' | sam local invoke --event - "Ratings" # For more options $ sam local invoke --help

File variabel lingkungan

Untuk mendeklarasikan variabel lingkungan secara lokal yang mengesampingkan nilai yang ditentukan dalam template Anda, lakukan hal berikut:

  1. Buat file JSON yang berisi variabel lingkungan untuk ditimpa.

  2. Gunakan --env-vars argumen untuk mengganti nilai yang ditentukan dalam template Anda.

Mendeklarasikan variabel lingkungan

Untuk mendeklarasikan variabel lingkungan yang berlaku secara global ke semua sumber daya, tentukan Parameters objek seperti berikut:

{ "Parameters": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", "STAGE": "dev" } }

Untuk mendeklarasikan variabel lingkungan yang berbeda untuk setiap sumber daya, tentukan objek untuk setiap sumber daya seperti berikut:

{ "MyFunction1": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", }, "MyFunction2": { "TABLE_NAME": "localtable", "STAGE": "dev" } }

Saat menentukan objek untuk setiap sumber daya, Anda dapat menggunakan pengidentifikasi berikut, yang terdaftar dalam urutan prioritas tertinggi hingga terendah:

  1. logical_id

  2. function_id

  3. function_name

  4. Pengidentifikasi jalur lengkap

Anda dapat menggunakan kedua metode sebelumnya untuk mendeklarasikan variabel lingkungan bersama-sama dalam satu file. Saat melakukannya, variabel lingkungan yang Anda sediakan untuk sumber daya tertentu lebih diutamakan daripada variabel lingkungan global.

Simpan variabel lingkungan Anda dalam file JSON, sepertienv.json.

Mengesampingkan nilai variabel lingkungan

Untuk mengganti variabel lingkungan dengan yang ditentukan dalam file JSON Anda, gunakan --env-vars argumen dengan perintah invoke orstart-api. Sebagai contoh:

sam local invoke --env-vars env.json

Lapisan

Jika aplikasi Anda menyertakan lapisan, untuk informasi tentang cara men-debug masalah dengan lapisan pada host lokal Anda, lihatCara menggunakan lapisan.

Pelajari selengkapnya

Untuk contoh langsung menjalankan fungsi secara lokal, lihat Modul 2 - Jalankan secara lokal di The Complete Workshop. AWS SAM