Meneruskan parameter ke layanan API di Step Functions - AWS Step Functions

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

Meneruskan parameter ke layanan API di Step Functions

Mengelola status dan mengubah data

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.

Gunakan Parameters bidang dalam Task keadaan untuk mengontrol parameter apa yang diteruskan ke layananAPI.

Di dalam Parameters bidang, Anda harus menggunakan bentuk jamak dari parameter array dalam suatu API tindakan. Misalnya, jika Anda menggunakan bidang Filter DescribeSnapshots API tindakan untuk mengintegrasikan dengan AmazonEC2, Anda harus menentukan bidang sebagaiFilters. Jika Anda tidak menggunakan bentuk jamak, Step Functions mengembalikan kesalahan berikut:

The field Filter is not supported by Step Functions.

Lulus statis JSON sebagai parameter

Anda dapat menyertakan JSON objek secara langsung dalam definisi mesin status Anda untuk diteruskan sebagai parameter ke sumber daya.

Misalnya, untuk mengatur RetryStrategy parameter untuk SubmitJob API for AWS Batch, Anda dapat menyertakan yang berikut ini dalam parameter Anda.

"RetryStrategy": { "attempts": 5 }

Anda juga dapat melewati beberapa parameter dengan statisJSON. Sebagai contoh yang lebih lengkap, berikut ini adalah Resource dan Parameters bidang spesifikasi tugas yang diterbitkan ke SNS topik Amazon bernamamyTopic.

"Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-2:123456789012:myTopic", "Message": "test message", "MessageAttributes": { "my attribute no 1": { "DataType": "String", "StringValue": "value of my attribute no 1" }, "my attribute no 2": { "DataType": "String", "StringValue": "value of my attribute no 2" } } },

Lulus input status sebagai parameter menggunakan Paths

Anda dapat meneruskan bagian dari input status sebagai parameter dengan menggunakan jalur. Path adalah string, dimulai dengan$, yang digunakan untuk mengidentifikasi komponen dalam JSON teks. Jalur Step Functions menggunakan JsonPathsintaks.

Untuk menentukan bahwa parameter menggunakan jalur, akhiri nama parameter dengan.$. Misalnya, jika input status Anda berisi teks dalam node bernamamessage, Anda dapat meneruskan teks itu sebagai parameter menggunakan jalur.

Pertimbangkan masukan status berikut:

{ "comment": "A message in the state input", "input": { "message": "foo", "otherInfo": "bar" }, "data": "example" }

Untuk meneruskan nilai node bernama message sebagai parameter bernamamyMessage, tentukan sintaks berikut:

"Parameters": {"myMessage.$": "$.input.message"},

Step Functions kemudian melewati nilai foo sebagai parameter.

Untuk informasi selengkapnya tentang cara menggunakan parameter dalam Step Functions, lihat hal-hal berikut ini:

Lewati node objek Konteks sebagai parameter

Selain konten statis, dan node dari input status, Anda dapat meneruskan node dari objek Context sebagai parameter. Objek Context adalah JSON data dinamis yang ada selama eksekusi mesin negara. Ini mencakup informasi tentang mesin status Anda dan eksekusi saat ini. Anda dapat mengakses objek Context menggunakan jalur di Parameters bidang definisi status.

Untuk informasi selengkapnya tentang objek Context dan cara mengakses data tersebut dari "Parameters" bidang, lihat berikut ini: