i am trying to write a bash script for uploading instance id from EC2 instance to AWS SQS but bash does not allow me to substitute variable(${instanceId}) value inside single quotes. also i do have multiple double quotes inside, so this is little tricky. if any alternate please suggest.
#/bin/bash
instanceIdFile="/var/lib/cloud/data/instance-id"
instanceId=`cat $instanceIdFile`
echo $instanceId
aws sqs send-message --queue-url https://sqs.us-west-2.amazonaws.com/123412341234/requestQueue --message-body "example message body goes here1" --region us-west-2 --message-attributes '{"InstanceId":{ "DataType":"String","StringValue":"${instanceId}"}, "Status":{ "DataType":"String","StringValue":"Completed"} }'