

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
<a name="tutorial-map-inline"></a>

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](state-map-inline.md).

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](state-pass.md) status dan *status Peta Inline* di Workflow Studio. Kemudian, Anda mengonfigurasi input dan output, termasuk array JSON input untuk `Map` status. `Map`Status mengembalikan array output yang berisi v4 yang UUIDs dihasilkan untuk setiap item dalam array input.

## Langkah 1: Buat prototipe alur kerja
<a name="use-inline-map-create-workflow"></a>

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](https://console.aws.amazon.com/states/home), pilih **State Machines** dari menu, lalu pilih **Create state machine**.

1. Pilih **Buat dari kosong**.

1. Beri nama mesin status Anda, lalu pilih **Lanjutkan** untuk mengedit mesin status Anda di Workflow Studio.

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

1. Seret status **Peta** dan jatuhkan di bawah status **Pass**. Ubah nama status **Peta** menjadi**Map demo**.

1. Seret status **Pass** kedua dan letakkan di dalam status **demo Peta**.

1. Ubah nama status **Pass** kedua menjadi**Generate UUID**.

## Langkah 2: Konfigurasikan input dan output
<a name="use-inline-map-configure-io"></a>

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 v4 UUIDs. 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"
     ]
   }
   ```

1. Pilih status **demo Peta** dan di tab **Konfigurasi**, lakukan hal berikut:

   1. Pilih **Menyediakan jalur ke array item**.

   1. Tentukan [jalur referensi](amazon-states-language-paths.md#amazon-states-language-reference-paths) berikut untuk memilih node yang berisi array input: 

      ```
      $.colors
      ```

1. Pilih status **Generate UUID** dan di tab **Input**, lakukan hal berikut:

   1. Pilih **Transform input dengan Parameter**.

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

      ```
      {
        "uuid.$": "States.UUID()"
      }
      ```

1. Untuk status **Generate UUID**, pilih tab **Output** dan lakukan hal berikut:

   1. Pilih **Filter output dengan OutputPath**.

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

      ```
      $.uuid
      ```

## Langkah 3: Tinjau dan simpan definisi yang dibuat secara otomatis
<a name="use-inline-map-review-asl-def"></a>

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

1. (Opsional) Pilih **Definisi** pada [Panel Inspector](workflow-studio.md#workflow-studio-components-formdefinition) panel untuk melihat definisi Amazon States Language yang dihasilkan secara otomatis dari alur kerja Anda.
**Tip**  
Anda juga dapat melihat definisi ASL di [Editor kode](workflow-studio.md#wfs-interface-code-editor) Workflow Studio. Di editor kode, Anda juga dapat mengedit definisi ASL dari alur kerja Anda.

   Contoh berikut menunjukkan definisi Bahasa Amazon States 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
         }
       }
     }
   ```

1. 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**.

1. (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**.

1. 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 role yang Step Functions buat, Step Functions tidak dapat membuatnya kembali nanti. Demikian pula, jika Anda mengubah peran (misalnya, dengan menghapus Step Functions dari principal dalam kebijakan IAM), Step Functions tidak dapat memulihkan pengaturan aslinya nanti. 

## Langkah 4: Jalankan mesin negara
<a name="use-inline-map-sm-run"></a>

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

1. Pada **InlineMapDemo**halaman, pilih **Mulai eksekusi**.

1. Dalam kotak dialog **Mulai eksekusi**, lakukan hal berikut:

   1. (Opsional) Masukkan nama eksekusi khusus untuk mengganti default yang dihasilkan.
**Nama dan pencatatan non-ASCII**  
Step Functions menerima nama untuk mesin negara, eksekusi, aktivitas, dan label yang berisi karakter non-ASCII. Karena karakter seperti itu akan CloudWatch mencegah Amazon mencatat data, sebaiknya gunakan hanya karakter ASCII sehingga Anda dapat melacak metrik Step Functions.

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

   1. Pilih **Mulai Eksekusi**.

   1. Konsol Step Functions mengarahkan Anda ke halaman yang berjudul dengan ID eksekusi Anda, yang dikenal sebagai halaman *Detail Eksekusi*. Anda dapat meninjau hasil eksekusi saat alur kerja berlangsung dan setelah selesai.

      Untuk meninjau hasil eksekusi, pilih status individual pada **tampilan Grafik**, lalu pilih tab individual di [Detail langkah](concepts-view-execution-details.md#exec-details-intf-step-details) 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*, lihat[Ikhtisar detail eksekusi](concepts-view-execution-details.md#exec-details-interface-overview).

   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"
   ]
   ```