

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

# sam local invoke
<a name="sam-cli-command-reference-sam-local-invoke"></a>

Halaman ini memberikan informasi referensi untuk AWS Serverless Application Model `sam local invoke` subperintah Command Line Interface (AWS SAMCLI).
+ Untuk pengantar AWS SAMCLI, lihat [Apa itu AWS SAMCLI?](what-is-sam-overview.md#what-is-sam-cli)
+ Untuk dokumentasi tentang penggunaan AWS SAMCLI `sam local invoke` subperintah, lihat[Pengantar pengujian dengan sam local invoke](using-sam-cli-local-invoke.md).

`sam local invoke`Subperintah memulai pemanggilan satu kali fungsi secara lokal. AWS Lambda 

**catatan**  
Tidak disarankan untuk menggunakan kemampuan pemanggilan lokal SAM CLI dalam kode yang tidak tepercaya. Untuk memiliki isolasi lengkap dari lingkungan lokal Anda, jalankan kode di layanan Lambda secara langsung.

**catatan**  
Untuk fungsi yang tahan lama, `sam local invoke` mendukung eksekusi stateful dengan checkpointing dan replay otomatis. Wadah tetap berjalan selama eksekusi fungsi tahan lama untuk menangani persistensi status dan dimulainya kembali.

## Penggunaan
<a name="ref-sam-cli-local-invoke-usage"></a>

```
$ sam local invoke <arguments> <options>
```

**catatan**  
Jika Anda memiliki lebih dari satu fungsi yang ditentukan dalam AWS SAM template Anda, berikan ID logis fungsi yang ingin Anda panggil.

## Argumen
<a name="ref-sam-cli-local-invoke-args"></a>

**ID Sumber Daya**  <a name="ref-sam-cli-local-invoke-args-resource-id"></a>
ID dari fungsi Lambda untuk dipanggil.  
Argumen ini opsional. Jika aplikasi Anda berisi satu fungsi Lambda, CLI akan AWS SAM memanggilnya. Jika aplikasi Anda berisi beberapa fungsi, berikan ID fungsi yang akan dipanggil.  
*Nilai yang valid*: ID logis sumber daya atau ARN sumber daya.

## Opsi
<a name="ref-sam-cli-local-invoke-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-invoke-options-add-host"></a>
Meneruskan nama host ke pemetaan alamat IP ke file host wadah Docker. Parameter ini dapat dilewatkan beberapa kali.  

**Example**  
Contoh: `--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-invoke-options-beta-features"></a>
Izinkan atau tolak fitur beta.

`--config-env TEXT`  <a name="ref-sam-cli-local-invoke-options-config-env"></a>
Nama lingkungan yang menentukan nilai parameter default dalam file konfigurasi yang akan digunakan. Nilai default-nya adalah “default”. Untuk informasi selengkapnya tentang file konfigurasi, lihat [AWS SAMCLIberkas konfigurasi](serverless-sam-cli-config.md).

`--config-file PATH`  <a name="ref-sam-cli-local-invoke-options-config-file"></a>
Jalur dan nama file dari file konfigurasi yang berisi nilai parameter default yang akan digunakan. Nilai default-nya adalah ”`samconfig.toml`“ di root direktori proyek. Untuk informasi selengkapnya tentang file konfigurasi, lihat [AWS SAMCLIberkas konfigurasi](serverless-sam-cli-config.md).

`--container-env-vars`  <a name="ref-sam-cli-local-invoke-options-container-env-vars"></a>
(Opsional) Teruskan variabel lingkungan untuk kontainer citra fungsi Lambda ketika debugging lokal.

`--container-host TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host"></a>
Host kontainer Lambda yang teremulasi secara lokal. Nilai default-nya adalah `localhost`. Jika Anda ingin menjalankan AWS SAMCLI penampung Docker di macOS, Anda dapat menentukan. `host.docker.internal` Jika Anda ingin menjalankan wadah pada host yang berbeda dari AWS SAMCLI, Anda dapat menentukan alamat IP dari host jarak jauh.

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host-interface"></a>
Alamat IP dari antarmuka jaringan host tempat kontainer port harus terikat. Nilai default-nya adalah `127.0.0.1`. Gunakan `0.0.0.0` untuk mengikat ke semua antarmuka.

`--debug`  <a name="ref-sam-cli-local-invoke-options-debug"></a>
Mengaktifkan logging debug untuk mencetak pesan debug yang AWS SAMCLI dihasilkan, dan untuk menampilkan stempel waktu.

`--debug-args TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-args"></a>
Argumen tambahan untuk meneruskan ke debugger.

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-port"></a>
Ketika ditentukan, mulai kontainer fungsi Lambda dalam modus debug dan ekspos port ini pada host lokal.

`--debugger-path TEXT`  <a name="ref-sam-cli-local-invoke-options-debugger-path"></a>
Jalur host ke debugger yang dipasang ke kontainer Lambda.

`--docker-network TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-network"></a>
Nama atau ID jaringan Docker yang ada yang harus terhubung dengan kontainer Docker Lambda, bersama dengan jaringan bridge default. Jika tidak ditentukan, kontainer Lambda hanya terhubung ke jaringan Docker bridge default.

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-volume-basedir"></a>
Lokasi direktori dasar tempat AWS SAM file ada. Jika Docker berjalan pada mesin jarak jauh, Anda harus memasang jalur tempat AWS SAM file ada di mesin Docker dan memodifikasi nilai ini agar sesuai dengan mesin jarak jauh.

`--durable-execution-name TEXT`  <a name="ref-sam-cli-local-invoke-options-durable-execution-name"></a>
Nama untuk eksekusi yang tahan lama (hanya untuk fungsi tahan lama)

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-invoke-options-env-vars"></a>
JSON atau `.env` file yang berisi nilai untuk variabel lingkungan fungsi Lambda. Format file terdeteksi secara otomatis. Untuk informasi selengkapnya tentang file variabel lingkungan, lihat [File variabel lingkungan](serverless-sam-cli-using-invoke.md#serverless-sam-cli-using-invoke-environment-file).

`--event, -e PATH`  <a name="ref-sam-cli-local-invoke-options-event"></a>
File JSON yang berisi data peristiwa yang diteruskan ke fungsi Lambda ketika dipanggil. Jika Anda tidak menentukan opsi ini, tidak ada peristiwa yang diterima. Untuk meng-input JSON dari `stdin`, Anda harus meneruskan nilai '-'. Untuk detail tentang format pesan acara dari berbagai AWS layanan, lihat [Bekerja dengan layanan lain](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html) di *Panduan AWS Lambda Pengembang*.

`--force-image-build`  <a name="ref-sam-cli-local-invoke-options-force-image-build"></a>
Menentukan apakah AWS SAMCLI harus membangun kembali gambar yang digunakan untuk memanggil fungsi Lambda dengan lapisan.

`--help`  <a name="ref-sam-cli-local-invoke-options-help"></a>
Menunjukkan pesan ini dan keluar.

`--hook-name TEXT`  <a name="ref-sam-cli-local-invoke-options-hook-name"></a>
Nama hook yang digunakan untuk memperluas AWS SAMCLI fungsionalitas.  
Nilai yang diterima:`terraform`.

`--invoke-image TEXT`  <a name="ref-sam-cli-local-invoke-options-invoke-image"></a>
URI dari gambar kontainer yang ingin Anda gunakan untuk pemanggilan fungsi lokal. Secara default, AWS SAM tarik gambar kontainer dari Amazon ECR Public (yang tercantum dalam[Repositori gambar untuk AWS SAM](serverless-image-repositories.md)). Gunakan opsi ini untuk menarik citra dari lokasi lain.  
Misalnya, `sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`.

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-invoke-options-layer-cache-basedir"></a>
Menentukan lokasi direktori dasar tempat layer yang digunakan templat Anda diunduh.

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-invoke-options-log-file"></a>
Berkas log untuk mengirim log waktu aktif.

`--mount-symlinks`  <a name="ref-sam-cli-local-invoke-options-mount-symlinks"></a>
Memastikan symlink yang AWS SAMCLI selalu dipasang yang ada dalam file untuk dibangun atau dipanggil. Ini hanya berlaku untuk symlink di direktori tingkat atas (yaitu, symlink yang langsung berada di root fungsi). Secara default, symlink tidak dipasang kecuali yang diperlukan `build-in-source` untuk digunakan `node_modules` di NodeJS.

`--no-event`  <a name="ref-sam-cli-local-invoke-options-no-event"></a>
Memanggil fungsi dengan peristiwa kosong.

`--no-memory-limit`  <a name="ref-sam-cli-local-invoke-options-no-memory-limit"></a>
Menghapus batasan memori dalam wadah selama pemanggilan lokal, bahkan ketika memori dikonfigurasi dalam AWS SAM template.

`--parameter-overrides`  <a name="ref-sam-cli-local-invoke-options-parameter-overrides"></a>
String yang berisi penggantian CloudFormation parameter yang dikodekan sebagai pasangan kunci-nilai. Gunakan format yang sama dengan AWS Command Line Interface (AWS CLI). AWS SAMCLIFormatnya adalah kunci eksplisit dan kata kunci nilai, setiap penggantian dipisahkan oleh spasi. Berikut adalah dua contoh:  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--profile TEXT`  <a name="ref-sam-cli-local-invoke-options-profile"></a>
Profil spesifik dari file kredensyal Anda yang mendapat AWS kredensyal.

`--region TEXT`  <a name="ref-sam-cli-local-invoke-options-region"></a>
 AWS Wilayah untuk dikerahkan ke. Misalnya, us-east-1.

`--runtime TEXT`  <a name="ref-sam-cli-local-invoke-options-runtime"></a>
Menggunakan runtime yang ditentukan untuk menjalankan fungsi Lambda secara lokal. Ini mengesampingkan runtime yang ditentukan dalam file. `template.yml` Ini juga memungkinkan pengujian fungsi Lambda dengan runtime yang berbeda tanpa memodifikasi konfigurasi fungsi asli.

`--save-params`  <a name="ref-sam-cli-local-invoke-options-save-params"></a>
Simpan parameter yang Anda berikan pada baris perintah ke file AWS SAM konfigurasi.

`--shutdown`  <a name="ref-sam-cli-local-invoke-options-shutdown"></a>
Mengemulasi peristiwa shutdown setelah pemanggilan selesai, untuk menguji penanganan ekstensi perilaku shutdown.

`--skip-prepare-infra`  <a name="ref-sam-cli-local-invoke-options-skip-prepare-infra"></a>
Melewati tahap persiapan jika tidak ada perubahan infrastruktur yang dilakukan. Gunakan dengan `--hook-name` opsi.

`--skip-pull-image`  <a name="ref-sam-cli-local-invoke-options-skip-pull-image"></a>
Secara default, Lambda AWS SAMCLI memeriksa lingkungan runtime jarak jauh terbaru Lambda dan memperbarui gambar lokal Anda secara otomatis agar tetap sinkron.  
Tentukan opsi ini untuk melewatkan menarik Docker gambar terbaru untuk lingkungan runtime Lambda Anda.

`--template, -t PATH`  <a name="ref-sam-cli-local-invoke-options-template"></a>
File AWS SAM template.  
Opsi ini tidak kompatibel dengan`--hook-name`.  
Jika Anda menentukan opsi ini, hanya AWS SAM memuat template dan sumber daya lokal yang ditunjuknya.

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
ID penyewa untuk fungsi Lambda multi-penyewa. Digunakan untuk memastikan isolasi komputasi antara penyewa yang berbeda. Diperlukan saat menjalankan fungsi yang dikonfigurasi dengan mode isolasi penyewa.

`--terraform-plan-file`  <a name="ref-sam-cli-local-invoke-options-terraform-plan-file"></a>
Jalur relatif atau absolut ke file Terraform paket lokal Anda saat menggunakan AWS SAMCLI withTerraform Cloud. Opsi ini mengharuskan `--hook-name` diatur ke`terraform`.

## Contoh
<a name="sam-cli-command-reference-sam-local-invoke-examples"></a>

Contoh berikut menggunakan peristiwa yang dihasilkan untuk pengujian lokal dengan menggunakan `s3.json` acara untuk memanggil fungsi Lambda secara lokal

```
$ sam local invoke --event events/s3.json S3JsonLoggerFunction
```

Contoh berikut menguji fungsi ` HelloWorldFunction` menggunakan Python 3.11 runtime

```
$ sam local invoke --runtime python3.11 HelloWorldFunction
```

Contoh berikut menguji fungsi ` HelloWorldFunction` dengan nama eksekusi tahan lama

```
$ sam local invoke HelloWorldFunction --durable-execution-name my-execution
```