Menggunakan status Peta Inline untuk mengulangi tindakan 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.

Menggunakan status Peta Inline untuk mengulangi tindakan di Step Functions

Tutorial ini membantu Anda memulai dengan menggunakan Map status dalam mode Inline. Anda menggunakan status Peta Sebaris dalam alur kerja untuk melakukan tindakan berulang kali. Untuk informasi selengkapnya tentang mode Inline, lihat Status peta dalam mode Inline.

Dalam tutorial ini, Anda menggunakan status Inline Map untuk berulang kali menghasilkan versi 4 pengidentifikasi unik universal (v4). UUID Anda mulai dengan membuat alur kerja yang berisi dua Lulus status alur kerja status dan status Peta Inline di Workflow Studio. Kemudian, Anda mengkonfigurasi input dan output, termasuk JSON array input untuk Map status. MapStatus mengembalikan array output yang berisi v4 yang UUIDs dihasilkan untuk setiap item dalam array input.

Langkah 1: Buat prototipe alur kerja

Pada langkah ini, Anda membuat prototipe untuk alur kerja Anda menggunakan Workflow Studio. Workflow Studio adalah desainer alur kerja visual yang tersedia di konsol Step Functions. Anda akan memilih status yang diperlukan dari tab Flow dan menggunakan fitur drag and drop Workflow Studio untuk membuat prototipe alur kerja.

  1. Buka Konsol Step Functions dan pilih Buat mesin status.

  2. Dalam kotak dialog Pilih templat, pilih Kosong.

  3. Pilih Pilih untuk membuka Workflow Studio diMode desain.

  4. Dari tab Flow, seret status Pass dan jatuhkan ke status kosong berlabel Drag first state di sini.

  5. Seret status Peta dan jatuhkan di bawah status Pass. Ubah nama status Peta menjadiMap demo.

  6. Seret status Pass kedua dan letakkan di dalam status demo Peta.

  7. Ubah nama status Pass kedua menjadiGenerate UUID.

Langkah 2: Konfigurasikan input dan output

Pada langkah ini, Anda mengonfigurasi input dan output untuk semua status dalam prototipe alur kerja Anda. Pertama, Anda menyuntikkan beberapa data tetap ke dalam alur kerja menggunakan status Pass pertama. Status Pass ini meneruskan data ini sebagai masukan ke status demo Map. Dalam input ini, Anda menentukan node yang berisi array input yang harus diulang oleh status demo Peta. Kemudian Anda menentukan langkah yang harus diulang oleh status demo Peta untuk menghasilkan v4UUIDs. Akhirnya, Anda mengonfigurasi output untuk kembali untuk setiap pengulangan.

  1. Pilih status Pass pertama dalam prototipe alur kerja Anda. Di tab Output, masukkan yang berikut ini di bawah Hasil:

    { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
  2. Pilih status demo Peta dan di tab Konfigurasi, lakukan hal berikut:

    1. Pilih Menyediakan jalur ke array item.

    2. Tentukan jalur referensi berikut untuk memilih node yang berisi array input:

      $.colors
  3. Pilih UUID status Generate dan di tab Input, lakukan hal berikut:

    1. Pilih Transform input dengan Parameter.

    2. Masukkan JSON input berikut untuk menghasilkan v4 UUIDs untuk setiap item array input. Anda menggunakan fungsi States.UUID intrinsik untuk menghasilkan. UUIDs

      { "uuid.$": "States.UUID()" }
  4. Untuk UUID status Generate, pilih tab Output dan lakukan hal berikut:

    1. Pilih Filter output dengan OutputPath.

    2. Masukkan jalur referensi berikut untuk memilih JSON node yang berisi item array keluaran:

      $.uuid

Langkah 3: Tinjau definisi Bahasa Amazon States yang dibuat secara otomatis dan simpan alur kerjanya

Saat Anda menyeret dan melepas status dari panel Flow ke kanvas, Workflow Studio secara otomatis menyusun definisi Amazon States Language (ASL) alur kerja Anda secara real-time. Anda dapat mengedit definisi ini sesuai kebutuhan.

  1. (Opsional) Pilih Definisi pada Panel Inspector panel untuk melihat definisi Amazon States Language yang dihasilkan secara otomatis dari alur kerja Anda.

    Tip

    Anda juga dapat melihat ASL definisi di Editor kode Workflow Studio. Di editor kode, Anda juga dapat mengedit ASL definisi alur kerja Anda.

    Contoh berikut menunjukkan definisi Amazon States Language yang dibuat secara otomatis untuk alur kerja Anda.

    { "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
  2. Tentukan nama untuk mesin negara Anda. Untuk melakukan ini, pilih ikon edit di sebelah nama mesin status default MyStateMachine. Kemudian, dalam konfigurasi mesin Negara, tentukan nama di kotak Nama mesin Negara.

    Untuk tutorial ini, masukkan nama InlineMapDemo.

  3. (Opsional) Dalam konfigurasi mesin State, tentukan pengaturan alur kerja lainnya, seperti jenis mesin status dan peran pelaksanaannya.

    Untuk tutorial ini, simpan semua pilihan default dalam konfigurasi mesin State.

  4. Dalam kotak dialog Konfirmasi pembuatan peran, pilih Konfirmasi untuk melanjutkan.

    Anda juga dapat memilih Lihat pengaturan peran untuk kembali ke konfigurasi mesin Status.

    catatan

    Jika Anda menghapus IAM peran yang dibuat Step Functions, Step Functions tidak dapat membuatnya kembali nanti. Demikian pula, jika Anda mengubah peran (misalnya, dengan menghapus Step Functions dari prinsipal dalam IAM kebijakan), Step Functions tidak dapat memulihkan pengaturan aslinya nanti.

Langkah 4: Jalankan mesin negara

Eksekusi mesin status adalah instans tempat Anda menjalankan alur kerja untuk melakukan tugas.

  1. Pada InlineMapDemohalaman, pilih Mulai eksekusi.

  2. Dalam kotak dialog Mulai eksekusi, lakukan hal berikut:

    1. (Opsional) Untuk mengidentifikasi eksekusi Anda, Anda dapat menentukan nama, atau menggunakan nama eksekusi default yang dihasilkan.

      catatan

      Step Functions menerima nama untuk mesin negara, eksekusi, aktivitas, dan label yang berisi ASCII non-karakter. Karena nama dengan ASCII non-karakter tidak akan berfungsi dengan Amazon CloudWatch, sebaiknya gunakan hanya ASCII charcter sehingga Anda dapat melacak metrik. CloudWatch

    2. (Opsional) Dalam kotak Input, masukkan nilai input dalam JSON format untuk menjalankan alur kerja Anda.

    3. Pilih Mulai Eksekusi.

    4. Konsol Step Functions mengarahkan Anda ke halaman yang berjudul dengan ID eksekusi Anda. Halaman ini dikenal sebagai halaman Detail Eksekusi. Di halaman ini, Anda dapat meninjau hasil eksekusi saat eksekusi berlangsung atau setelah selesai.

      Untuk meninjau hasil eksekusi, pilih status individual pada tampilan Grafik, lalu pilih tab individual di Detail langkah panel untuk melihat detail setiap status termasuk input, output, dan definisi masing-masing. Untuk detail tentang informasi eksekusi yang dapat Anda lihat di halaman Rincian Eksekusi, lihatHalaman Detail Eksekusi - Ikhtisar antarmuka.

    Untuk melihat input dan output eksekusi side-by-side, pilih Input dan output eksekusi. Di bawah Output, lihat array output yang dikembalikan oleh Map negara. Berikut ini adalah contoh dari array output:

    [ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]