

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Saiba como começar a usar o Step Functions
<a name="getting-started"></a>

Com o serviço do Step Functions, você pode orquestrar fluxos de trabalho complexos de aplicações. Para começar, você usará o Workflow Studio para criar e executar um fluxo de trabalho **Hello World** integrado. Você analisará a definição da [Amazon States Language](concepts-amazon-states-language.md) (ASL) gerada automaticamente no código. Por fim, você terá drag-and-drop uma integração de serviços para fazer análises de sentimentos.

Após concluir este tutorial, você saberá como usar o Workflow Studio para criar, configurar, executar e atualizar fluxos de trabalho usando os modos **Design** e **Código**.

Duração estimada: **20 a 30 minutos**

## O que você desenvolverá
<a name="what-you-will-build"></a>

Sua primeira máquina de estado começará com *estados de fluxo*. Os estados de fluxo são usados para direcionar e controlar o fluxo de trabalho. Após aprender a executar o fluxo de trabalho, você adicionará uma **Ação** para integrar o serviço do Amazon Comprehend ao **Estado de tarefa**.

O diagrama a seguir mostra uma imagem completa da máquina de estado que você desenvolverá. Ao criar pela primeira vez a máquina de estado Hello World, ela não precisará de recursos adicionais para ser executada. O console do Step Functions criará todos os estados e um perfil do IAM com um único clique. Posteriormente, ao adicionar a integração de serviços, você precisará criar um perfil com uma política de permissão personalizada.

