2016-07-29 3 views
2

aws cli를 사용하여 명령 줄에서 메시지 일괄 처리를 보내려고합니다. 이 명령은 다음과 같습니다AWS sqs가 cli에서 메시지 일괄 처리를 보내십시오.

aws sqs send-message-batch \ 
    --queue-url https://sqs.us-west-2.amazonaws.com/... \ 
    --region=us-west-2 \ 
    --cli-input-json "[{\"Id\":\"1\",\"MessageBody\":\"[344ED079FC85292446B193170E02F6C51882A761]\"},{\"Id\":\"2\",\"MessageBody\":\"[B584291B654587C7C957E10DF8B50FB31B2F589E]\"}]" 

문제는이 오류 코드를 255를 반환 :

'list' object has no attribute 'keys' 

내가 잘못하고있는 중이 야 어떤 생각?

+0

나는 cli-input-json을 사용하여 운이 좋았다. 메시지를 Json 파일로 저장하고이 파일을'--entries file : //path/to/file.json '로 참조하십시오. –

+0

예, 그것에 대해 생각해보십시오. 문제는 내가 보낼 10k 메시지가 있고, 각 10 배치에 대한 파일을 만드는 것은 추한 솔루션입니다. – Petru

답변

2

아주 가까이 있습니다!
cli 도움말은 이것에 대해 다소 모호하지만, --entries 매개 변수에 대한 인수는 JSON 또는 축약어 구문 (cli-input-json없이)과 함께 제공 될 수 있습니다.

aws sqs send-message-batch \ 
    --queue-url https://sqs.us-west-2.amazonaws.com/... \ 
    --region=us-west-2 \ 
    --entries "[{\"Id\":\"1\",\"MessageBody\":\"[344ED079FC85292446B193170E02F6C51882A761]\"},{\"Id\":\"2\",\"MessageBody\":\"[B584291B654587C7C957E10DF8B50FB31B2F589E]\"}]" 

--cli-input-json 매개 변수는 JSON과 같은 명령에 대한 모든 인수 (개인이 아닌)을 제공 할 수 있습니다 모든 CLI 명령에 사용할 수있는 선택적 매개 변수는 다음과 같은 명령이 보일 것입니다. 이 경우 불필요합니다.

관련 문제