

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

# Pelajari cara memulai dengan Step Functions
<a name="getting-started"></a>

Dengan layanan Step Functions, Anda dapat mengatur alur kerja aplikasi yang kompleks. Untuk memulai, Anda akan menggunakan Workflow Studio untuk membuat dan menjalankan alur kerja **Hello World** bawaan. Anda akan meninjau definisi auto-generated [Amazon States Language](concepts-amazon-states-language.md) (ASL) dalam kode. Akhirnya, Anda akan drag-and-drop melakukan integrasi layanan untuk melakukan analisis sentimen.

Setelah Anda menyelesaikan tutorial ini, Anda akan tahu cara menggunakan Workflow Studio untuk membuat, mengkonfigurasi, menjalankan, dan memperbarui alur kerja menggunakan mode **Desain** dan **Kode**.

Perkiraan durasi: **20-30 menit**

## Apa yang akan Anda bangun
<a name="what-you-will-build"></a>

Mesin status pertama Anda akan dimulai dengan *status aliran*. Status aliran digunakan untuk mengarahkan dan mengontrol alur kerja Anda. **Setelah mempelajari cara menjalankan alur kerja, Anda akan menambahkan **Tindakan** untuk mengintegrasikan layanan Amazon Comprehend dengan status Tugas.**

Diagram berikut menunjukkan visual dari mesin status lengkap yang akan Anda bangun. Ketika Anda pertama kali membuat mesin status Hello World, itu tidak akan membutuhkan sumber daya tambahan untuk menjalankannya. Konsol Step Functions akan membuat semua status dan peran IAM dalam satu klik. Kemudian, ketika Anda menambahkan integrasi layanan, Anda harus membuat peran dengan kebijakan izin khusus.

