Usando AWS Infrastructure Composer com AWS Step Functions - AWS Infrastructure Composer

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

Usando AWS Infrastructure Composer com AWS Step Functions

AWS Infrastructure Composer apresenta uma integração com AWS Step Functions Workflow Studio. Use o Infrastructure Composer para fazer o seguinte:

  • Inicie Step Functions Workflow Studio diretamente no Infrastructure Composer.

  • Crie e gerencie novos fluxos de trabalho ou importe fluxos de trabalho existentes para o Infrastructure Composer.

  • Integre seus fluxos de trabalho com outros AWS recursos usando a tela do Infrastructure Composer.

A imagem a seguir é de uma placa de máquina Step Functions State

Uma placa de máquina Step Functions State.

Com Step Functions Workflow Studio no Infrastructure Composer, você pode usar os benefícios de dois designers visuais poderosos em um único lugar. Conforme você projeta seu fluxo de trabalho e aplicativo, o Infrastructure Composer cria sua infraestrutura como código (IaC) para orientá-lo na implantação.

Políticas do IAM

Quando você conecta tarefas do seu fluxo de trabalho aos recursos, o Infrastructure Composer cria automaticamente as políticas AWS Identity and Access Management (IAM) necessárias para autorizar a interação entre seus recursos. Veja um exemplo a seguir:

Transform: AWS::Serverless-2016-10-31 Resources: StockTradingStateMachine: Type: AWS::Serverless::StateMachine Properties: ... Policies: - LambdaInvokePolicy: FunctionName: !Ref CheckStockValue ... CheckStockValue: Type: AWS::Serverless::Function ...

Se necessário, você pode adicionar mais políticas do IAM ao seu modelo.

Introdução ao Step Functions Workflow Studio no Infrastructure Composer

Para começar, você pode criar novos fluxos de trabalho ou importar fluxos de trabalho existentes.

Para criar um novo fluxo de trabalho

  1. Na paleta Resources, arraste um cartão de componente aprimorado da máquina Step Functions State para a tela.

    Uma placa de máquina de estado Step Functions.

    Quando você arrasta um cartão de máquina Step Functions State para a tela, o Infrastructure Composer cria o seguinte:

    • Um AWS::Serverless::StateMachine recurso que define sua máquina de estados. Por padrão, o Infrastructure Composer cria um fluxo de trabalho padrão. Para criar um fluxo de trabalho expresso, altere o Type valor em seu modelo de STANDARD paraEXPRESS.

    • Um AWS::Logs::LogGroup recurso que define um grupo de CloudWatch registros da Amazon para sua máquina de estado.

  2. Abra o painel de propriedades do recurso do cartão e selecione Editar no Workflow Studio para abrir Workflow Studio dentro do Infrastructure Composer.

    Step Functions Workflow Studio abre no modo Design. Para saber mais, consulte Modo de design no Guia do AWS Step Functions desenvolvedor.

    nota

    Você pode modificar o Infrastructure Composer para salvar sua definição de máquina de estado em um arquivo externo. Para saber mais, consulte Trabalhando com arquivos externos.

  3. Crie seu fluxo de trabalho e escolha Salvar. Para sair Workflow Studio, escolha Retornar ao Infrastructure Composer.

    O Infrastructure Composer define seu fluxo de trabalho usando a Defintion propriedade do AWS::Serverless::StateMachine recurso.

  4. Você pode modificar seu fluxo de trabalho fazendo o seguinte:

    • Abra o Workflow Studio novamente e modifique seu fluxo de trabalho.

    • Para o Infrastructure Composer a partir do console, você pode abrir a visualização Modelo do seu aplicativo e modificar seu modelo. Se estiver usando a sincronização local, você pode modificar seu fluxo de trabalho no IDE local. O Infrastructure Composer detectará suas alterações e atualizará seu fluxo de trabalho no Infrastructure Composer.

    • Para o Infrastructure Composer do Toolkit for VS Code, você pode modificar diretamente seu modelo. O Infrastructure Composer detectará suas alterações e atualizará seu fluxo de trabalho no Infrastructure Composer.

Para importar fluxos de trabalho existentes

Você pode importar fluxos de trabalho de aplicativos definidos usando modelos AWS Serverless Application Model (AWS SAM). Use qualquer máquina de estado definida com o tipo de AWS::Serverless::StateMachine recurso e ela será visualizada como uma placa de componente aprimorada da máquina Step Functions State que você pode usar para iniciar Workflow Studio.

O AWS::Serverless::StateMachine recurso pode definir fluxos de trabalho usando uma das seguintes propriedades:

  • Definition— O fluxo de trabalho é definido no AWS SAM modelo como um objeto.

  • DefinitionUri— O fluxo de trabalho é definido em um arquivo externo usando o Amazon States Language. O caminho local do arquivo é então especificado com essa propriedade.

Propriedade de definição

Infrastructure Composer a partir do console

Para fluxos de trabalho definidos usando a Definition propriedade, você pode importar um único modelo ou o projeto inteiro.

Compositor de infraestrutura do Toolkit for VS Code

