Enviar mensagens a uma fila do Amazon SQS com o Step Functions - AWS Step Functions

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

Enviar mensagens a uma fila do Amazon SQS com o Step Functions

Você pode enviar mensagens para uma fila do Amazon SQS usando as seguintes ações de API do Amazon SQS e um exemplo de código de estado Task para fluxos de trabalho do Step Functions.

Para saber mais sobre a integração com AWS serviços no Step Functions, consulte Integração de produtos da e. Transmitir parâmetros a uma API de serviço no Step Functions

Para saber mais sobre o recebimento de mensagens no Amazon SQS, consulte Receber e Excluir Sua Mensagem no Guia do Desenvolvedor do Amazon Simple Queue Service.

O exemplo a seguir inclui um Task estado (JSONata) que envia uma mensagem do Amazon Simple Queue Service (Amazon SQS) (Amazon SQS) com opção: MessageAttributes

{ "StartAt": "Send to SQS", "States": { "Send to SQS": { "Type": "Task", "Resource": "arn:aws:states:::sqs:sendMessage", "Arguments": { "QueueUrl": "https://sqs.us-east-1.amazonaws.com/account-id/myQueue", "MessageBody": "{% $states.input.message %}", "MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue": "attribute1" }, "my_attribute_no_2": { "DataType": "String", "StringValue": "attribute2" } } }, "End": true } } }

A máquina de estado a seguir inclui um Task estado que publica em uma fila do Amazon SQS e, em seguida, espera que o token da tarefa seja retornado. Consulte Aguardar um retorno de chamada com um token de tarefa.

{ "StartAt":"Send message to SQS", "States":{ "Send message to SQS":{ "Type":"Task", "Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken", "Arguments":{ "QueueUrl":"https://sqs.us-east-1.amazonaws.com/account-id/myQueue", "MessageBody":{ "Input" : "{% $states.input.message %}", "MyTaskToken" : "{% $states.context.Task.Token %}" } }, "End":true } } }

Amazon SQS otimizado APIs

Parâmetros em Step Functions são expressos em PascalCase

Mesmo que a API de serviço nativa esteja no CamelCase, por exemplo, a startSyncExecution ação da API, você especifica parâmetros PascalCase em, como:. StateMachineArn

Cota para dados de entrada ou resultado

Ao enviar ou receber dados entre serviços, o máximo de entrada ou resultado para uma tarefa é 256 KiB de dados como uma string codificada em UTF-8. Consulte Cotas relacionadas a execuções de máquina de estado.

Políticas do IAM para chamar o Amazon SQS

Os modelos de exemplo a seguir mostram como AWS Step Functions gera políticas do IAM com base nos recursos na definição da sua máquina de estado. Para obter mais informações, consulte Como o Step Functions gera políticas do IAM para serviços integrados e Descobrir padrões de integração de serviços no Step Functions.

Recursos estáticos

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:SendMessage" ], "Resource": [ "arn:aws:sqs:region:account-id:queueName" ] } ] }

Recursos dinâmicos

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:SendMessage" ], "Resource": "*" } ] }