![\[Representação visual do fluxo de trabalho do Hello World.\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello-world-arch.png)


## Etapa 1: Criar a máquina de estado
<a name="step-1-create-your-state-machine"></a>

 No Step Functions, os *fluxos de trabalho* são chamados de **máquinas de estado**. Usaremos ambos os termos de forma intercambiável. Os fluxos de trabalho conterão *estados* que **atuam** ou **controlam o fluxo** das máquinas de estado. 

1. Acesse o **console do Step Functions**.

1. No menu de navegação superior esquerdo ou na navegação estrutural, selecione “**Step Functions**” e, em seguida, selecione **Começar agora**:  
![\[Captura de tela ilustrativa mostrando como começar a usar o fluxo de trabalho Hello World\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/get-started-hello-world.png)

1. Nas opções, clique em **Executar Hello World**:  
![\[Captura de tela ilustrativa mostrando como selecionar o fluxo de trabalho Hello World\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/create-hello-world.png)

**dica**  
Recomendamos seguir a breve demonstração no console para se familiarizar com a interface do usuário.

### Visão geral do Workflow Studio
<a name="overview-of-workflow-studio"></a>

 Com o Workflow Studio for Step Functions, você pode drag-and-drop declarar visualmente em uma tela para criar fluxos de trabalho. 

 É possível adicionar e editar estados, configurar etapas, transformar resultados e configurar o tratamento de erros. A captura de tela a seguir mostra quatro áreas importantes da interface que você usará para criar as máquinas de estado. 

![\[Captura de tela ilustrativa das quatro áreas importantes da interface do Workflow Studio\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/wfs-panel-overview.png)


**Modos**: o Workflow Studio fornece três modos de operação e usa como padrão o modo de design visual. 
+ **Design** - um modo de edição visual, no qual você pode inserir drag-and-drop estados em seu fluxo de trabalho.
+ **Código**: um modo que se concentra no código da Amazon States Language, também conhecido como código da ASL. É possível editar o código da ASL diretamente e ver as alterações refletidas no design visual.
+ **Config**: as opções de configuração, incluindo o nome e o tipo da máquina de estado (Padrão ou Expressa), o perfil atribuído quando o fluxo de trabalho é executado, o registro em log, o rastreamento, o versionamento, a criptografia e as tags.

 O **navegador de estados** contém as três seguintes guias: 
+ **Ações** - uma lista do AWS APIs que você pode drag-and-drop inserir em seu fluxo de trabalho. Cada ação representa um estado de fluxo de trabalho de tarefa.
+ **Fluxo**: estados de fluxo para controlar a ordem das etapas no fluxo de trabalho.
+ **Padrões** - ready-to-use blocos de construção reutilizáveis, como o processamento iterativo de dados em um bucket do Amazon S3.

 O **gráfico de tela e fluxo** de trabalho é onde você drag-and-drop insere o gráfico do fluxo de trabalho, altera a ordem dos estados e seleciona os estados para configurar e testar. 

 No **painel do inspetor**, é possível visualizar e editar as propriedades de qualquer ação selecionada na tela. Você pode ativar o botão *Definição* para mostrar o código do estado atualmente selecionado. 

### Visão geral da máquina de estado
<a name="overview-of-the-state-machine"></a>

 O fluxo de trabalho Hello World começa com um **estado de passagem** que *transmite* a entrada para a saída, sem realizar o trabalho. Os estados de passagem podem ser usados para gerar uma saída JSON estática ou transformar a entrada JSON antes de passar os dados para o próximo estado. Os estados de passagem são úteis na construção e depuração de máquinas de estado. 

 O estado seguinte, um **estado de escolha**, usa os dados do `IsHelloWorldExample` para escolher a próxima ramificação do fluxo de trabalho. Se a primeira regra corresponder, o fluxo de trabalho será pausado em um **estado de espera** e executará duas tarefas em um **estado paralelo** antes de passar para um ponto de verificação e encerrar com êxito o fluxo de trabalho. Quando não há correspondência, o fluxo de trabalho assume como padrão o **estado de falha** antes de interromper a máquina de estado. 

 Os estados de espera são úteis quando você deseja adiar o início de outros trabalhos. Talvez seu fluxo de trabalho espere 30 segundos após a entrada de um pedido; assim, seu cliente terá tempo de perceber e corrigir um endereço de entrega incorreto, por exemplo. 

 Estados paralelos podem executar vários processos em seus dados. Talvez o fluxo de trabalho imprima um tíquete de pedido, atualize o inventário e aumente um relatório diário de vendas simultaneamente. 

![\[Imagem ilustrativa do fluxo de trabalho inicial do Hello World\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/workflow-1-hello-world.png)


### Exibir o código do fluxo de trabalho (ASL)
<a name="view-the-code"></a>

 Sua primeira máquina de estado é bem detalhada, portanto, explore mais analisando o código. 

 As máquinas de estado são definidas usando a [Amazon States Language (ASL)](https://states-language.net/), uma especificação de código aberto que descreve uma linguagem baseada em JSON para descrever as máquinas de estado de forma declarativa. 

**Como visualizar toda a definição da máquina de estado**

1. Clique no botão **\$1 \$1 Código** para ver o código da ASL. 

1. O código é exibido à esquerda. Você pode compará-lo com o gráfico da máquina de estado à direita. 

1. Selecione alguns estados na tela para analisar. Por exemplo, selecione o **estado de escolha**.

![\[Imagem ilustrativa da visualização de código\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello-code-view.png)


 Notou como a definição do estado é destacada na visualização do código? 

**Como ver o código no inspetor**

1. Volte para o modo **Design**.

1. Expanda o **painel do inspetor** à direita.

1. Selecione o **estado de escolha** no gráfico do fluxo de trabalho na tela.

1. No painel do **inspetor**, selecione a opção **Definição**.

 Tente selecionar outros estados. Notou como o código da ASL para cada estado selecionado é exibido e destacado? 

### (Vamos finalmente) Criar a máquina de estado
<a name="actually-create-the-state-machine"></a>

**Aviso: nomeie sua máquina de estado agora\$1**  
Você **não pode renomear** uma máquina de estado após sua criação. Escolha um nome **antes** de salvar sua máquina de estado.

 Até agora, você estava trabalhando em um rascunho de sua máquina de estado. Nenhum recurso foi criado. 

 **Como renomear e criar sua máquina de estado** 

1. Selecione o **modo Config.**

1. Para o nome da máquina de estado, digite `MyFirstStateMachine`

1. Nas permissões, aceite o padrão para *Criar um novo perfil*.

1. Clique no botão **Criar** para **finalmente** criar sua máquina de estado. 

 Você receberá notificações de que sua máquina de estado e um novo perfil do IAM foram criados. 

 A opção de iniciar a máquina de estado será apresentada automaticamente. Faremos isso na próxima etapa. 

![\[Imagem ilustrativa do fluxo de trabalho inicial do Hello World\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/workflow-created.png)


**Fluxo de trabalho criado\$1**  
O Step Functions criou seu fluxo de trabalho e o perfil do IAM. Agora está tudo pronto para iniciar a máquina de estado.

## Etapa 2: Iniciar a máquina de estado
<a name="step-2-start-your-state-machine"></a>

 Após a criação da máquina de estado, você poderá iniciar a execução do fluxo de trabalho. 

 Opcionalmente, os fluxos de trabalho recebem **entradas** que podem ser usadas no estado. Elas são enviadas para serviços integrados e passadas para o próximo estado.

A máquina de estado **Hello World** é independente e não precisa de entradas.

![\[Imagem ilustrativa dos primeiros passos\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/start_283486381.jpg)


 **Como iniciar a máquina de estado**

1. Digite `hello001` como o nome da execução.

1. Deixe o campo de entrada *vazio*.

1. Clique no botão **Iniciar execução**.

![\[Imagem ilustrativa de como iniciar um fluxo de trabalho.\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello001.png)


### Analisar os detalhes de execução
<a name="review-the-execution-details"></a>

 Imediatamente após o início, você verá que os dois primeiros estados foram **bem-sucedidos**. 

 Após uma breve espera, o restante das transições de estado será executado para concluir o fluxo de trabalho. 

 Está se perguntando como o **estado de escolha** (*Is Hello World Example?*) decidiu migrar para o estado **Wait for X Seconds**? 

1. Dica: a primeira etapa na máquina de estado contém os dados necessários para a decisão da ramificação 

1. Na **visualização do gráfico**, você pode monitorar o progresso durante a execução e explorar os detalhes de cada estado. 

1. Selecione o primeiro **estado de passagem** (chamado *Set Variables and State Output*) e, em seguida, analise a guia **Entrada/Saída**. 

 A **entrada de estado** está em branco, mas a **saída de estado** contém o JSON que define o valor de `IsHelloWorldExample` como `true`. 

![\[Execução 001\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello001-graph-view.png)


 Alterne da **visualização do gráfico** para a **exibição de tabela** para ver uma lista de estados por nome, tipo e status. 

![\[Exibição de tabela da Execução 001\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello001-table.png)


**dica**  
Observe os campos **Duração** e **Cronograma** na captura de tela anterior. À primeira vista, você pode ver quais estados demoram mais.

 Há mais duas visualizações para explorar nesta página de Detalhes da execução: **visualização do evento** e **visualização do estado**. 

 A **visualização do evento** é uma visualização granular detalhada do fluxo de um estado para outro. 

 Expanda o primeiro **PassStateEntered**e os **PassStateExited****eventos na tabela Visualização** de eventos para ver como o estado não recebe nenhuma entrada, atribui uma variável chamada `CheckpointCount` valor zero e produz a saída que você viu anteriormente. 

![\[Visualização do evento da Execução 001\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello001-event-view.png)


 Por fim, temos a **visualização do estado**, que é semelhante à **exibição de tabela**. Na tabela de **visualização do estado**, você pode expandir seletivamente os **estados** para ver somente as entradas e saídas de cada estado: 

![\[Visualização do estado da Execução 001\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello001-state-view.png)


**Parabéns\$1 Você executou sua primeira máquina de estado do Step Functions\$1**  
 Usar um estado de passagem para adicionar **dados estáticos** em um fluxo de trabalho é um padrão comum, principalmente para a solução de problemas.   
 Na próxima etapa, você atualizará o fluxo de trabalho para poder definir *dinamicamente* a entrada da sua máquina de estado. 

## Etapa 3: Processar entradas externas
<a name="step-3-process-external-input"></a>

 Definir o valor de `IsHelloWorldExample` como um valor constante no fluxo de trabalho não é realista. A máquina de estado deve responder a dados de entrada variáveis. 

 Nesta etapa, mostraremos como os dados JSON externos podem ser usados como entrada para seu fluxo de trabalho: 

![\[Processar entradas externas\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/process-external-input.png)


### Remover entradas de codificação rígida
<a name="remove-the-hardcoded-input"></a>

 Primeiro, substitua o valor com codificação rígida na **Saída** do primeiro estado de passagem. 

1. Edite sua máquina de estado Hello World clicando no botão **Editar máquina de estado** localizado no canto superior direito da página.

1. Selecione o primeiro **estado de passagem** após **Iniciar** (chamado *Set Variables and State Output*) e, em seguida, selecione a guia **Saída**.

1. Substitua a **saída** pelo seguinte JSON:

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

1. Salve a máquina de estado.

 A saída de estado atualizada extrairá dados de entrada da variável **[\$1states](transforming-data.md#transforming-reserved-variable-states)** reservada usando uma JSONata expressão. Esses valores serão transmitidos para o próximo estado como saída para se tornarem a entrada do próximo estado.

### Executar o fluxo de trabalho atualizado com dados de entrada
<a name="run-the-updated-workflow-with-input-data"></a>

 Em seguida, execute o fluxo de trabalho e forneça dados de entrada externos como JSON. 

1. Clique no botão **Executar** para executar o fluxo de trabalho.

1. No **Nome**, use o ID gerado aleatoriamente. 

1. Use o seguinte JSON no campo de entrada:

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

1. Clique no botão **Iniciar execução**.

 A execução da sua máquina de estado deve esperar muito mais (20 segundos), mas, eventualmente, deverá ser bem-sucedida usando a entrada fornecida. 

 Na visualização do gráfico, analise a **Entrada/Saída** do primeiro estado de passagem. Observe como a entrada que você forneceu foi convertida em saídas. Além disso, confira a **Entrada e saída de execução** na parte superior da página de detalhes da execução. Ambos os locais mostram a entrada que você usou para iniciar a execução. 

**dica**  
O que você acha que pode acontecer se executar uma nova execução com *hello\$1world* definido como **false**? Experimente\$1 

### Analisar execuções do fluxo de trabalho
<a name="review-workflow-executions"></a>

 Agora que você executou seu fluxo de trabalho algumas vezes, revise os detalhes da execução para analisar as execuções do seu fluxo de trabalho. 

 **Como analisar os detalhes da execução**

1. Selecione **Máquinas de estado** na navegação estrutural ou no menu à esquerda.

1. Escolha sua máquina de estado.

 Na guia **Execuções**, você verá uma lista de execuções, semelhante à seguinte captura de tela: 

![\[Captura de tela ilustrativa que mostra uma lista de exemplos de execuções do fluxo de trabalho Hello.\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/hello-executions.png)


 Uma observação final: os nomes de execução do fluxo de trabalho devem ser exclusivos e **não podem** ser reutilizados. Embora tenhamos sugerido um nome curto (`hello001`) neste tutorial, recomendamos usar uma convenção de nomenclatura que sempre será exclusiva para suas workloads de produção. 

**dica**  
 **Parabéns\$1** Você modificou seu fluxo de trabalho para processar *entradas externas* que podem variar sempre que você executa seu fluxo de trabalho. 

## Etapa 4: Integrar um serviço
<a name="step-4-integrate-a-service"></a>

 As máquinas de estado do Step Functions podem chamar mais de 220 AWS serviços usando [integrações de AWS SDK](https://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html). AWSos serviços fornecem mais de 10.000 ações de API em potencial para suas máquinas de estado. 

 Nesta etapa, você integrará uma tarefa do Amazon Comprehend para **análise de sentimentos** a fim de processar a entrada da máquina de estado. 

 As integrações de serviços usam um dos três *padrões de integração de serviços*: 

1. **Resposta à solicitação** (padrão): aguarde a resposta HTTP e vá *imediatamente* para o próximo estado.

1. **Executar um trabalho** (*.sync*): aguarde a conclusão de um trabalho antes de passar para a próxima etapa.

1. **Aguarde o retorno** *de chamada (. waitForTaskToken*) - pausa um fluxo de trabalho até que um token de tarefa seja retornado por um processo externo.

![\[Captura de tela ilustrativa mostrando uma integração de serviços.\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/AdobeStock_513621530_integration_1000.jpg)


 Para sua primeira integração, você usará o padrão de integração **Resposta à solicitação** (padrão). 

### Como funcionam as integrações?
<a name="how-do-integrations-work"></a>

 Um *estado de tarefa* representa uma unidade de trabalho específica executada por uma máquina de estado. Em sua máquina de estado, todo trabalho é realizado por tarefas. 

 Uma tarefa normalmente executa o trabalho passando a entrada às ações de API de outros serviços, que então realizam seu próprio trabalho. Você pode especificar o desempenho de uma tarefa usando vários campos, incluindo: `Credentials`, `Retry`, `Catch`, `TimeoutSeconds`, e muito mais. Saiba mais sobre tarefas em [Estado de tarefa do fluxo de trabalho](state-task.md). 

 Para usar as integrações do AWS SDK, você especifica o **nome do serviço** e a **API a ser chamada**. Algumas integrações também exigem parâmetros. 

 Você pode usar o Amazon States Language para especificar uma ação de AWS API no campo **Recurso** de um estado de tarefa. Opcionalmente, você pode adicionar um tipo de integração do serviço. 

 Para especificar uma ação de API, use o seguinte modelo de nome de recurso:

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

**Formatação do nome do parâmetro**  
Observe que as ações da API serão *camelCase* (inicial minúscula), *ParameterNames*mas serão em pascal (inicial maiúscula).

 **Exemplos de nomes de recursos**
+ `arn:aws:states:::aws-sdk:ec2:describeInstances`retornará os resultados da chamada da API Amazon EC2 DescribeInstances.
+ `arn:aws:states:::aws-sdk:s3:listBuckets` retornará os resultados da chamada da API listBuckets do Amazon S3.
+ `arn:aws:states:::aws-sdk:sfn:startExecution` iniciará a execução aninhada de uma máquina de estado do Step Functions e retornará os resultados desse fluxo de trabalho.

 Quando o Step Functions chama outro serviço usando o estado `Task`, o padrão é [Resposta à solicitação](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-default). Com o padrão de integração **Resposta à solicitação**, o Step Functions chama um serviço, recebe uma resposta e passa ***imediatamente*** para o próximo estado. 

![\[Integração da detecção de sentimentos\]](http://docs.aws.amazon.com/pt_br/step-functions/latest/dg/images/integrate_sentiment_592194331.png)


### Etapa 4.1: Adicionar o estado de análise de sentimento
<a name="step-1-add-sentiment-analysis-state"></a>

1. **Edite** sua máquina de **MyFirstStateMachine**estado.

1. No painel **Ações** no **navegador de estados**, pesquise por `DetectSentiment`.

1. **Arraste e solte ** DetectSentimentComprehend** na ramificação Padrão **do** estado Escolha.**

1. Selecione e exclua o estado **Falha**.

1. **Na guia Fluxo** no **navegador de estados**, arraste o estado de **sucesso** depois **DetectSentiment**.

### Etapa 4.2: Configurar o estado da análise de sentimentos
<a name="step-2-configure-the-sentiment-analysis-state"></a>

1. Selecione a etapa **Comprehend** para configurá-la no painel do inspetor.

1. Selecione a guia **Argumentos e saída** e substitua os **argumentos** pelo seguinte JSON: 

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

1. Coloque o cursor **entre** os sinais de porcentagem `{% %}` e digite: `$`

1. Use o **preenchimento automático** no editor para selecionar `states`,

    digite `.` e selecione `context`, 

    digite `.` e selecione `Execution`, 

    digite `.` e selecione `Input`, 

    por fim, digite `.feedback_comment` para recuperar a entrada inicial do **objeto de contexto**. 

 Após escolher as opções de preenchimento automático, você deve ter o seguinte JSON para os **argumentos** do seu estado: 

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

**Uso do preenchimento automático do editor**  
Com o preenchimento automático do editor, você pode explorar suas opções.  
O preenchimento automático listará suas variáveis, a variável **[\$1states](transforming-data.md#transforming-reserved-variable-states)** reservada que contém o objeto de contexto e as funções disponíveis e suas definições.

### Etapa 4.3: Configurar uma política de identidade
<a name="step-3-configure-an-identity-policy"></a>

 Antes de executar o fluxo de trabalho, você precisa criar um **perfil** e uma **política** para permitir que a máquina de estado realize chamadas de API ao serviço externo. 

 **Como criar um perfil do IAM para o Step Functions** 

1. Acesse o console do IAM em uma nova guia e selecione **Perfis**.

1. Selecione **Criar nova regra**. 

1. Para **Tipo de entidade confiável**, escolha*AWSService*.

1. Para o **caso de uso**, escolha*Step Functions*.

1. Em **Adicionar permissões**, clique em **Próximo** para aceitar a política padrão. Você adicionará uma política para o Comprehend após criar o perfil.

1. Em **Nome**, digite *HelloWorldWorkflowRole*.

1. Selecione **Criar perfil**.

 **Para adicionar uma política ao **HelloWorldWorkflowRole**Amazon Comprehend** 

1. Selecione e edite a **HelloWorldWorkflowRole**função.

1. Selecione **Adicionar permissão** e, em seguida, **Criar política em linha**.

1. Para serviço, selecione **Comprehend**.

1. Em **Ler **DetectSentiment****, escolha e, em seguida, **Avançar**

1. Em **Nome da política***DetectSentimentPolicy*, digite e, em seguida, **Criar política**.

Se você revisar a política, verá que ela permite que todos os recursos realizem a **ação** `"comprehend:DetectSentiment"`.

 **Como anexar o perfil do IAM à máquina de estado do Step Functions** 

1. Volte à edição da máquina de estado e selecione a guia **Config**.

1. No menu suspenso **Função de execução**, escolha. *HelloWorldWorkflowRole*

1. Salve sua máquina de estado.

### Etapa 4.4: Executar a máquina de estado
<a name="step-4-run-your-state-machine"></a>

 Comece a executar sua máquina de estado com o seguinte JSON para entrada: 

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

#### Solução de um erro de permissão…
<a name="policy-section"></a>

 Sem a política correta, você receberá um **erro de permissões** semelhante ao seguinte: 

```
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)
```

 A mensagem de erro acima informa que sua máquina de estado não está autorizada a usar o serviço externo. Volte uma etapa e verifique se você configurou uma política de identidade. 

 **Pratique o que você aprendeu\$1**

 Antes de mergulhar em fluxos de trabalho mais complexos, pratique o que você aprendeu com as seguintes tarefas: 
+  Revise a **DetectSentiment**etapa. Dê uma olhada input/output nas várias visualizações para ver os resultados da detecção de sentimentos. 
+ Encontre a **duração** do DetectSentiment estado na exibição da tabela.
+ Altere o comentário na **entrada JSON** e execute novamente sua máquina de estado.

Para saber mais sobre os resultados da análise de sentimentos, consulte [Amazon Comprehend: Sentimento](https://docs.aws.amazon.com/comprehend/latest/dg/how-sentiment.html).

 Uma forma de pensar sobre a integração da Resposta à solicitação é que a resposta geralmente representa uma *confirmação* da solicitação. No entanto, em algumas integrações, como a análise de sentimentos, essa confirmação representa a *conclusão* da tarefa. 

 O principal ponto é que o estado `Task` **não espera** pela tarefa subjacente nas integrações de Resposta à solicitação. Para aguardar por uma resposta, você precisará explorar o padrão de integração do serviço *Executar um serviço (.sync)*.

**Parabéns\$1**  
 Você criou sua primeira máquina de estado e integrou uma tarefa de análise de sentimentos usando o padrão **Resposta à solicitação**.

**Valorizamos o seu feedback.**  
Se você achou este tutorial de introdução útil ou tem sugestões para aprimorá-lo, entre em contato conosco usando as opções de feedback nesta página.

## Limpar os recursos
<a name="clean-up-resources"></a>

 Siga as seguintes etapas para limpar os recursos criados: 

1. Navegue até a página [Step Functions](https://console.aws.amazon.com/states/home) no AWS Console.

1. Selecione **Máquinas de estado** no painel de navegação à esquerda.

1. Selecione o **MyFirstStateMachine** 

1. Como excluir os perfis do IAM

   1 - Siga o link do **perfil do IAM** para acessar a página do perfil do IAM em uma nova guia. Exclua o perfil relacionado personalizado.

   2 - Em Funções do IAM, pesquise a função gerada automaticamente que contém*MyFirstStateMachine*. Exclua o perfil gerado automaticamente.

1. Retorne à guia do console Step Functions e selecione o menu suspenso **Ações** e, em seguida, selecione **Excluir** para excluir a máquina de estado.

A máquina de estado e o perfil relacionado devem ser excluídos com sucesso.