Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menentukan output status menggunakan Step ResultPath Functions

Mode fokus
Menentukan output status menggunakan Step ResultPath Functions - AWS Step Functions

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

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

Mengelola status dan mengubah data

Halaman ini mengacu pada JSONPath. Step Functions baru-baru ini menambahkan variabel dan JSONata untuk mengelola status dan mengubah data.

Pelajari tentang Melewati data dengan variabel dan Mengubah data dengan JSONata.

Output dari suatu status dapat menjadi salinan inputnya, hasilnya menghasilkan (misalnya, output dari fungsi Lambda status Task), atau kombinasi dari input dan hasilnya. Gunakan ResultPath untuk kombinasi mana dari ini yang diteruskan ke output status.

Tipe negara berikut dapat menghasilkan hasil dan dapat mencakup ResultPath:

Gunakan ResultPath untuk menggabungkan hasil tugas dengan input tugas, atau untuk memilih salah satu dari ini. Jalan yang Anda berikan untuk ResultPath mengontrol informasi apa yang diteruskan ke output.

catatan

ResultPathterbatas untuk menggunakan jalur referensi, yang membatasi ruang lingkup sehingga jalur harus mengidentifikasi hanya satu simpul di JSON. Lihat Jalur Referensi di Bahasa Status Amazon.

Gunakan ResultPath untuk mengganti input dengan hasil tugas

Jika Anda tidak menentukanResultPath, perilaku defaultnya sama dengan"ResultPath": "$". Negara akan mengganti seluruh input status dengan hasil dari tugas.

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$" # Task result "Hello, Step Functions!" # State Output "Hello, Step Functions!"
catatan

ResultPath digunakan untuk memasukkan konten dari hasil dengan input, sebelum meneruskannya ke output. Tapi, jika ResultPath tidak ditentukan, tindakan defaultnya adalah mengganti seluruh input.

Buang hasilnya dan simpan input asli

Jika Anda mengatur ResultPath kenull, status akan meneruskan input asli ke output. Muatan masukan negara akan disalin langsung ke output, tanpa memperhatikan hasil tugas.

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": null # Task result "Hello, Step Functions!" # State Output { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" }

Gunakan ResultPath untuk memasukkan hasil dengan input

Jika Anda menentukan jalur untuk ResultPath, output status akan menggabungkan input status dan hasil tugas:

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$.taskresult" # Task result "Hello, Step Functions!" # State Output { "comment": "This is a test", "details": "Default example", "who" : "Step Functions", "taskresult" : "Hello, Step Functions!" }

Anda juga dapat memasukkan hasilnya ke simpul anak dari input. Atur ResultPath ke hal berikut.

"ResultPath": "$.strings.lambdaresult"

Diberikan masukan berikut:

{ "comment": "An input comment.", "strings": { "string1": "foo", "string2": "bar", "string3": "baz" }, "who": "AWS Step Functions" }

Hasil tugas akan dimasukkan sebagai anak dari strings node di input.

{ "comment": "An input comment.", "strings": { "string1": "foo", "string2": "bar", "string3": "baz", "lambdaresult": "Hello, Step Functions!" }, "who": "AWS Step Functions" }

Output status sekarang termasuk input asli JSON dengan hasil sebagai simpul anak.

Gunakan ResultPath untuk memperbarui node di input dengan hasilnya

Jika Anda menentukan node yang ada untuk ResultPath, hasil tugas akan menggantikan node yang ada:

# State Input { "comment": "This is a test", "details": "Default example", "who" : "Step Functions" } # Path "ResultPath": "$.comment" # Task result "Hello, Step Functions!" # State Output { "comment": "Hello, Step Functions!", "details": "Default example", "who" : "Step Functions" }

Gunakan ResultPath untuk memasukkan kesalahan dan masukan dalam Catch

Dalam beberapa kasus, Anda mungkin ingin mempertahankan input asli dengan kesalahan. Gunakan ResultPath dalam Catch untuk memasukkan kesalahan dengan input asli, bukan menggantikannya.

"Catch": [{ "ErrorEquals": ["States.ALL"], "Next": "NextTask", "ResultPath": "$.error" }]

Jika pernyataan Catch sebelumnya menangkap kesalahan, pernyataan itu mencakup hasil dalam simpul error dalam input status. Sebagai contoh, dengan input berikut:

{"foo": "bar"}

Output status saat menangkap kesalahan adalah sebagai berikut.

{ "foo": "bar", "error": { "Error": "Error here" } }

Untuk informasi selengkapnya tentang penanganan kesalahan, lihat hal berikut:

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.