![\[Representasi visual dari alur kerja Hello World.\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello-world-arch.png)


## Langkah 1 - Buat mesin negara Anda
<a name="step-1-create-your-state-machine"></a>

 Dalam Step Functions, *alur kerja* disebut **mesin negara**. Kami akan menggunakan kedua istilah secara bergantian. Alur kerja Anda akan berisi *status* yang **mengambil tindakan** atau **mengontrol aliran** mesin status Anda. 

1. Buka **konsol Step Functions.**

1. Di konsol Step Functions, pilih "**Step Functions**" dari navigasi kiri atas, atau remah roti, lalu pilih **Memulai**:  
![\[Screenshot ilustratif yang menunjukkan cara memulai alur kerja Hello World\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/get-started-hello-world.png)

1. Dari opsi, pilih **Jalankan Hello World**:  
![\[Screenshot ilustratif yang menunjukkan cara memilih alur kerja Hello World\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/create-hello-world.png)

**Tip**  
Kami merekomendasikan untuk melangkah melalui jalan singkat dalam konsol untuk menjadi akrab dengan UI.

### Ikhtisar Studio Alur Kerja
<a name="overview-of-workflow-studio"></a>

 Dengan Workflow Studio for Step Functions, Anda dapat secara visual drag-and-drop menyatakan ke kanvas untuk membangun alur kerja. 

 Anda dapat menambahkan dan mengedit status, mengonfigurasi langkah, mengubah hasil, dan mengatur penanganan kesalahan. Tangkapan layar berikut menunjukkan empat area penting dari antarmuka yang akan Anda gunakan untuk membangun mesin status Anda. 

![\[Screenshot ilustratif dari empat area penting dari antarmuka Workflow Studio\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/wfs-panel-overview.png)


**Mode** - Workflow Studio menyediakan tiga mode operasi dan default ke mode desain visual. 
+ **Desain** - mode pengeditan visual, di mana Anda dapat drag-and-drop menyatakan ke dalam alur kerja Anda.
+ **Kode** - mode yang berfokus pada kode Bahasa Negara Amazon, juga dikenal sebagai kode ASL. Anda dapat mengedit kode ASL secara langsung dan melihat perubahan yang tercermin dalam desain visual.
+ **Config** - opsi konfigurasi termasuk nama dan jenis mesin status (Standar atau Ekspres), peran yang ditetapkan saat alur kerja berjalan, pencatatan, penelusuran, pembuatan versi, enkripsi, dan tag.

 **Browser negara** berisi tiga tab berikut: 
+ **Tindakan** - daftar AWS APIs yang Anda bisa drag-and-drop ke dalam alur kerja Anda. Setiap tindakan mewakili status alur kerja Tugas.
+ **Flow** - flow state untuk mengontrol urutan langkah dalam alur kerja Anda.
+ **Pola** - ready-to-use, blok bangunan yang dapat digunakan kembali, seperti memproses data secara berulang dalam bucket Amazon S3.

 **Grafik kanvas dan alur kerja** adalah tempat Anda drag-and-drop menyatakan ke grafik alur kerja Anda, mengubah urutan status, dan memilih status untuk dikonfigurasi dan diuji. 

 **Panel Inspector** adalah tempat Anda melihat dan mengedit properti dari setiap status yang dipilih pada kanvas. Anda dapat mengaktifkan sakelar *Definisi* untuk menampilkan kode untuk status yang dipilih saat ini. 

### Ikhtisar mesin negara
<a name="overview-of-the-state-machine"></a>

 Alur kerja Hello World dimulai dengan **status Pass** yang *meneruskan* inputnya ke outputnya, tanpa melakukan pekerjaan. Status pass dapat digunakan untuk menghasilkan output JSON statis atau mengubah input JSON sebelum meneruskan data ke status berikutnya. Status pass berguna saat membangun dan men-debug mesin status. 

 Status berikutnya, **status Pilihan**, menggunakan data `IsHelloWorldExample` untuk memilih cabang alur kerja berikutnya. Jika aturan pertama cocok, alur kerja berhenti dalam status **Tunggu, lalu menjalankan dua tugas dalam keadaan** **Paralel**, sebelum pindah ke pos pemeriksaan dan akhir alur kerja yang berhasil. Ketika tidak ada kecocokan, alur kerja default ke **status Gagal sebelum menghentikan mesin status**. 

 Status tunggu dapat berguna ketika Anda ingin menunda sebelum melakukan lebih banyak pekerjaan. Mungkin alur kerja Anda akan menunggu 30 detik setelah entri pesanan, sehingga pelanggan Anda punya waktu untuk memperhatikan dan memperbaiki alamat pengiriman yang salah. 

 Status paralel dapat menjalankan beberapa proses pada data Anda. Mungkin alur kerja akan mencetak tiket pesanan, memperbarui inventaris, dan meningkatkan laporan penjualan harian secara bersamaan. 

![\[Gambar ilustrasi dari alur kerja Hello World yang memulai\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/workflow-1-hello-world.png)


### Lihat kode alur kerja (ASL)
<a name="view-the-code"></a>

 Mesin status pertama Anda sebenarnya cukup rinci, jadi jelajahi lebih lanjut dengan meninjau kode. 

 Mesin status didefinisikan menggunakan [Amazon States Language (ASL)](https://states-language.net/), spesifikasi open source yang menjelaskan bahasa berbasis JSON untuk mendeskripsikan mesin status secara deklaratif. 

**Untuk melihat seluruh definisi mesin status**

1. Pilih tombol **\$1\$1 Code** untuk melihat kode ASL. 

1. Lihat kode di sebelah kiri dan bandingkan dengan grafik mesin negara di sebelah kanan. 

1. Pilih beberapa negara bagian di kanvas untuk ditinjau. Misalnya, pilih **status Pilihan**.

![\[Gambar ilustrasi tampilan kode\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello-code-view.png)


 Apakah Anda memperhatikan bagaimana definisi negara disorot dalam tampilan kode? 

**Untuk melihat kode di Inspector**

1. Beralih kembali ke mode **Desain**.

1. Perluas **panel Inspector** di sebelah kanan.

1. Pilih **status Pilihan** dari grafik alur kerja pada Canvas.

1. Di panel **Inspector**, pilih sakelar **Definisi**.

 Cobalah memilih negara bagian lain. Lihat bagaimana kode ASL untuk setiap status yang Anda pilih digulir ke tampilan dan disorot? 

### (Sebenarnya) Buat mesin negara
<a name="actually-create-the-state-machine"></a>

**Peringatan: beri nama mesin negara Anda sekarang\$1**  
Anda **tidak dapat mengganti nama** mesin status setelah Anda membuatnya. Pilih nama **sebelum** Anda menyimpan mesin negara Anda.

 Sampai sekarang, Anda telah mengerjakan rancangan mesin negara Anda. Belum ada sumber daya yang dibuat. 

 **Untuk mengganti nama dan membuat mesin status Anda** 

1. Pilih **mode Config**.

1. Untuk nama mesin negara, masukkan `MyFirstStateMachine`

1. Untuk izin, terima default untuk *Membuat peran baru*.

1. Pilih tombol **Create** untuk **benar-benar** membuat mesin state Anda. 

 Anda akan melihat pemberitahuan bahwa mesin status Anda dan peran IAM baru telah dibuat. 

 Anda akan secara otomatis disajikan dengan opsi untuk memulai mesin negara. Anda akan melakukannya di langkah berikutnya\$1 

![\[Gambar ilustrasi dari alur kerja Hello World yang memulai\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/workflow-created.png)


**Pembuatan alur kerja tercapai\$1**  
Step Functions membuat alur kerja dan peran IAM Anda. Sekarang, Anda siap untuk memulai mesin negara Anda.

## Langkah 2 - Mulai mesin negara Anda
<a name="step-2-start-your-state-machine"></a>

 Setelah mesin status Anda dibuat, Anda dapat memulai alur kerja Anda berjalan. 

 Alur kerja secara opsional mengambil **Input** yang dapat digunakan dalam status, dikirim ke layanan terintegrasi, dan diteruskan ke status berikutnya.

Mesin negara **Hello World** mandiri dan tidak perlu masukan.

![\[Gambar ilustrasi untuk memulai\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/start_283486381.jpg)


 **Untuk memulai mesin negara**

1. Masukkan `hello001` nama eksekusi.

1. Biarkan kolom input *kosong*.

1. Pilih tombol **Mulai eksekusi**.

![\[Gambar ilustrasi untuk memulai alur kerja.\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello001.png)


### Tinjau detail eksekusi
<a name="review-the-execution-details"></a>

 Segera setelah memulai, Anda akan melihat dua status pertama telah **berhasil.** 

 Setelah menunggu sebentar, sisa transisi status akan berjalan untuk menyelesaikan alur kerja. 

 Apakah Anda bertanya-tanya bagaimana **keadaan Choice** (*Apakah Hello World Example?* ) memutuskan untuk bercabang ke status **Wait for X Seconds**? 

1. Petunjuk: langkah pertama dalam mesin negara berisi data yang diperlukan untuk keputusan cabang 

1. Dalam **Tampilan Grafik**, Anda dapat memantau kemajuan selama eksekusi dan menjelajahi detail untuk setiap status. 

1. Pilih **status Pass** pertama (bernama *Set Variables dan State Output*), lalu tinjau tab **Input/Output**. 

 Anda akan melihat bahwa **input State** kosong, tetapi **output State** berisi JSON yang menetapkan nilai `IsHelloWorldExample` to`true`. 

![\[Eksekusi 001\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello001-graph-view.png)


 Beralih dari **tampilan Grafik** ke **tampilan Tabel** untuk melihat daftar status berdasarkan nama, jenis, dan status. 

![\[Eksekusi 001 tampilan tabel\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello001-table.png)


**Tip**  
Catat bidang **Durasi** dan **Garis Waktu** di tangkapan layar sebelumnya. Sekilas, Anda dapat melihat negara bagian mana yang membutuhkan lebih banyak waktu daripada yang lain.

 Ada dua tampilan lagi untuk dijelajahi di halaman Detail Eksekusi ini: **Tampilan acara dan tampilan** **Status**. 

 **Tampilan Peristiwa adalah tampilan** granular terperinci dari aliran dari satu negara ke negara bagian lainnya. 

 Perluas yang pertama **PassStateEntered**dan **PassStateExited**peristiwa dalam tabel **Event View** untuk melihat bagaimana status tidak mengambil input, menetapkan variabel yang disebut `CheckpointCount` nilai nol, dan menghasilkan output yang Anda lihat sebelumnya. 

![\[Eksekusi 001 tampilan acara\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello001-event-view.png)


 Terakhir, Anda memiliki **tampilan State** yang mirip dengan **tampilan Tabel**. Dalam tabel **tampilan Status**, Anda dapat memperluas **status** secara selektif untuk melihat hanya Input dan Output untuk setiap status: 

![\[Eksekusi 001 tampilan status\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello001-state-view.png)


**Selamat\$1 Anda telah menjalankan mesin status Step Functions pertama Anda\$1**  
 Menggunakan status Pass untuk menambahkan **data statis** ke dalam alur kerja adalah pola umum, terutama untuk pemecahan masalah.   
 Pada langkah berikutnya, Anda akan memperbarui alur kerja sehingga Anda dapat *secara dinamis mengatur input* mesin status Anda. 

## Langkah 3 - Proses input eksternal
<a name="step-3-process-external-input"></a>

 Menetapkan nilai `IsHelloWorldExample` ke nilai konstan di dalam alur kerja tidak realistis. Anda harus mengharapkan mesin negara Anda merespons berbagai input data. 

 Pada langkah ini, kami akan menunjukkan kepada Anda bagaimana data JSON eksternal dapat digunakan sebagai masukan ke alur kerja Anda: 

![\[Memproses input eksternal\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/process-external-input.png)


### Hapus input hard-code
<a name="remove-the-hardcoded-input"></a>

 Pertama, ganti nilai hard-code di **Output** dari status Pass pertama. 

1. Edit mesin status Hello World Anda dengan memilih tombol **Edit state machine** yang terletak di kanan atas halaman.

1. Pilih **status Lulus** pertama setelah **Mulai** (bernama *Set Variables dan State Output*), lalu pilih tab **Output**.

1. Ganti **Output** dengan JSON berikut:

   ```
   {
     "IsHelloWorldExample": "{% $states.input.hello_world %}",
     "ExecutionWaitTimeInSeconds":  "{% $states.input.wait %}"
   }
   ```

1. Simpan mesin negara.

 Output status yang diperbarui akan menarik data input dari variabel **[\$1states](transforming-data.md#transforming-reserved-variable-states)** yang dicadangkan menggunakan JSONata ekspresi. Nilai-nilai tersebut akan diteruskan ke status berikutnya sebagai output untuk menjadi input untuk status berikutnya.

### Jalankan alur kerja yang diperbarui, dengan data input
<a name="run-the-updated-workflow-with-input-data"></a>

 Selanjutnya, jalankan alur kerja dan berikan data input eksternal sebagai JSON. 

1. Pilih tombol **Execute** untuk menjalankan alur kerja.

1. Untuk **Nama**, gunakan ID yang dihasilkan secara acak. 

1. Gunakan JSON berikut untuk bidang input:

   ```
   {
       "wait" : 20,
       "hello_world": true
   }
   ```

1. Pilih tombol **Mulai eksekusi**.

 Eksekusi mesin status Anda harus menunggu lebih lama (20 detik), tetapi pada akhirnya akan berhasil menggunakan input yang Anda berikan. 

 Dalam tampilan Grafik, tinjau **Input/Output untuk Status Lulus** pertama. Perhatikan bagaimana input yang Anda berikan diubah menjadi output. Juga, lihat **input dan output Eksekusi** di bagian atas halaman detail eksekusi. Kedua lokasi menunjukkan input yang Anda gunakan untuk memulai eksekusi. 

**Tip**  
**Apa yang Anda harapkan jika Anda menjalankan eksekusi baru dengan *hello\$1world* disetel ke false?** Cobalah\$1 

### Tinjau eksekusi alur kerja
<a name="review-workflow-executions"></a>

 Sekarang setelah Anda menjalankan alur kerja beberapa kali, tinjau detail eksekusi untuk meninjau alur kerja Anda. 

 **Untuk meninjau detail eksekusi**

1. Pilih **mesin State** dari remah roti navigasi atau menu sebelah kiri.

1. Pilih mesin negara Anda.

 Di **Eksekusi** tab, Anda akan melihat daftar eksekusi, mirip dengan tangkapan layar berikut: 

![\[Screenshot ilustratif yang menunjukkan daftar contoh eksekusi alur kerja halo.\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/hello-executions.png)


 Satu catatan terakhir: nama eksekusi alur kerja harus unik dan **tidak dapat** digunakan kembali. Meskipun kami menyarankan nama pendek (`hello001`) dalam tutorial ini, kami sarankan menggunakan konvensi penamaan yang akan selalu unik untuk beban kerja produksi Anda. 

**Tip**  
 **Selamat\$1** Anda telah memodifikasi alur kerja Anda untuk memproses *input eksternal* yang dapat bervariasi setiap kali Anda menjalankan alur kerja Anda. 

## Langkah 4 - Integrasikan layanan
<a name="step-4-integrate-a-service"></a>

 Mesin status Step Functions dapat memanggil lebih dari 220 AWS layanan menggunakan [integrasi AWS SDK](https://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html). AWSlayanan menyediakan lebih dari 10.000 tindakan API potensial untuk mesin status Anda. 

 Pada langkah ini, Anda akan mengintegrasikan **tugas Amazon Comprehend untuk analisis sentimen untuk memproses input mesin** status Anda. 

 Integrasi layanan menggunakan salah satu dari tiga *pola integrasi layanan*: 

1. **Minta Respons** (default) - tunggu respons HTTP, lalu *segera* lanjutkan ke status berikutnya.

1. **Jalankan Job** (*.sync*) - tunggu pekerjaan selesai sebelum pindah ke langkah berikutnya.

1. **Tunggu Callback** *(. waitForTask*Token) - jeda alur kerja hingga token tugas dikembalikan oleh proses eksternal.

![\[Screenshot ilustratif yang menggambarkan integrasi layanan.\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/AdobeStock_513621530_integration_1000.jpg)


 Untuk integrasi pertama Anda, Anda akan menggunakan pola integrasi **Request Response** (default). 

### Bagaimana cara kerja integrasi?
<a name="how-do-integrations-work"></a>

 *Status tugas* mewakili satu unit kerja yang dilakukan oleh mesin negara. Semua pekerjaan di mesin status Anda dilakukan oleh tugas. 

 Sebuah tugas biasanya melakukan pekerjaan dengan meneruskan input ke tindakan API dari layanan lain yang kemudian melakukan pekerjaan mereka sendiri. Anda dapat menentukan kinerja Tugas, menggunakan sejumlah bidang termasuk:`Credentials`,,`Retry`, `Catch``TimeoutSeconds`, dan lainnya. Anda dapat mempelajari lebih lanjut tentang Tugas di[Status alur kerja tugas](state-task.md). 

 Untuk menggunakan integrasi AWS SDK, Anda menentukan **nama layanan** dan **API** yang akan dipanggil. Beberapa integrasi juga memerlukan parameter. 

 Anda dapat menggunakan Amazon States Language untuk menentukan tindakan AWS API di bidang **Resource** dari status tugas. Anda dapat menambahkan jenis integrasi layanan secara opsional ke nama layanan. 

 Untuk menentukan tindakan API, Anda akan menggunakan template nama sumber daya berikut:

```
arn:aws:states:::aws-sdk:serviceName:apiAction.[serviceIntegrationPattern]
```

**Kasus nama parameter**  
Perhatikan bahwa tindakan API akan menjadi *camelCase* (huruf kecil awal), *ParameterNames*tetapi akan menjadi kasus Pascal (huruf besar awal).

 **Contoh nama sumber daya**
+ `arn:aws:states:::aws-sdk:ec2:describeInstances`akan mengembalikan hasil dari memanggil Amazon EC2 DescribeInstances API.
+ `arn:aws:states:::aws-sdk:s3:listBuckets`akan mengembalikan hasil dari memanggil Amazon S3 ListBuckets API.
+ `arn:aws:states:::aws-sdk:sfn:startExecution`akan memulai eksekusi mesin status Step Functions bersarang dan mengembalikan hasil alur kerja itu.

 Ketika Step Functions memanggil layanan lain menggunakan `Task` status, pola defaultnya adalah [Request Response](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-default). Dengan pola integrasi **Request Response**, Step Functions memanggil layanan, menerima respons, dan ***segera*** melanjutkan ke status berikutnya. 

![\[Integrasi deteksi sentimen\]](http://docs.aws.amazon.com/id_id/step-functions/latest/dg/images/integrate_sentiment_592194331.png)


### Langkah 4.1 - Tambahkan status analisis sentimen
<a name="step-1-add-sentiment-analysis-state"></a>

1. **Edit** mesin **MyFirstStateMachine**negara Anda.

1. Dari panel **Tindakan** di **browser Negara**, cari`DetectSentiment`.

1. **Drag & drop ** DetectSentimentComprehend** ke cabang Default **dari status Choice**.**

1. Pilih dan hapus status **Gagal**.

1. Dari **tab Flow** di **browser States**, seret status **Sukses** setelahnya **DetectSentiment**.

### Langkah 4.2 - Konfigurasikan status analisis sentimen
<a name="step-2-configure-the-sentiment-analysis-state"></a>

1. Pilih langkah **Comprehend** untuk mengkonfigurasinya di panel Inspector.

1. Pilih tab **Argumen & Output**, lalu ganti **Argumen** dengan JSON berikut: 

   ```
   {
      "LanguageCode": "en",
      "Text": "{% %}"
   }
   ```

1. Tempatkan kursor Anda **di antara** tanda persen: `{% %}` dan ketik: `$`

1. Gunakan **pelengkapan otomatis** di editor untuk memilih`states`,

    lalu ketik `.` dan pilih`context`, 

    lalu ketik `.` dan pilih`Execution`, 

    lalu ketik `.` dan pilih`Input`, 

    akhirnya, ketik `.feedback_comment` untuk mengambil input awal dari **Objek Konteks**. 

 **Setelah memilih opsi pelengkapan otomatis tersebut, Anda harus memiliki JSON berikut untuk Argumen status Anda:** 

```
{
    "LanguageCode": "en",
    "Text": "{% $states.context.Execution.Input.feedback_comment %}"
}
```

**Menggunakan pelengkapan otomatis editor**  
Dengan pelengkapan otomatis editor, Anda dapat menjelajahi opsi Anda.  
Pelengkapan otomatis akan mencantumkan variabel Anda, variabel **[\$1states](transforming-data.md#transforming-reserved-variable-states)** cadangan yang berisi objek konteks, dan fungsi yang tersedia dengan definisinya\$1

### Langkah 4.3 - Konfigurasikan kebijakan identitas
<a name="step-3-configure-an-identity-policy"></a>

 Sebelum menjalankan alur kerja, Anda perlu membuat **peran** dan **kebijakan** agar mesin status dapat melakukan panggilan API ke layanan eksternal. 

 **Untuk membuat peran IAM untuk Step Functions** 

1. Buka konsol IAM di tab baru dan pilih **Peran**.

1. Pilih **Buat peran baru**. 

1. Untuk **jenis entitas Tepercaya** pilih*AWSService*.

1. Untuk **kasus penggunaan** pilih*Step Functions*.

1. Untuk **Menambahkan izin** pilih **Berikutnya** untuk menerima kebijakan default. Anda akan menambahkan kebijakan untuk Comprehend setelah membuat peran.

1. Untuk **Nama**, masukkan *HelloWorldWorkflowRole*.

1. Pilih **Buat peran**.

 **Untuk menambahkan kebijakan ke Amazon **HelloWorldWorkflowRole**Comprehend** 

1. Pilih dan edit **HelloWorldWorkflowRole**peran.

1. Pilih **Tambahkan izin** lalu **Buat kebijakan sebaris**.

1. Pilih **Comprehend** untuk layanan.

1. Di **Baca** pilih **DetectSentiment**, lalu **Berikutnya**

1. Untuk **nama Kebijakan***DetectSentimentPolicy*, masukkan, lalu **Buat kebijakan**.

Jika Anda meninjau kebijakan, Anda akan melihatnya mengizinkan semua sumber daya untuk mengambil **Tindakan**`"comprehend:DetectSentiment"`.

 **Untuk melampirkan peran IAM ke mesin status Step Functions** 

1. Kembali untuk mengedit mesin status Anda dan pilih tab **Config**.

1. Dari dropdown **peran Eksekusi**, pilih. *HelloWorldWorkflowRole*

1. Simpan mesin negara Anda.

### Langkah 4.4 - Jalankan mesin negara Anda
<a name="step-4-run-your-state-machine"></a>

 Mulai jalankan mesin status Anda dengan JSON berikut untuk masukan: 

```
{
    "hello_world": false,
    "wait": 42,
    "feedback_comment" : "This getting started with Step Functions workshop is a challenge!"
}
```

#### Memecahkan masalah kesalahan izin...
<a name="policy-section"></a>

 Tanpa kebijakan yang benar, Anda akan menerima **kesalahan izin**, mirip dengan yang berikut: 

```
User: arn:aws:sts::account-id:assumed-role/StepFunctions-MyStateMachine-role is not authorized
to perform: comprehend:DetectSentiment because no identity-based policy allows the comprehend:DetectSentiment
action (Service: Comprehend, Status Code: 400, Request ID: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111)
```

 Pesan kesalahan sebelumnya memberi tahu Anda bahwa mesin status Anda tidak berwenang untuk menggunakan layanan eksternal. Mundur selangkah dan pastikan Anda telah mengonfigurasi kebijakan identitas. 

 **Latih apa yang telah Anda pelajari\$1**

 Sebelum Anda menyelami alur kerja yang lebih kompleks, praktikkan apa yang telah Anda pelajari dengan tugas-tugas berikut: 
+  Tinjau **DetectSentiment**langkahnya. Lihatlah input/output di berbagai pandangan untuk melihat hasil deteksi sentimen. 
+ Temukan **durasi** DetectSentiment negara bagian dalam tampilan tabel.
+ Ubah komentar di **input JSON**, lalu jalankan kembali mesin status Anda.

Untuk mempelajari lebih lanjut tentang hasil analisis sentimen, lihat [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/how-sentiment.html) - Sentimen.

 Salah satu cara untuk berpikir tentang integrasi Request Response adalah respon umumnya hanya mewakili *pengakuan* permintaan. Namun, dalam beberapa integrasi, seperti analisis sentimen, pengakuan sebenarnya mewakili *penyelesaian* tugas. 

 Pembelajaran utama adalah `Task` status **tidak menunggu** pekerjaan yang mendasarinya dalam integrasi Respons Permintaan. Untuk menunggu respons, Anda harus menjelajahi pola integrasi layanan *Run a Job (.sync)*.

**Selamat\$1**  
 Anda membuat mesin status pertama Anda dan mengintegrasikan tugas analisis sentimen menggunakan pola **Request Response**.

**Kami menghargai umpan balik Anda\$1**  
Jika Anda menemukan tutorial memulai ini bermanfaat, atau Anda memiliki saran untuk meningkatkan tutorial, beri tahu kami dengan menggunakan opsi umpan balik di halaman ini.

## Pembersihan sumber daya
<a name="clean-up-resources"></a>

 Ambil langkah-langkah berikut untuk membersihkan sumber daya yang Anda buat: 

1. Arahkan ke halaman [Step Functions](https://console.aws.amazon.com/states/home) di AWS Konsol.

1. Pilih **mesin Status** dari panel navigasi di sebelah kiri.

1. Pilih **MyFirstStateMachine** 

1. Untuk menghapus peran IAM

   1 - Ikuti tautan untuk **peran IAM** untuk pergi ke halaman peran IAM di tab baru. Hapus peran terkait kustom.

   2 - Dalam Peran IAM, cari peran yang dihasilkan secara otomatis yang berisi. *MyFirstStateMachine* Hapus peran yang dihasilkan secara otomatis.

1. Kembali ke tab konsol Step **Functions** dan pilih drop-down Actions, lalu pilih **Delete** untuk menghapus state machine.

Mesin status Anda dan peran terkait sekarang harus berhasil dihapus.