

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á.

# Reúna informações do bucket do Amazon S3 usando integrações de serviços AWS SDK
<a name="tutorial-gather-s3-info"></a>

Este tutorial mostra como realizar uma [integração do AWS SDK](supported-services-awssdk.md) com o Amazon Simple Storage Service. A máquina de estado que você cria neste tutorial reúne informações sobre seus buckets do Amazon S3 e lista seus buckets junto com as informações de versão de cada bucket na região atual. 

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

Usando o console do Step Functions, você vai criar uma máquina de estado que inclui um estado `Task` para listar todos os buckets do Amazon S3 na conta e na região atuais. Você então vai adicionar outro estado `Task` que invoca a API `[HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)` para verificar se o bucket retornado está acessível na região atual. Se o bucket não estiver acessível, a chamada de API `HeadBucket` retornará o erro `S3.S3Exception`. Você incluirá um bloco `Catch` para capturar essa exceção e um estado `Pass` como estado alternativo.

1. Abra o [console do Step Functions](https://console.aws.amazon.com/states/home). No menu, selecione **Máquinas de estado** e, em seguida, selecione **Criar máquina de estado**.

1. Selecione **Criar do zero**.

1. Nomeie sua máquina de estado e clique em **Continuar** para editá-la no Workflow Studio.

1. Neste tutorial, você escreverá a definição da [Amazon States Language](concepts-amazon-states-language.md) (ASL) da máquina de estado no [Editor de código](workflow-studio.md#wfs-interface-code-editor). Para isso, clique em **Código**.

1. Remova o código clichê existente e cole a seguinte definição de máquina de estado.

   ```
   {
     "Comment": "A description of my state machine",
     "StartAt": "ListBuckets",
     "States": {
       "ListBuckets": {
         "Type": "Task",
         "Parameters": {},
         "Resource": "arn:aws:states:::aws-sdk:s3:listBuckets",
         "Next": "Map"
       },
       "Map": {
         "Type": "Map",
         "ItemsPath": "$.Buckets",
         "ItemProcessor": {
           "ProcessorConfig": {
             "Mode": "INLINE"
           },
           "StartAt": "HeadBucket",
           "States": {
             "HeadBucket": {
               "Type": "Task",
               "ResultPath": null,
               "Parameters": {
                 "Bucket.$": "$.Name"
               },
               "Resource": "arn:aws:states:::aws-sdk:s3:headBucket",
               "Catch": [
                 {
                   "ErrorEquals": [
                     "S3.S3Exception"
                   ],
                   "ResultPath": null,
                   "Next": "Pass"
                 }
               ],
               "Next": "GetBucketVersioning"
             },
             "GetBucketVersioning": {
               "Type": "Task",
               "End": true,
               "Parameters": {
                 "Bucket.$": "$.Name"
               },
               "ResultPath": "$.BucketVersioningInfo",
               "Resource": "arn:aws:states:::aws-sdk:s3:getBucketVersioning"
             },
             "Pass": {
               "Type": "Pass",
               "End": true,
               "Result": {
                 "Status": "Unknown"
               },
               "ResultPath": "$.BucketVersioningInfo"
             }
           }
         },
         "End": true
       }
     }
   }
   ```

1. Especifique um nome para a máquina de estado. Para fazer isso, escolha o ícone de edição ao lado do nome padrão da máquina de estado de **MyStateMachine**. Em seguida, em **Configuração da máquina de estado**, insira um nome na caixa **Nome da máquina de estado**.

   Para este tutorial, insira o nome **Gather-S3-Bucket-Info-Standard**.

1. (Opcional) Em **Configuração da máquina de estado**, especifique outras configurações do fluxo de trabalho, como o tipo de máquina de estado e a função de execução.

   Mantenha todas as seleções padrão nas **configurações da máquina de estado**.

   Se você [já criou um perfil do IAM](procedure-create-iam-role.md) com as permissões corretas para a máquina de estado e deseja usá-lo, em **Permissões**, clique em **Escolher um perfil existente** e selecione uma função na lista. Ou selecione **Inserir um ARN de função** e forneça o ARN para esse perfil do IAM.

1. Na caixa de diálogo **Confirmar criação do perfil**, selecione **Confirmar** para continuar.

   Você também pode escolher **Exibir configurações do perfil** para voltar às **Configurações da máquina de estado**.
**nota**  
Se você excluir o perfil do IAM criado pelo Step Functions, não será possível recriá-lo posteriormente. Da mesma forma, se você modificar a função (por exemplo, removendo o Step Functions das entidades principais na política do IAM), o Step Functions não poderá restaurar as configurações originais dela posteriormente. 

   Na [Etapa 2](#aws-sdk-add-iam-permissions), você vai adicionar as permissões ausentes à função de máquina de estado.

## Etapa 2: Adicionar permissões do perfil do IAM necessárias
<a name="aws-sdk-add-iam-permissions"></a>

Para coletar informações sobre os buckets do Amazon S3 em sua região atual, forneça à sua máquina de estado as permissões necessárias para acessar os buckets do Amazon S3.

1. Na página da máquina de estado, escolha **ARN do perfil do IAM** para abrir a página **Funções ** da função da máquina de estado.

1. Escolha **Adicionar permissões** e depois **Criar política em linha**.

1. Escolha a guia **JSON** e cole as permissões a seguir no editor JSON.  
****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "s3:ListAllMyBuckets",
                   "s3:ListBucket",
                   "s3:GetBucketVersioning"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Selecione **Revisar política**.

1. No campo **Política de revisão**, em **Nome** da política, insira **s3-bucket-permissions**.

1. Selecione **Criar política**.

## Etapa 3: Iniciar a execução de uma máquina de estado padrão
<a name="aws-sdk-run-standard"></a>

1. Na página **Gather-S3-Bucket-Info-Standard**, escolha **Iniciar execução**.

1. Na caixa de diálogo **Iniciar execução**, faça o seguinte:

   1. (Opcional) Insira um nome de execução personalizado para substituir o padrão gerado.
**Nomes e registro em log não ASCII**  
O Step Functions aceita nomes de máquina de estado, execuções, atividades e rótulos que contenham caracteres não ASCII. Como esses caracteres impedirão que a Amazon CloudWatch registre dados, recomendamos usar somente caracteres ASCII para que você possa acompanhar as métricas do Step Functions.

   1. Selecione **Iniciar execução**.

   1. O console do Step Functions direciona você para uma página em que o título é o ID da execução. Essa página é conhecida como página de *Detalhes da execução*. Nesta página, você pode revisar os resultados da execução à medida que a execução avança ou após a conclusão.

      Para revisar os resultados da execução, escolha estados individuais na **Exibição em gráfico** e, em seguida, escolha as guias individuais no painel [Detalhes da etapa](concepts-view-execution-details.md#exec-details-intf-step-details) para visualizar os detalhes de cada estado, incluindo entrada, saída e definição, respectivamente. Para obter detalhes sobre as informações de execução que você pode visualizar na página *Detalhes da execução*, consulte [Visão geral dos detalhes da execução](concepts-view-execution-details.md#exec-details-interface-overview).

## Etapa 4: Executar uma execução de máquina de estado Express
<a name="aws-sdk-run-express"></a>

1. Crie uma máquina de estado expresso usando a definição de máquina de estado apresentada na [Etapa 1](#aws-sdk-create-state-machine). Inclua também as permissões de perfil do IAM necessárias, conforme explicado na [Etapa 2](#aws-sdk-add-iam-permissions).
**dica**  
Para diferenciar da máquina padrão criada antes, dê à máquina de estado expresso o nome **Gather-S3-Bucket-Info-Express**.

1. Na página **Gather-S3-Bucket-Info-Standard**, escolha **Iniciar execução**.

1. Na caixa de diálogo **Iniciar execução**, faça o seguinte:

   1. (Opcional) Insira um nome de execução personalizado para substituir o padrão gerado.
**Nomes e registro em log não ASCII**  
O Step Functions aceita nomes de máquina de estado, execuções, atividades e rótulos que contenham caracteres não ASCII. Como esses caracteres impedirão que a Amazon CloudWatch registre dados, recomendamos usar somente caracteres ASCII para que você possa acompanhar as métricas do Step Functions.

   1. Selecione **Iniciar execução**.

   1. O console do Step Functions direciona você para uma página em que o título é o ID da execução. Essa página é conhecida como página de *Detalhes da execução*. Nesta página, você pode revisar os resultados da execução à medida que a execução avança ou após a conclusão.

      Para revisar os resultados da execução, escolha estados individuais na **Exibição em gráfico** e, em seguida, escolha as guias individuais no painel [Detalhes da etapa](concepts-view-execution-details.md#exec-details-intf-step-details) para visualizar os detalhes de cada estado, incluindo entrada, saída e definição, respectivamente. Para obter detalhes sobre as informações de execução que você pode visualizar na página *Detalhes da execução*, consulte [Visão geral dos detalhes da execução](concepts-view-execution-details.md#exec-details-interface-overview).