

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

# Pengantar pengujian di cloud dengan sam remote invoke
<a name="using-sam-cli-remote-invoke"></a>

Gunakan AWS Serverless Application Model perintah Command Line Interface (AWS SAM CLI) `sam remote invoke` untuk berinteraksi dengan AWS sumber daya yang didukung di AWS Cloud. Anda dapat menggunakan `sam remote invoke` untuk memanggil sumber daya berikut:
+ **Amazon Kinesis Data** Streams — Mengirim catatan data ke aplikasi Kinesis Data Streams.
+ **AWS Lambda**— Memanggil dan meneruskan acara ke fungsi Lambda Anda.
+ **Amazon Simple Queue Service (Amazon Simple Service) — Kirim pesan ke antrian Amazon** SQS.
+ **AWS Step Functions**— Memanggil mesin status Step Functions untuk memulai eksekusi.

Untuk pengantar AWS SAMCLI, lihat [Apa itu AWS SAMCLI?](what-is-sam-overview.md#what-is-sam-cli)

Untuk contoh penggunaan `sam remote invoke` selama alur kerja pengembangan tipikal, lihat[Langkah 5: Berinteraksi dengan fungsi Anda di AWS Cloud](serverless-getting-started-hello-world.md#serverless-getting-started-hello-world-remote-invoke).

**Topics**
+ [Menggunakan perintah sam remote invoke](#using-sam-cli-remote-invoke-use)
+ [Menggunakan opsi perintah panggilan jarak jauh sam](#using-sam-cli-remote-invoke-options)
+ [Konfigurasikan file konfigurasi proyek Anda](#using-sam-cli-remote-invoke-configure)
+ [Contoh](#using-sam-cli-remote-invoke-examples)
+ [Tautan terkait](#using-sam-cli-remote-invoke-links)

## Prasyarat
<a name="using-sam-cli-remote-invoke-prerequisites"></a>

Untuk menggunakan`sam remote invoke`, instal AWS SAMCLI dengan menyelesaikan yang berikut ini:
+ [AWS SAM prasyarat](prerequisites.md).
+ [Instal AWS SAMCLI](install-sam-cli.md).

Kami juga merekomendasikan untuk meningkatkan ke versi terbaru dari. AWS SAMCLI Untuk mempelajari selengkapnya, lihat [Upgrade AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade).

Sebelum menggunakan`sam remote invoke`, kami merekomendasikan pemahaman dasar tentang hal-hal berikut:
+ [Mengkonfigurasi AWS SAMCLI](using-sam-cli-configure.md).
+ [Buat aplikasi Anda di AWS SAM](using-sam-cli-init.md).
+ [Pengantar bangunan dengan AWS SAM](using-sam-cli-build.md).
+ [Pengantar penerapan dengan AWS SAM](using-sam-cli-deploy.md).
+ [Pengantar penggunaan sam sync untuk menyinkronkan ke AWS Cloud](using-sam-cli-sync.md).

## Menggunakan perintah sam remote invoke
<a name="using-sam-cli-remote-invoke-use"></a>

Sebelum menggunakan perintah ini, sumber daya Anda harus dikerahkan ke file. AWS Cloud

Gunakan struktur perintah berikut dan jalankan dari direktori root proyek Anda:

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

**catatan**  
Halaman ini akan menampilkan opsi yang disediakan di command prompt. Anda juga dapat mengonfigurasi opsi dalam file konfigurasi proyek Anda alih-alih meneruskannya di prompt perintah. Untuk mempelajari lebih lanjut,[Konfigurasikan pengaturan proyek](using-sam-cli-configure.md#using-sam-cli-configure-project).

Untuk deskripsi `sam remote invoke` argumen dan opsi, lihat[sam remote invoke](sam-cli-command-reference-remote-invoke.md).

### Menggunakan dengan Kinesis Data Streams
<a name="using-sam-cli-remote-invoke-use-kinesis"></a>

Anda dapat mengirim catatan data ke aplikasi Kinesis Data Streams. Ini AWS SAM CLI akan mengirim catatan data Anda dan mengembalikan ID pecahan dan nomor urut. Berikut ini adalah contohnya:

```
$ sam remote invoke KinesisStream --stack-name kinesis-example --event hello-world
	
	Putting record to Kinesis data stream KinesisStream                                                             
	Auto converting value 'hello-world' into JSON '"hello-world"'. If you don't want auto-conversion, please provide
	a JSON string as event                                                                                          
	{
	  "ShardId": "shardId-000000000000",
	  "SequenceNumber": "49646251411914806775980850790050483811301135051202232322"
	}%
```

**Untuk mengirim catatan data**

1. Berikan nilai ID sumber daya sebagai argumen untuk aplikasi Kinesis Data Streams Anda. Untuk informasi tentang sumber daya yang valid IDs, lihat [ID Sumber Daya](sam-cli-command-reference-remote-invoke.md#sam-cli-command-reference-remote-invoke-args-resource-id).

1. Berikan catatan data sebagai acara untuk dikirim ke aplikasi Kinesis Data Streams Anda. Anda dapat memberikan acara di baris perintah menggunakan `--event` opsi, atau dari file yang menggunakan`--event-file`. Jika Anda tidak memberikan acara, AWS SAM CLI mengirimkan acara kosong.

### Menggunakan dengan fungsi Lambda
<a name="using-sam-cli-remote-invoke-use-lambda"></a>

Anda dapat menjalankan fungsi Lambda di cloud dan meneruskan acara kosong atau memberikan acara di baris perintah atau dari file. Ini AWS SAM CLI akan memanggil fungsi Lambda Anda dan mengembalikan responsnya. Berikut ini adalah contohnya:

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app

Invoking Lambda Function HelloWorldFunction                                       
START RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9 Version: $LATEST
END RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9
REPORT RequestId: d5ef494b-5f45-4086-86fd-d7322fa1a1f9  Duration: 6.62 ms       Billed Duration: 7 ms     Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 164.06 ms
{"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
```

**Untuk menjalankan fungsi Lambda**

1. Berikan nilai ID sumber daya sebagai argumen untuk fungsi Lambda Anda. Untuk informasi tentang sumber daya yang valid IDs, lihat [ID Sumber Daya](sam-cli-command-reference-remote-invoke.md#sam-cli-command-reference-remote-invoke-args-resource-id).

1. Berikan acara untuk dikirim ke fungsi Lambda Anda. Anda dapat memberikan acara di baris perintah menggunakan `--event` opsi, atau dari file yang menggunakan`--event-file`. Jika Anda tidak memberikan acara, AWS SAM CLI mengirimkan acara kosong.

#### Fungsi Lambda dikonfigurasi dengan streaming respons
<a name="using-sam-cli-remote-invoke-invoke-stream"></a>

`sam remote invoke`Perintah ini mendukung fungsi Lambda yang dikonfigurasi untuk mengalirkan respons. Anda dapat mengonfigurasi fungsi Lambda untuk mengalirkan respons menggunakan `FunctionUrlConfig` properti di templat Anda AWS SAM . Saat Anda menggunakan`sam remote invoke`, AWS SAMCLI akan secara otomatis mendeteksi konfigurasi Lambda Anda dan memanggil dengan streaming respons.

Sebagai contoh, lihat [Memanggil fungsi Lambda yang dikonfigurasi untuk mengalirkan respons](#using-sam-cli-remote-invoke-examples-lambda-stream).

#### Lulus peristiwa pengujian yang dapat dibagikan ke fungsi Lambda di cloud
<a name="using-sam-cli-remote-invoke-shareable"></a>

Acara uji yang dapat dibagikan adalah acara uji yang dapat Anda bagikan dengan orang lain dalam hal yang sama Akun AWS. Untuk mempelajari selengkapnya, lihat [Acara pengujian yang dapat dibagikan](https://docs.aws.amazon.com/lambda/latest/dg/testing-functions.html#creating-shareable-events) di *Panduan AWS Lambda Pengembang*.

##### Mengakses dan mengelola acara pengujian yang dapat dibagikan
<a name="using-sam-cli-remote-invoke-shareable-access"></a>

Anda dapat menggunakan AWS SAM CLI `sam remote test-event` perintah untuk mengakses dan mengelola peristiwa pengujian yang dapat dibagikan. Misalnya, Anda dapat menggunakan `sam remote test-event` untuk melakukan hal berikut:
+ Ambil peristiwa pengujian yang dapat dibagikan dari registri EventBridge skema Amazon.
+ Ubah peristiwa pengujian yang dapat dibagikan secara lokal dan unggah ke registri EventBridge skema.
+ Hapus peristiwa pengujian yang dapat dibagikan dari registri EventBridge skema.

Untuk mempelajari selengkapnya, lihat [Pengantar pengujian cloud dengan sam remote test-event](using-sam-cli-remote-test-event.md).

##### Lulus acara pengujian yang dapat dibagikan ke fungsi Lambda di cloud
<a name="using-sam-cli-remote-invoke-shareable-pass"></a>

Untuk meneruskan peristiwa pengujian yang dapat dibagikan dari registri EventBridge skema ke fungsi Lambda Anda di cloud, gunakan `--test-event-name` opsi dan berikan nama acara pengujian yang dapat dibagikan. Berikut ini adalah contohnya:

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app --test-event-name demo-event
```

Jika Anda menyimpan peristiwa pengujian yang dapat dibagikan secara lokal, Anda dapat menggunakan `--event-file` opsi dan memberikan jalur file dan nama acara pengujian lokal. Berikut ini adalah contohnya:

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file demo-event.json
```

### Menggunakan dengan Amazon SQS
<a name="using-sam-cli-remote-invoke-use-sqs"></a>

Anda dapat mengirim pesan ke antrian Amazon SQS. AWS SAM CLIPengembalian berikut ini:
+ ID Pesan
+ MD5 dari badan pesan
+ Metadata respons

 Berikut ini adalah contohnya:

```
$ sam remote invoke MySqsQueue --stack-name sqs-example -event hello

Sending message to SQS queue MySqsQueue                                                                         
{
  "MD5OfMessageBody": "5d41402abc4b2a76b9719d911017c592",
  "MessageId": "05c7af65-9ae8-4014-ae28-809d6d8ec652"
}%
```

**Untuk mengirim pesan**

1. Berikan nilai ID sumber daya sebagai argumen untuk antrean Amazon SQS. Untuk informasi tentang sumber daya yang valid IDs, lihat [ID Sumber Daya](sam-cli-command-reference-remote-invoke.md#sam-cli-command-reference-remote-invoke-args-resource-id).

1. Berikan acara untuk dikirim ke antrean Amazon SQS Anda. Anda dapat memberikan acara di baris perintah menggunakan `--event` opsi, atau dari file yang menggunakan`--event-file`. Jika Anda tidak memberikan acara, AWS SAM CLI mengirimkan acara kosong.

### Menggunakan dengan Step Functions
<a name="using-sam-cli-remote-invoke-use-sf"></a>

Anda dapat memanggil mesin status Step Functions untuk memulai eksekusi. AWS SAM CLIAkan menunggu alur kerja mesin negara selesai dan mengembalikan output dari langkah terakhir dalam eksekusi. Berikut ini adalah contohnya:

```
$ sam remote invoke HelloWorldStateMachine --stack-name state-machine-example --event '{"is_developer": true}'

Invoking Step Function HelloWorldStateMachine                                                                   
"Hello Developer World"%
```

**Untuk memanggil mesin negara**

1. Berikan nilai ID sumber daya sebagai argumen untuk mesin status Step Functions. Untuk informasi tentang sumber daya yang valid IDs, lihat [ID Sumber Daya](sam-cli-command-reference-remote-invoke.md#sam-cli-command-reference-remote-invoke-args-resource-id).

1. Berikan acara untuk dikirim ke mesin negara Anda. Anda dapat memberikan acara di baris perintah menggunakan `--event` opsi, atau dari file yang menggunakan`--event-file`. Jika Anda tidak memberikan acara, AWS SAM CLI mengirimkan acara kosong.

## Menggunakan opsi perintah panggilan jarak jauh sam
<a name="using-sam-cli-remote-invoke-options"></a>

Bagian ini mencakup beberapa opsi utama yang dapat Anda gunakan dengan `sam remote invoke` perintah. Untuk daftar lengkap opsi, lihat[sam remote invoke](sam-cli-command-reference-remote-invoke.md).

### Lulus acara ke sumber daya Anda
<a name="using-sam-cli-remote-invoke-options-event"></a>

Gunakan opsi berikut untuk meneruskan acara ke sumber daya Anda di cloud:
+ `--event`— Lewati acara di baris perintah.
+ `--event-file`— Lulus acara dari file.

#### Contoh Lambda
<a name="using-sam-cli-remote-invoke-options-event-lambda-examples"></a>

**Gunakan `--event` untuk meneruskan acara di baris perintah sebagai nilai string:**

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app --event '{"message": "hello!"}'

Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
START RequestId: b992292d-1fac-4aa2-922a-c9dc5c6fceab Version: $LATEST
END RequestId: b992292d-1fac-4aa2-922a-c9dc5c6fceab
REPORT RequestId: b992292d-1fac-4aa2-922a-c9dc5c6fceab  Duration: 16.41 ms      Billed Duration: 17 ms  Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 185.96 ms
{"statusCode":200,"body":"{\"message\":\"hello!\"}"}%
```

**Gunakan `--event-file` untuk meneruskan acara dari file dan memberikan path ke file:**

```
$ cat event.json
			
{"message": "hello from file"}%    
			
$ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file event.json       

Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
START RequestId: 3bc71f7d-153a-4b1e-8c9a-901d91b1bec9 Version: $LATEST
END RequestId: 3bc71f7d-153a-4b1e-8c9a-901d91b1bec9
REPORT RequestId: 3bc71f7d-153a-4b1e-8c9a-901d91b1bec9  Duration: 21.15 ms      Billed Duration: 22 ms  Memory Size: 128 MB     Max Memory Used: 67 MB
{"statusCode":200,"body":"{\"message\":\"hello from file\"}"}%
```

**Lulus acara menggunakan`stdin`:**

```
$ cat event.json
			
{"message": "hello from file"}%    
                                                                       
$ cat event.json | sam remote invoke HelloWorldFunction --stack-name sam-app --event-file -

Reading event from stdin (you can also pass it from file with --event-file)                               
Invoking Lambda Function HelloWorldFunction                                                               
START RequestId: 85ecc902-8ad0-4a2b-a8c8-9bb4f65f5a7a Version: $LATEST
END RequestId: 85ecc902-8ad0-4a2b-a8c8-9bb4f65f5a7a
REPORT RequestId: 85ecc902-8ad0-4a2b-a8c8-9bb4f65f5a7a  Duration: 1.36 ms       Billed Duration: 2 ms   Memory Size: 128 MB       Max Memory Used: 67 MB
{"statusCode":200,"body":"{\"message\":\"hello from file\"}"}%
```

### Konfigurasikan output AWS SAMCLI respons
<a name="using-sam-cli-remote-invoke-options-output"></a>

Saat Anda memanggil sumber daya yang didukung`sam remote invoke`, akan AWS SAMCLI mengembalikan respons yang berisi berikut ini:
+ **Minta metadata** — Metadata yang terkait dengan permintaan. Ini termasuk ID permintaan dan waktu mulai permintaan.
+ **Respons sumber daya** — Respons dari sumber daya Anda setelah dipanggil di cloud.

Anda dapat menggunakan `--output` opsi untuk mengkonfigurasi respons AWS SAM CLI output. Nilai opsi berikut tersedia:
+ `json`— Metadata dan respon sumber daya dikembalikan dalam struktur. JSON Respons berisi SDK output penuh.
+ `text`— Metadata dikembalikan dalam struktur teks. Respons sumber daya dikembalikan dalam format output sumber daya.

Berikut ini adalah contoh dari `json` output:

```
$ sam remote invoke --stack-name sam-app --output json

Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
{
  "ResponseMetadata": {
    "RequestId": "3bdf9a30-776d-4a90-94a6-4cccc0fc7b41",
    "HTTPStatusCode": 200,
    "HTTPHeaders": {
      "date": "Mon, 19 Jun 2023 17:15:46 GMT",
      "content-type": "application/json",
      "content-length": "57",
      "connection": "keep-alive",
      "x-amzn-requestid": "3bdf9a30-776d-4a90-94a6-4cccc0fc7b41",
      "x-amzn-remapped-content-length": "0",
      "x-amz-executed-version": "$LATEST",
      "x-amz-log-result": "U1RBUlQgUmVxdWVzdElkOiAzYmRmOWEzMC03NzZkLTRhOTAtOTRhNi00Y2NjYzBmYzdiNDEgVmVyc2lvbjogJExBVEVTVApFTkQgUmVxdWVzdElkOiAzYmRmOWEzMC03NzZkLTRhOTAtOTRhNi00Y2NjYzBmYzdiNDEKUkVQT1JUIFJlcXVlc3RJZDogM2JkZjlhMzAtNzc2ZC00YTkwLTk0YTYtNGNjY2MwZmM3YjQxCUR1cmF0aW9uOiA4LjIzIG1zCUJpbGxlZCBEdXJhdGlvbjogOSBtcwlNZW1vcnkgU2l6ZTogMTI4IE1CCU1heCBNZW1vcnkgVXNlZDogNjggTUIJCg==",
      "x-amzn-trace-id": "root=1-64908d42-17dab270273fcc6b527dd6b8;sampled=0;lineage=2301f8dc:0"
    },
    "RetryAttempts": 0
  },
  "StatusCode": 200,
  "LogResult": "U1RBUlQgUmVxdWVzdElkOiAzYmRmOWEzMC03NzZkLTRhOTAtOTRhNi00Y2NjYzBmYzdiNDEgVmVyc2lvbjogJExBVEVTVApFTkQgUmVxdWVzdElkOiAzYmRmOWEzMC03NzZkLTRhOTAtOTRhNi00Y2NjYzBmYzdiNDEKUkVQT1JUIFJlcXVlc3RJZDogM2JkZjlhMzAtNzc2ZC00YTkwLTk0YTYtNGNjY2MwZmM3YjQxCUR1cmF0aW9uOiA4LjIzIG1zCUJpbGxlZCBEdXJhdGlvbjogOSBtcwlNZW1vcnkgU2l6ZTogMTI4IE1CCU1heCBNZW1vcnkgVXNlZDogNjggTUIJCg==",
  "ExecutedVersion": "$LATEST",
  "Payload": "{\"statusCode\":200,\"body\":\"{\\\"message\\\":\\\"hello world\\\"}\"}"
}%
```

Saat Anda menentukan `json` output, seluruh respons dikembalikan ke`stdout`. Berikut ini adalah contohnya:

```
$ sam remote invoke --stack-name sam-app --output json 1> stdout.log

Invoking Lambda Function HelloWorldFunction           
                                                                                                                                                                                                          
$ cat stdout.log
			
{
  "ResponseMetadata": {
    "RequestId": "d30d280f-8188-4372-bc94-ce0f1603b6bb",
    "HTTPStatusCode": 200,
    "HTTPHeaders": {
      "date": "Mon, 19 Jun 2023 17:35:56 GMT",
      "content-type": "application/json",
      "content-length": "57",
      "connection": "keep-alive",
      "x-amzn-requestid": "d30d280f-8188-4372-bc94-ce0f1603b6bb",
      "x-amzn-remapped-content-length": "0",
      "x-amz-executed-version": "$LATEST",
      "x-amz-log-result": "U1RBUlQgUmVxdWVzdElkOiBkMzBkMjgwZi04MTg4LTQzNzItYmM5NC1jZTBmMTYwM2I2YmIgVmVyc2lvbjogJExBVEVTVApFTkQgUmVxdWVzdElkOiBkMzBkMjgwZi04MTg4LTQzNzItYmM5NC1jZTBmMTYwM2I2YmIKUkVQT1JUIFJlcXVlc3RJZDogZDMwZDI4MGYtODE4OC00MzcyLWJjOTQtY2UwZjE2MDNiNmJiCUR1cmF0aW9uOiA0LjE2IG1zCUJpbGxlZCBEdXJhdGlvbjogNSBtcwlNZW1vcnkgU2l6ZTogMTI4IE1CCU1heCBNZW1vcnkgVXNlZDogNjcgTUIJSW5pdCBEdXJhdGlvbjogMTU4LjM5IG1zCQo=",
      "x-amzn-trace-id": "root=1-649091fc-771473c7778689627a6122b7;sampled=0;lineage=2301f8dc:0"
    },
    "RetryAttempts": 0
  },
  "StatusCode": 200,
  "LogResult": "U1RBUlQgUmVxdWVzdElkOiBkMzBkMjgwZi04MTg4LTQzNzItYmM5NC1jZTBmMTYwM2I2YmIgVmVyc2lvbjogJExBVEVTVApFTkQgUmVxdWVzdElkOiBkMzBkMjgwZi04MTg4LTQzNzItYmM5NC1jZTBmMTYwM2I2YmIKUkVQT1JUIFJlcXVlc3RJZDogZDMwZDI4MGYtODE4OC00MzcyLWJjOTQtY2UwZjE2MDNiNmJiCUR1cmF0aW9uOiA0LjE2IG1zCUJpbGxlZCBEdXJhdGlvbjogNSBtcwlNZW1vcnkgU2l6ZTogMTI4IE1CCU1heCBNZW1vcnkgVXNlZDogNjcgTUIJSW5pdCBEdXJhdGlvbjogMTU4LjM5IG1zCQo=",
  "ExecutedVersion": "$LATEST",
  "Payload": "{\"statusCode\":200,\"body\":\"{\\\"message\\\":\\\"hello world\\\"}\"}"
}%
```

Berikut ini adalah contoh dari `text` output:

```
$ sam remote invoke --stack-name sam-app --output text

Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
START RequestId: 4dbacc43-1ec6-47c2-982b-9dc4620144d6 Version: $LATEST
END RequestId: 4dbacc43-1ec6-47c2-982b-9dc4620144d6
REPORT RequestId: 4dbacc43-1ec6-47c2-982b-9dc4620144d6  Duration: 9.13 ms       Billed Duration: 10 ms  Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 165.50 ms
{"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
```

Saat Anda menentukan `text` output, output runtime fungsi Lambda (misalnya, log) dikembalikan ke. `stderr` Payload fungsi Lambda dikembalikan ke. `stdout` Berikut ini adalah contohnya:

```
$ sam remote invoke --stack-name sam-app --output text 2> stderr.log

{"statusCode":200,"body":"{\"message\":\"hello world\"}"}% 
                                                                                                                                                                                                     
$ cat stderr.log

Invoking Lambda Function HelloWorldFunction
START RequestId: 82273c3b-aa3a-4d16-8f1c-1d2ad3ace891 Version: $LATEST
END RequestId: 82273c3b-aa3a-4d16-8f1c-1d2ad3ace891
REPORT RequestId: 82273c3b-aa3a-4d16-8f1c-1d2ad3ace891  Duration: 40.62 ms      Billed Duration: 41 ms  Memory Size: 128 MB     Max Memory Used: 68 MB

$ sam remote invoke --stack-name sam-app --output text 1> stdout.log
 
Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
START RequestId: 74acaa9f-5b80-4a5c-b3b8-ffaccb84cbbd Version: $LATEST
END RequestId: 74acaa9f-5b80-4a5c-b3b8-ffaccb84cbbd
REPORT RequestId: 74acaa9f-5b80-4a5c-b3b8-ffaccb84cbbd  Duration: 2.31 ms       Billed Duration: 3 ms   Memory Size: 128 MB     Max Memory Used: 67 MB

$ cat stdout.log

{"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
```

### Sesuaikan Boto3 parameter
<a name="using-sam-cli-remote-invoke-options-boto3"></a>

Untuk`sam remote invoke`, AWS SAM CLI menggunakan AWS SDK for Python (Boto3) untuk berinteraksi dengan sumber daya Anda di cloud. Anda dapat menggunakan `--parameter` opsi untuk menyesuaikan Boto3 parameter. Untuk daftar parameter yang didukung yang dapat Anda sesuaikan, lihat`--parameter`.

#### Contoh
<a name="using-sam-cli-remote-invoke-options-boto3-examples"></a>

**Memanggil fungsi Lambda untuk memvalidasi nilai parameter dan memverifikasi izin:**

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app --parameter InvocationType="DryRun"
```

**Gunakan `--parameter` opsi beberapa kali dalam satu perintah untuk menyediakan beberapa parameter:**

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app --parameter InvocationType="Event" --parameter LogType="None"
```

### Pilihan lain
<a name="using-sam-cli-remote-invoke-options-other"></a>

Untuk daftar lengkap `sam remote invoke` opsi, lihat[sam remote invoke](sam-cli-command-reference-remote-invoke.md).

## Konfigurasikan file konfigurasi proyek Anda
<a name="using-sam-cli-remote-invoke-configure"></a>

Untuk mengkonfigurasi `sam remote invoke` dalam file konfigurasi Anda, gunakan `remote_invoke` dalam tabel Anda. Berikut ini adalah contoh `samconfig.toml` file yang mengkonfigurasi nilai default untuk `sam remote invoke` perintah.

```
...
version =0.1

[default]
...
[default.remote_invoke.parameters]
stack_name = "cloud-app"
event = '{"message": "Hello!"}'
```

## Contoh
<a name="using-sam-cli-remote-invoke-examples"></a>

Untuk contoh dasar penggunaan`sam remote invoke`, lihat [Menguji AWS Lambda fungsi dengan AWS SAM remote](https://aws.amazon.com/blogs/compute/testing-aws-lambda-functions-with-aws-sam-remote-invoke/) di *AWS Compute Blog*.

### Contoh Kinesis Data Streams
<a name="using-sam-cli-remote-invoke-examples-kinesis"></a>

#### Contoh dasar
<a name="using-sam-cli-remote-invoke-examples-kinesis-basic"></a>

**Kirim catatan data ke aplikasi Kinesis Data Streams dari file. Aplikasi Kinesis Data Streams diidentifikasi dengan menyediakan ARN untuk ID sumber daya:**

```
$ sam remote invoke arn:aws:kinesis:us-west-2:01234567890:stream/kinesis-example-KinesisStream-BgnLcAey4xUQ --event-file event.json
```

**Kirim acara yang disediakan di baris perintah ke aplikasi Kinesis Data Streams:**

```
$ sam remote invoke KinesisStream --stack-name kinesis-example --event hello-world

Putting record to Kinesis data stream KinesisStream                                                             
Auto converting value 'hello-world' into JSON '"hello-world"'. If you don't want auto-conversion, please provide
a JSON string as event                                                                                          
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49646251411914806775980903986194508740483329854174920706"
}%
```

**Dapatkan ID fisik dari aplikasi Kinesis Data Streams. Kemudian, berikan acara di baris perintah:**

```
$ sam list resources --stack-name kinesis-example --output json

[
  {
    "LogicalResourceId": "KinesisStream",
    "PhysicalResourceId": "kinesis-example-KinesisStream-ZgnLcQey4xUQ"
  }
]

$ sam remote invoke kinesis-example-KinesisStream-ZgnLcQey4xUQ --event hello

Putting record to Kinesis data stream KinesisStream                                                             
Auto converting value 'hello' into JSON '"hello"'. If you don't want auto-conversion, please provide a JSON     
string as event                                                                                                 
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49646251411914806775980904340716841045751814812900261890"
}%
```

**Berikan string JSON di baris perintah sebagai acara:**

```
$ sam remote invoke KinesisStream --stack-name kinesis-example --event '{"method": "GET", "body": ""}'                      

Putting record to Kinesis data stream KinesisStream                                                             
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49646251411914806775980904492868617924990209230536441858"
}%
```

**Kirim acara kosong ke aplikasi Kinesis Data Streams:**

```
$ sam remote invoke KinesisStream --stack-name kinesis-example

Putting record to Kinesis data stream KinesisStream                                                             
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49646251411914806775980904866469008589597168190416224258"
}%
```

**Kembalikan AWS SAM CLI respons dalam format JSON:**

```
$ sam remote invoke KinesisStream --stack-name kinesis-example --event '{"hello": "world"}' --output json

Putting record to Kinesis data stream KinesisStream                                                             
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49646251411914806775980905078409420803696667195489648642",
  "ResponseMetadata": {
    "RequestId": "ebbbd307-3e9f-4431-b67c-f0715e9e353e",
    "HTTPStatusCode": 200,
    "HTTPHeaders": {
      "x-amzn-requestid": "ebbbd307-3e9f-4431-b67c-f0715e9e353e",
      "x-amz-id-2": "Q3yBcgTwtPaQTV26IKclbECmZikUYOzKY+CzcxA84ZHgCkc5T2N/ITWg6RPOQcWw8Gn0tNPcEJBEHyVVqboJAPgCritqsvCu",
      "date": "Thu, 09 Nov 2023 18:13:10 GMT",
      "content-type": "application/x-amz-json-1.1",
      "content-length": "110"
    },
    "RetryAttempts": 0
  }
}%
```

**Kembalikan output JSON ke stdout:**

```
$ sam remote invoke KinesisStream --stack-name kinesis-example --event '{"hello": "world"}' --output json 1> stdout.log

Putting record to Kinesis data stream KinesisStream                                                             

$ cat stdout.log
{
  "ShardId": "shardId-000000000000",
  "SequenceNumber": "49646251411914806775980906397777867595039988349006774274",
  "ResponseMetadata": {
    "RequestId": "f4290006-d84b-b1cd-a9ee-28306eeb2939",
    "HTTPStatusCode": 200,
    "HTTPHeaders": {
      "x-amzn-requestid": "f4290006-d84b-b1cd-a9ee-28306eeb2939",
      "x-amz-id-2": "npCqz+IBKpoL4sQ1ClbUmxuJlbeA24Fx1UgpIrS6mm2NoIeV2qdZSN5AhNurdssykXajBrXaC9anMhj2eG/h7Hnbf+bPuotU",
      "date": "Thu, 09 Nov 2023 18:33:26 GMT",
      "content-type": "application/x-amz-json-1.1",
      "content-length": "110"
    },
    "RetryAttempts": 0
  }
}%
```

### Contoh Lambda
<a name="using-sam-cli-remote-invoke-examples-lambda"></a>

#### Contoh dasar
<a name="using-sam-cli-remote-invoke-examples-lambda-basic"></a>

**Memanggil fungsi Lambda dengan menyediakan ARN sebagai ID sumber daya:**

```
$ sam remote invoke arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction-ohRFEn2RuAvp
```

**Memanggil fungsi Lambda dengan memberikan ID logis sebagai ID sumber daya:**

Anda juga harus memberikan nama CloudFormation tumpukan menggunakan `--stack-name` opsi. Berikut ini adalah contohnya:

```
$ sam remote invoke HelloWorldFunction --stack-name sam-app
```

Jika aplikasi Anda berisi satu fungsi Lambda, Anda tidak perlu menentukan ID logisnya. Anda hanya dapat memberikan `--stack-name` opsi. Berikut ini adalah contohnya:

```
$ sam remote invoke --stack-name sam-app
```

**Memanggil fungsi Lambda dengan memberikan ID fisik sebagai ID sumber daya:**

ID fisik akan dibuat saat Anda menerapkan menggunakan CloudFormation.

```
$ sam remote invoke sam-app-HelloWorldFunction-TZvxQRFNv0k4
```

**Memanggil fungsi Lambda dari tumpukan anak:**

Untuk contoh ini, aplikasi kami berisi struktur direktori berikut:

```
lambda-example
├── childstack
│   ├── function
│   │   ├── __init__.py
│   │   ├── app.py
│   │   └── requirements.txt
│   └── template.yaml
├── events
│   └── event.json
├── samconfig.toml
└── template.yaml
```

Untuk memanggil fungsi Lambda `childstack` kami, kami menjalankan yang berikut:

```
$ sam remote invoke ChildStack/HelloWorldFunction --stack-name lambda-example

Invoking Lambda Function HelloWorldFunction                                                                     
START RequestId: 207a864b-e67c-4307-8478-365b004d4bcd Version: $LATEST
END RequestId: 207a864b-e67c-4307-8478-365b004d4bcd
REPORT RequestId: 207a864b-e67c-4307-8478-365b004d4bcd  Duration: 1.27 ms       Billed Duration: 2 ms   Memory Size: 128 MB     Max Memory Used: 36 MB  Init Duration: 111.07 ms
{"statusCode": 200, "body": "{\"message\": \"Hello\", \"received_event\": {}}"}%
```

#### Memanggil fungsi Lambda yang dikonfigurasi untuk mengalirkan respons
<a name="using-sam-cli-remote-invoke-examples-lambda-stream"></a>

Dalam contoh ini, kita menggunakan AWS SAMCLI untuk menginisialisasi aplikasi tanpa server baru yang berisi fungsi Lambda yang dikonfigurasi untuk mengalirkan responsnya. Kami menyebarkan aplikasi kami ke AWS Cloud dan menggunakan `sam remote invoke` untuk berinteraksi dengan fungsi kami di cloud.

Kita mulai dengan menjalankan `sam init` perintah untuk membuat aplikasi tanpa server baru. Kami memilih template mulai cepat **Lambda Response Streaming** dan memberi nama aplikasi kami. **lambda-streaming-nodejs-app**

```
$ sam init
	
	You can preselect a particular runtime or package type when using the `sam init` experience.
	Call `sam init --help` to learn more.
	
	Which template source would you like to use?
	        1 - AWS Quick Start Templates
	        2 - Custom Template Location
	Choice: 1
	
	Choose an AWS Quick Start application template
	        1 - Hello World Example
	        ...
	        9 - Lambda Response Streaming
	        ...
	        15 - Machine Learning
	Template: 9
	
	Which runtime would you like to use?
	        1 - go (provided.al2)
	        2 - nodejs18.x
	        3 - nodejs16.x
	Runtime: 2
	
	Based on your selections, the only Package type available is Zip.
	We will proceed to selecting the Package type as Zip.
	
	Based on your selections, the only dependency manager available is npm.
	We will proceed copying the template using npm.
	
	Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER
	
	Would you like to enable monitoring using CloudWatch Application Insights?
	For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER
	
	Project name [sam-app]: lambda-streaming-nodejs-app
	
	    -----------------------
	    Generating application:
	    -----------------------
	    Name: lambda-streaming-nodejs-app
	    Runtime: nodejs18.x
	    Architectures: x86_64
	    Dependency Manager: npm
	    Application Template: response-streaming
	    Output Directory: .
	    Configuration file: lambda-streaming-nodejs-app/samconfig.toml
	    
	    Next steps can be found in the README file at lambda-streaming-nodejs-app/README.md
	        
	
	Commands you can use next
	=========================
	[*] Create pipeline: cd lambda-streaming-nodejs-app && sam pipeline init --bootstrap
	[*] Validate SAM template: cd lambda-streaming-nodejs-app && sam validate
	[*] Test Function in the Cloud: cd lambda-streaming-nodejs-app && sam sync --stack-name {stack-name} --watch
```

 AWS SAMCLIIni menciptakan proyek kami dengan struktur berikut:

```
lambda-streaming-nodejs-app
	├── README.md
	├── __tests__
	│   └── unit
	│       └── index.test.js
	├── package.json
	├── samconfig.toml
	├── src
	│   └── index.js
	└── template.yaml
```

Berikut ini adalah contoh kode fungsi Lambda kami:

```
exports.handler = awslambda.streamifyResponse(
	  async (event, responseStream, context) => {
	    const httpResponseMetadata = {
	      statusCode: 200,
	      headers: {
	        "Content-Type": "text/html",
	        "X-Custom-Header": "Example-Custom-Header"
	      }
	    };
	
	    responseStream = awslambda.HttpResponseStream.from(responseStream, httpResponseMetadata);
	    // It's recommended to use a `pipeline` over the `write` method for more complex use cases.
	    // Learn more: https://docs.aws.amazon.com/lambda/latest/dg/configuration-response-streaming.html
	    responseStream.write("<html>");
	    responseStream.write("<p>First write!</p>");
	
	    responseStream.write("<h1>Streaming h1</h1>");
	    await new Promise(r => setTimeout(r, 1000));
	    responseStream.write("<h2>Streaming h2</h2>");
	    await new Promise(r => setTimeout(r, 1000));
	    responseStream.write("<h3>Streaming h3</h3>");
	    await new Promise(r => setTimeout(r, 1000));
	
	    // Long strings will be streamed
	    const loremIpsum1 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque vitae mi tincidunt tellus ultricies dignissim id et diam. Morbi pharetra eu nisi et finibus. Vivamus diam nulla, vulputate et nisl cursus, pellentesque vehicula libero. Cras imperdiet lorem ante, non posuere dolor sollicitudin a. Vestibulum ipsum lacus, blandit nec augue id, lobortis dictum urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Morbi auctor orci eget tellus aliquam, non maximus massa porta. In diam ante, pulvinar aliquam nisl non, elementum hendrerit sapien. Vestibulum massa nunc, mattis non congue vitae, placerat in quam. Nam vulputate lectus metus, et dignissim erat varius a.";
	    responseStream.write(`<p>${loremIpsum1}</p>`);
	    await new Promise(r => setTimeout(r, 1000));
	
	    responseStream.write("<p>DONE!</p>");
	    responseStream.write("</html>");
	    responseStream.end();
	  }
	);
```

Berikut ini adalah contoh `template.yaml` file kami. Streaming respons untuk fungsi Lambda kami dikonfigurasi menggunakan properti. `FunctionUrlConfig`

```
AWSTemplateFormatVersion: '2010-09-09'
	Transform: AWS::Serverless-2016-10-31
	
	Description: >
	  Sample SAM Template for lambda-streaming-nodejs-app
	  
	Resources:
	  StreamingFunction:
	    Type: AWS::Serverless::Function
	    Properties:
	      CodeUri: src/
	      Handler: index.handler
	      Runtime: nodejs18.x
	      Architectures:
	        - x86_64
	      Timeout: 10
	      FunctionUrlConfig:
	        AuthType: AWS_IAM
	        InvokeMode: RESPONSE_STREAM
	
	Outputs:
	  StreamingFunction:
	    Description: "Streaming Lambda Function ARN"
	    Value: !GetAtt StreamingFunction.Arn
	  StreamingFunctionURL:
	    Description: "Streaming Lambda Function URL"
	    Value: !GetAtt StreamingFunctionUrl.FunctionUrl
```

Biasanya, Anda dapat menggunakan `sam build` dan `sam deploy --guided` untuk membangun dan menyebarkan aplikasi produksi. Dalam contoh ini, kita akan mengasumsikan lingkungan pengembangan dan menggunakan `sam sync` perintah untuk membangun dan menyebarkan aplikasi kita.

**catatan**  
`sam sync`Perintah ini direkomendasikan untuk lingkungan pengembangan. Untuk mempelajari selengkapnya, lihat [Pengantar penggunaan sam sync untuk menyinkronkan ke AWS Cloud](using-sam-cli-sync.md).

Sebelum menjalankan`sam sync`, kami memverifikasi bahwa proyek kami dikonfigurasi dengan benar di `samconfig.toml` file kami. Yang terpenting, kami memverifikasi nilai untuk `stack_name` dan`watch`. Dengan nilai-nilai ini ditentukan dalam file konfigurasi kami, kami tidak harus menyediakannya di baris perintah.

```
version = 0.1
	
	[default]
	[default.global.parameters]
	stack_name = "lambda-streaming-nodejs-app"
	
	[default.build.parameters]
	cached = true
	parallel = true
	
	[default.validate.parameters]
	lint = true
	
	[default.deploy.parameters]
	capabilities = "CAPABILITY_IAM"
	confirm_changeset = true
	resolve_s3 = true
	s3_prefix = "lambda-streaming-nodejs-app"
	region = "us-west-2"
	image_repositories = []
	
	[default.package.parameters]
	resolve_s3 = true
	
	[default.sync.parameters]
	watch = true
	
	[default.local_start_api.parameters]
	warm_containers = "EAGER"
	
	[default.local_start_lambda.parameters]
	warm_containers = "EAGER"
```

Selanjutnya, kita jalankan `sam sync` untuk membangun dan menyebarkan aplikasi kita. Karena `--watch` opsi dikonfigurasi dalam file konfigurasi kami, AWS SAMCLI akan membangun aplikasi kami, menyebarkan aplikasi kami, dan melihat perubahan.

```
$ sam sync
	
	The SAM CLI will use the AWS Lambda, Amazon API Gateway, and AWS StepFunctions APIs to upload your code   
	without                                                                                                   
	performing a CloudFormation deployment. This will cause drift in your CloudFormation stack.               
	**The sync command should only be used against a development stack**.                                     
	                                                                                                          
	Queued infra sync. Waiting for in progress code syncs to complete...                                      
	Starting infra sync.                                                                                      
	Building codeuri:                                                                                         
	/Users/.../lambda-streaming-nodejs-app/src runtime: nodejs18.x metadata: {} architecture: x86_64 functions: StreamingFunction  
	package.json file not found. Continuing the build without dependencies.                                   
	Running NodejsNpmBuilder:CopySource                                                                       
	
	Build Succeeded
	
	Successfully packaged artifacts and wrote output template to file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpavrzdhgp.
	Execute the following command to deploy the packaged template
	sam deploy --template-file /var/folders/45/5ct135bx3fn2551_ptl5g6_80000gr/T/tmpavrzdhgp --stack-name <YOUR STACK NAME>
	
	
	        Deploying with following values
	        ===============================
	        Stack name                   : lambda-streaming-nodejs-app
	        Region                       : us-west-2
	        Disable rollback             : False
	        Deployment s3 bucket         : aws-sam-cli-managed-default-samclisam-s3-demo-bucket-1a4x26zbcdkqr
	        Capabilities                 : ["CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"]
	        Parameter overrides          : {}
	        Signing Profiles             : null
	
	Initiating deployment
	=====================
	
	
	2023-06-20 12:11:16 - Waiting for stack create/update to complete
	
	CloudFormation events from stack operations (refresh every 0.5 seconds)
	-----------------------------------------------------------------------------------------------------
	ResourceStatus            ResourceType              LogicalResourceId         ResourceStatusReason    
	-----------------------------------------------------------------------------------------------------
	CREATE_IN_PROGRESS        AWS::CloudFormation::St   lambda-streaming-         Transformation          
	                          ack                       nodejs-app                succeeded               
	CREATE_IN_PROGRESS        AWS::IAM::Role            StreamingFunctionRole     -                       
	CREATE_IN_PROGRESS        AWS::CloudFormation::St   AwsSamAutoDependencyLay   -                       
	                          ack                       erNestedStack                                     
	CREATE_IN_PROGRESS        AWS::IAM::Role            StreamingFunctionRole     Resource creation       
	                                                                              Initiated               
	CREATE_IN_PROGRESS        AWS::CloudFormation::St   AwsSamAutoDependencyLay   Resource creation       
	                          ack                       erNestedStack             Initiated               
	CREATE_COMPLETE           AWS::IAM::Role            StreamingFunctionRole     -                       
	CREATE_COMPLETE           AWS::CloudFormation::St   AwsSamAutoDependencyLay   -                       
	                          ack                       erNestedStack                                     
	CREATE_IN_PROGRESS        AWS::Lambda::Function     StreamingFunction         -                       
	CREATE_IN_PROGRESS        AWS::Lambda::Function     StreamingFunction         Resource creation       
	                                                                              Initiated               
	CREATE_COMPLETE           AWS::Lambda::Function     StreamingFunction         -                       
	CREATE_IN_PROGRESS        AWS::Lambda::Url          StreamingFunctionUrl      -                       
	CREATE_IN_PROGRESS        AWS::Lambda::Url          StreamingFunctionUrl      Resource creation       
	                                                                              Initiated               
	CREATE_COMPLETE           AWS::Lambda::Url          StreamingFunctionUrl      -                       
	CREATE_COMPLETE           AWS::CloudFormation::St   lambda-streaming-         -                       
	                          ack                       nodejs-app                                        
	-----------------------------------------------------------------------------------------------------
	
	CloudFormation outputs from deployed stack
	-------------------------------------------------------------------------------------------------------
	Outputs                                                                                               
	-------------------------------------------------------------------------------------------------------
	Key                 StreamingFunction                                                                 
	Description         Streaming Lambda Function ARN                                                     
	Value               arn:aws:lambda:us-west-2:012345678910:function:lambda-streaming-nodejs-app-       
	StreamingFunction-gUmhO833A0vZ                                                                        
	
	Key                 StreamingFunctionURL                                                              
	Description         Streaming Lambda Function URL                                                     
	Value               https://wxgkcc2dyntgtrwhf2dgdcvylu0rnnof.lambda-url.us-west-2.on.aws/             
	-------------------------------------------------------------------------------------------------------
	
	                                                                                                          
	Stack creation succeeded. Sync infra completed.                                                           
	                                                                                                          
	Infra sync completed.
```

Sekarang fungsi kita diterapkan ke cloud, kita dapat menggunakan `sam remote invoke` untuk berinteraksi dengan fungsi kita. AWS SAMCLISecara otomatis mendeteksi bahwa fungsi kami dikonfigurasi untuk streaming respons dan segera mulai mengeluarkan respons streaming dari fungsi kami secara real time.

```
$ sam remote invoke StreamingFunction
	
	Invoking Lambda Function StreamingFunction                                              
	{"statusCode":200,"headers":{"Content-Type":"text/html","X-Custom-Header":"Example-Custom-Header"}}<html><p>First write!</p><h1>Streaming h1</h1><h2>Streaming h2</h2><h3>Streaming h3</h3><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque vitae mi tincidunt tellus ultricies dignissim id et diam. Morbi pharetra eu nisi et finibus. Vivamus diam nulla, vulputate et nisl cursus, pellentesque vehicula libero. Cras imperdiet lorem ante, non posuere dolor sollicitudin a. Vestibulum ipsum lacus, blandit nec augue id, lobortis dictum urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Morbi auctor orci eget tellus aliquam, non maximus massa porta. In diam ante, pulvinar aliquam nisl non, elementum hendrerit sapien. Vestibulum massa nunc, mattis non congue vitae, placerat in quam. Nam vulputate lectus metus, et dignissim erat varius a.</p><p>DONE!</p></html>START RequestId: 1e4cdf04-60de-4769-b3a2-c1481982deb4 Version: $LATEST
	END RequestId: 1e4cdf04-60de-4769-b3a2-c1481982deb4
	REPORT RequestId: 1e4cdf04-60de-4769-b3a2-c1481982deb4  Duration: 4088.66 ms    Billed Duration: 4089 ms        Memory Size: 128 MB     Max Memory Used: 68 MB  Init Duration: 168.45 ms
```

Ketika kita memodifikasi kode fungsi kita, AWS SAMCLI langsung mendeteksi dan segera menyebarkan perubahan kita. Berikut adalah contoh AWS SAMCLI output setelah perubahan dilakukan pada kode fungsi kami:

```
Syncing Lambda Function StreamingFunction...                                             
	Building codeuri:                                                                        
	/Users/.../lambda-streaming-nodejs-app/src runtime: nodejs18.x metadata: {} architecture:    
	x86_64 functions: StreamingFunction                                                      
	package.json file not found. Continuing the build without dependencies.                  
	Running NodejsNpmBuilder:CopySource                                                      
	Finished syncing Lambda Function StreamingFunction.                                      
	Syncing Layer StreamingFunctione9cfe924DepLayer...                                       
	SyncFlow [Layer StreamingFunctione9cfe924DepLayer]: Skipping resource update as the      
	content didn't change                                                                    
	Finished syncing Layer StreamingFunctione9cfe924DepLayer.
```

Kita sekarang dapat menggunakan `sam remote invoke` lagi untuk berinteraksi dengan fungsi kita di cloud dan menguji perubahan kita.

### Contoh SQS
<a name="using-sam-cli-remote-invoke-examples-sqs"></a>

#### Contoh dasar
<a name="using-sam-cli-remote-invoke-examples-sqs-basic"></a>

**Memanggil antrian Amazon SQS dengan memberikan ARN sebagai ID sumber daya:**

```
$ sam remote invoke arn:aws:sqs:us-west-2:01234567890:sqs-example-4DonhBsjsW1b --event '{"hello": "world"}' --output json

Sending message to SQS queue MySqsQueue                                                                         
{
  "MD5OfMessageBody": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9",
  "MessageId": "4f464cdd-15ef-4b57-bd72-3ad225d80adc",
  "ResponseMetadata": {
    "RequestId": "95d39377-8323-5ef0-9223-ceb198bd09bd",
    "HTTPStatusCode": 200,
    "HTTPHeaders": {
      "x-amzn-requestid": "95d39377-8323-5ef0-9223-ceb198bd09bd",
      "date": "Wed, 08 Nov 2023 23:27:26 GMT",
      "content-type": "application/x-amz-json-1.0",
      "content-length": "106",
      "connection": "keep-alive"
    },
    "RetryAttempts": 0
  }
}%
```

### Contoh Step Functions
<a name="using-sam-cli-remote-invoke-examples-sf"></a>

#### Contoh dasar
<a name="using-sam-cli-remote-invoke-examples-sf-basic"></a>

**Memanggil mesin status dengan memberikan ID fisiknya sebagai ID sumber daya:**

Pertama, kami gunakan `sam list resources` untuk mendapatkan ID fisik kami:

```
$ sam list resources --stack-name state-machine-example --output json

[
  {
    "LogicalResourceId": "HelloWorldStateMachine",
    "PhysicalResourceId": "arn:aws:states:us-west-2:513423067560:stateMachine:HelloWorldStateMachine-z69tFEUx0F66"
  },
  {
    "LogicalResourceId": "HelloWorldStateMachineRole",
    "PhysicalResourceId": "simple-state-machine-HelloWorldStateMachineRole-PduA0BDGuFXw"
  }
]
```

Selanjutnya, kami memanggil mesin negara kami menggunakan ID fisik sebagai ID sumber daya. Kami lulus dalam suatu acara di baris perintah dengan `--event` opsi:

```
$ sam remote invoke arn:aws:states:us-west-2:01234567890:stateMachine:HelloWorldStateMachine-z69tFEUx0F66 --event '{"is_developer": true}'

Invoking Step Function arn:aws:states:us-west-2:01234567890:stateMachine:HelloWorldStateMachine-z69tFEUx0F66   
"Hello Developer World"%
```

**Memanggil mesin status dengan melewatkan acara kosong:**

```
$ sam remote invoke HelloWorldStateMachine --stack-name state-machine-example

Invoking Step Function HelloWorldStateMachine                                                                   
"Hello World"%
```

## Tautan terkait
<a name="using-sam-cli-remote-invoke-links"></a>

Untuk dokumentasi yang terkait dengan `sam remote invoke` dan menggunakan AWS SAMCLI, lihat berikut ini:
+ [sam remote invoke](sam-cli-command-reference-remote-invoke.md)
+ [AWS SAMCLIpemecahan masalah](sam-cli-troubleshooting.md)