Para fluxos de trabalho definidos usando a Definition propriedade, você pode abrir o Infrastructure Composer a partir do seu modelo. Para obter instruções, consulte Acesse o Infrastructure Composer a partir do AWS Toolkit for Visual Studio Code.

DefinitionUri propriedade

Infrastructure Composer a partir do console

Para fluxos de trabalho definidos usando a DefinitionUri propriedade, você deve importar o projeto e ativar a sincronização local. Para obter instruções sobre como importar um projeto, consulteImportar uma pasta de projeto existente no console do Infrastructure Composer.

Compositor de infraestrutura do Toolkit for VS Code

Para fluxos de trabalho definidos usando a DefinitionUri propriedade, você pode abrir o Infrastructure Composer a partir do seu modelo. Para obter instruções, consulte Acesse o Infrastructure Composer a partir do AWS Toolkit for Visual Studio Code.

Usando Step Functions Workflow Studio no Infrastructure Composer

Crie fluxos de trabalho

O Infrastructure Composer usa substituições de definição para mapear tarefas de fluxo de trabalho para recursos em seu aplicativo. Para saber mais sobre substituições de definições, consulte DefinitionSubstitutions o Guia do AWS Serverless Application Model desenvolvedor.

Quando você cria tarefas no Workflow Studio, especifique uma substituição de definição para cada tarefa. Em seguida, você pode conectar tarefas a recursos na tela do Infrastructure Composer.

Para especificar uma substituição de definição em Workflow Studio
  1. Abra a guia Configuração da tarefa e localize o campo Parâmetros da API.

    A guia Configuração de uma tarefa no Workflow Studio.
  2. Se o campo Parâmetros da API tiver uma opção suspensa, escolha Inserir uma AWS CloudFormation substituição. Em seguida, forneça um nome exclusivo.

    Para tarefas que se conectam ao mesmo recurso, especifique a mesma substituição de definição para cada tarefa. Para usar uma substituição de definição existente, escolha Selecionar uma AWS CloudFormation substituição e selecione a substituição a ser usada.

  3. Se o campo Parâmetros da API contiver um objeto JSON, modifique a entrada que especifica o nome do recurso para usar uma substituição de definição. No exemplo a seguir, mudamos "MyDynamoDBTable" para"${RecordTransaction}".

    A guia Configuração de uma tarefa no Workflow Studio.
  4. Selecione Salvar e retornar ao Infrastructure Composer.

As tarefas do seu fluxo de trabalho serão visualizadas na placa da máquina Step Functions State.

Uma placa de máquina Step Functions State com tarefas visualizadas.

Conecte recursos às tarefas do fluxo de trabalho

Você pode criar conexões no Infrastructure Composer entre tarefas de fluxo de trabalho suportadas e placas compatíveis do Infrastructure Composer.

Ao criar uma conexão, a AWS service (Serviço da AWS) tarefa e o cartão devem corresponder. Por exemplo, você pode conectar uma tarefa de fluxo de trabalho que invoca uma função Lambda a um cartão de componente aprimorado da Função Lambda.

Para criar uma conexão, clique e arraste a porta de uma tarefa para a porta esquerda de uma placa de componente aprimorada.

Uma placa de máquina Step Functions State com uma tarefa conectada a uma placa de recursos da função Lambda.

O Infrastructure Composer atualizará automaticamente seu DefinitionSubstitution valor para definir sua conexão. Veja um exemplo a seguir:

Transform: AWS::Serverless-2016-10-31 Resources: StateMachine: Type: AWS::Serverless::StateMachine Properties: Definition: StartAt: Check Stock Value States: Check Stock Value: Type: Task Resource: arn:aws:states:::lambda:invoke Parameters: Payload.$: $ FunctionName: ${CheckStockValue} Next: Choice ... DefinitionSubstitutions: CheckStockValue: !GetAtt CheckStockValue.Arn ... CheckStockValue: Type: AWS::Serverless::Function Properties: ...

Trabalhando com arquivos externos

Quando você cria um fluxo de trabalho a partir do cartão de máquina Step Functions State, o Infrastructure Composer salva sua definição de máquina de estado em seu modelo usando a Definition propriedade. Você pode configurar o Infrastructure Composer para salvar sua definição de máquina de estado em um arquivo externo.

nota

Para usar esse recurso com o Infrastructure Composer do AWS Management Console, você deve ter a sincronização local ativada. Para obter mais informações, consulte Sincronize e salve localmente seu projeto no console do Infrastructure Composer.

Para salvar sua definição de máquina de estado em um arquivo externo
  1. Abra o painel de propriedades do recurso da sua placa de máquina Step Functions State.

  2. Selecione a opção Usar arquivo externo para definição de máquina de estado.

  3. Forneça um caminho e um nome relativos para o arquivo de definição da máquina de estado.

  4. Escolha Salvar.

O Infrastructure Composer fará o seguinte:

  1. Mova a definição da máquina de estado do Definition campo para o arquivo externo.

  2. Salve sua definição de máquina de estado em um arquivo externo usando a Amazon States Language.

  3. Modifique seu modelo para referenciar o arquivo externo usando o DefinitionUri campo.

Saiba mais

Para saber mais sobre Step Functions no Infrastructure Composer, veja o seguinte: