Javi

AWS: SQS cli demo

Oct 3rd, 2017 (edited)
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.40 KB | None | 0 0
  1. # SQS demo
  2.  
  3. ## Creación de la cola
  4.  
  5. export AWS_DEFAULT_REGION=eu-west-1
  6. aws configure
  7. name=curso_$RANDOM
  8. echo The queue name is $name.
  9.  
  10. aws sqs create-queue --queue-name $name
  11.  
  12. qurl=$(aws sqs get-queue-url --queue-name $name --query QueueUrl --output text)
  13. aws sqs send-message --queue-url $qurl --message-body "Pole!"
  14.  
  15. aws sqs receive-message --queue-url $qurl --max-number-of-message 1
  16.  
  17. #aws sqs delete-queue --queue-url $qurl
  18.  
  19. ## producer.sh
  20.  
  21. cat << EOF > producer.sh
  22. #!/bin/sh
  23.  
  24. name=curso_ciberado_sqs
  25. echo Using queue $name
  26. qurl=`aws sqs get-queue-url --queue-name $name --query QueueUrl --output text`
  27. echo Qeueu url: $qurl
  28. for i in `seq 1 1000`; do
  29.     aws sqs send-message --queue-url $qurl --message-body "This is message $i."
  30.     sleep 1
  31. done
  32. EOF
  33.  
  34. ## consumer.sh
  35.  
  36. cat << EOF > consumer.sh
  37. #!/bin/bash
  38.  
  39. wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
  40. mv jq-linux64 jq
  41. chmod +x jq
  42.  
  43. name=curso_ciberado_sqs
  44. echo Using queue $name
  45. qurl=$(aws sqs get-queue-url --queue-name $name --query QueueUrl --output text)
  46. echo Queue url: $qurl
  47. while true; do
  48.     msg=$(aws sqs receive-message --queue-url $qurl --max-number-of-message 1)
  49.     handler=$(echo "$msg" | jq -r .Messages[0].ReceiptHandle)
  50.     body=$(echo "$msg" | jq -r .Messages[0].Body)
  51.     echo "$body"
  52.     aws sqs delete-message --queue-url $qurl --receipt-handle $handler
  53.  
  54.     sleep 2
  55. done
  56. EOF
  57.  
Add Comment
Please, Sign In to add comment