

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

# AWS SAM CLI
<a name="using-sam-cli"></a>

AWS Serverless Application Model Command Line Interface (AWS SAMCLI) adalah alat baris perintah untuk pengembangan lokal dan pengujian aplikasi tanpa server. AWS SAMCLIIni memungkinkan Anda untuk membangun, mengubah, menyebarkan, men-debug, mengemas, menginisialisasi, dan menyinkronkan aplikasi tanpa server Anda secara lokal sebelum menerapkan ke cloud.

AWS SAMCLIbekerja dengan aplikasi tanpa server yang didefinisikan menggunakan kerangka kerja dan infrastruktur yang berbeda sebagai alat kode (IAc), dengan berbagai tingkat dukungan:
+ **AWS SAM template** - Menyediakan dukungan asli dengan set fitur lengkap, termasuk pengujian lokal, debugging, pengemasan, dan kemampuan penerapan.
+ **AWS Aplikasi CDK** - Mendukung pengujian lokal fungsi Lambda setelah Anda mensintesis AWS aplikasi CDK CloudFormation ke templat menggunakan perintah cdk synth.
+ **CloudFormation template** — Menawarkan kompatibilitas langsung karena AWS SAM memperluas CloudFormation, mendukung sumber daya tanpa server yang didefinisikan dalam templat standar. CloudFormation 
+ **Aplikasi Terraform** - Memberikan dukungan terbatas untuk membangun dan pengujian lokal fungsi Lambda. Mengharuskan Anda membuat artefak AWS SAM templat yang mewakili fungsi Lambda yang ditentukan Terraform Anda.

Untuk dukungan fitur yang paling komprehensif dan pengalaman pengembang yang efisien, sebaiknya gunakan AWS SAM templat asli.

**Topics**
+ [Bagaimana AWS SAMCLI perintah didokumentasikan](#using-sam-cli-documentation)
+ [Mengkonfigurasi AWS SAMCLI](using-sam-cli-configure.md)
+ [AWS SAMCLIperintah inti](using-sam-cli-corecommands.md)
+ [Pengujian lokal dengan AWS SAMCLI](using-sam-cli-local-testing.md)

## Bagaimana AWS SAMCLI perintah didokumentasikan
<a name="using-sam-cli-documentation"></a>

AWS SAMCLIperintah didokumentasikan menggunakan format berikut:
+ **Prompt** - Linux Prompt didokumentasikan secara default dan ditampilkan sebagai (`$ `). Untuk perintah yang Windows spesifik, (`> `) digunakan sebagai prompt. Jangan sertakan prompt saat Anda mengetik perintah.
+ **Direktori** — Ketika perintah harus dijalankan dari direktori tertentu, nama direktori ditampilkan sebelum simbol prompt.
+ **Input pengguna** - Teks perintah yang Anda masukkan pada baris perintah diformat sebagai**user input**.
+ **Teks yang dapat diganti** - Teks variabel, seperti nama file dan parameter diformat sebagai. *replaceable text* Dalam perintah atau perintah multi-baris di mana input keyboard tertentu diperlukan, input keyboard juga dapat ditampilkan sebagai teks yang dapat diganti. Misalnya, *ENTER*.
+ **Output** - Output yang dikembalikan sebagai respons terhadap perintah diformat sebagai`computer output`.

`sam deploy`Perintah dan output berikut adalah contoh:

```
$ sam deploy --guided --template template.yaml

Configuring SAM deploy
======================

    Looking for config file [samconfig.toml] :  Found
    Reading default arguments  :  Success

    Setting default arguments for 'sam deploy'
    =========================================
    Stack Name [sam-app]: ENTER
    AWS Region [us-west-2]: ENTER
    #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
    Confirm changes before deploy [y/N]: ENTER
    #SAM needs permission to be able to create roles to connect to the resources in your template
    Allow SAM CLI IAM role creation [Y/n]: ENTER
    #Preserves the state of previously provisioned resources when an operation fails
    Disable rollback [y/N]: ENTER
    HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
    Save arguments to configuration file [Y/n]: ENTER
    SAM configuration file [samconfig.toml]: ENTER
    SAM configuration environment [default]: ENTER
```

1. `sam deploy --guided --template template.yaml`adalah perintah yang Anda masukkan di baris perintah.

1. **sam deploy --guided --template**harus disediakan apa adanya.

1. *template.yaml*dapat diganti dengan nama file spesifik Anda.

1. Output dimulai pada`Configuring SAM deploy`.

1. Dalam output, *ENTER* dan *y* tunjukkan nilai yang dapat diganti yang Anda berikan.