

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.

`--container-dns {{TEXT}}`  <a name="ref-sam-cli-local-invoke-options-container-dns"></a>
Menentukan server DNS kustom untuk wadah Docker. Parameter ini dapat diteruskan beberapa kali untuk menentukan beberapa server DNS.  

**Example**  
Contoh: `--container-dns {{8.8.8.8}}`

`--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.  
Untuk fungsi Lambda dengan`PackageType: Zip`, ini mengganti gambar dasar runtime. 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.  
Untuk fungsi Lambda dengan`PackageType: Image`, ini mengesampingkan `ImageUri` dari template yang dibangun. Gunakan ini untuk memanggil gambar aplikasi yang berbeda secara lokal tanpa memodifikasi template Anda.  
Anda dapat menentukan opsi ini beberapa kali. Setiap instans dari opsi ini dapat mengambil baik string atau pasangan kunci-nilai. Jika Anda menentukan string, itu adalah URI dari gambar kontainer yang akan digunakan untuk semua fungsi dalam aplikasi Anda. Misalnya, `sam local invoke --invoke-image public.ecr.aws/sam/emu-python3.13`. Jika Anda menentukan pasangan kunci-nilai, kuncinya adalah nama sumber daya, dan nilainya adalah URI citra kontainer untuk digunakan untuk sumber daya tersebut. Misalnya, `sam local invoke --invoke-image public.ecr.aws/sam/emu-python3.13 --invoke-image Function1=amazon/aws-sam-cli-emulation-image-python3.13`. Dengan pasangan kunci-nilai, Anda dapat menentukan citra kontainer yang berbeda untuk sumber daya yang berbeda.

`--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 disebarkan. 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}}
```