Reputation: 2129
Below is my required output.
aws cognito-idp list-users --region "us-west-2" --user-pool-id "us-west-2_TEST" --filter "email = \"[email protected]\"" --query 'Users[0].Username' --output text
I am trying to achieve this syntax using Python but getting some syntax error. I am stuck.
aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \"+email+\"\" --query 'Users[0].Username' --output text
Please note that similar syntax i am using in Shell Script and its working fine.
aws cognito-idp list-users --region "$region" --user-pool-id "$userpool_id" --filter "email = \"$email\"" --query 'Users[0].Username' --output text
Anyone can help me?
This may be similar with other questions, But i need extra double quotes inside command.
UPDATE:
I am able to get something like "email = "[email protected]"" using below command.
"aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \""+email+"\"\" --query 'Users[0].Username' --output text"
But I need an extra backslash before double quotes of email id.
Thanks!
Upvotes: 0
Views: 1163
Reputation: 2129
Solution:
"aws cognito-idp list-users --region "+region+" --user-pool-id "+user_pool_id+" --filter \"email = \\\""+email+"\\\"\" --query 'Users[0].Username' --output text"
\\" will add backslash along with double quotes. :)
Upvotes: 0
Reputation: 82785
Try using str.format
Ex:
cmd = 'aws cognito-idp list-users --region "{0}" --user-pool-id "{1}" --filter \"email = \"{2}\" --query "{3}" --output text'.format("us-west-2", "us-west-2_TEST", "[email protected]", Users[0].Username)
print(cmd)
Upvotes: 1