У меня есть сценарий, который читает именно этот раздел в JSON. Рассматриваемый раздел:
def amifunc2(instance_id):
client = boto3.client('ssm', region_name = 'us-east-1')
ec2_response = client.send_command(
InstanceIds=[
instance_id
],
DocumentName='AWS-RunShellScript',
Parameters={
'commands': [
'#!/bin/bash',
---
'admin_users=( user.number.1 user.number.2 user.number.3 user.number.4 )',
'for i in ${admin_users[@]}; do aws ssm send-command --document-name "arn:aws:ssm:doc-name" --targets "Key=instanceids,Values=$instance_id" --parameters "{"\""username"\"":["\""$i"\""]}" --timeout-seconds 600 --max-concurrency "50" --max-errors "0" --region us-east-1 --query "Command.CommandId"; sleep 5; done',
Я запускаю эту команду и получаю:
Error parsing parameter '--parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
JSON received: {username:[user.number.1]}
Error parsing parameter '--parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
JSON received: {username:[user.number.2]}
Error parsing parameter '--parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
JSON received: {username:[user.number.3]}
Error parsing parameter '--parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
JSON received: {username:[user.number.4]}
раздел параметров первого раздела - это то, о чем идет речь. Я пробовал все комбинации двойных кавычек, но консоль AWS сообщает об этом как недопустимый формат JSON. В чем проблема с моим синтаксисом?