Estoy tratando de simplemente insertar un elemento usando json como archivo de entrada. Estoy ejecutando el comando en el indicador de Windows Cmd:
aws2 dynamodb put-item --table-name testCLI --item file://C:\Temp\DynamoDB\item.jsonla tabla testCLI tiene 2 atributos: ID y valor
Elemento de archivo.json:
"{\"ID\": {\"N\":\"2\"}, \"Value\": {\"S\": \"From json file with escape characters\"}}"Estoy recibiendo un error:
Error al analizar el parámetro '--item': Esperado: '=', recibido: '"' para la entrada: "{\"ID\": {\"N\":\"2\"}, \"Valor\" : {\"S\": \"Del archivo json con caracteres de escape\"}}"
aws2 --version aws-cli/2.0.0dev3 Python/3.7.5 Windows/10 botocore/2.0.0dev2Si está utilizando Windows, puede usar la secuencia de escape como en el siguiente comando para ejecutar correctamente en AWS CLI como se muestra a continuación:
aws textract detect-document-text --document "{\"S3Object\":{\"Bucket\":\"NameOfBucket\",\"Name\":\"NameOfImage\"}}"Ese error está causado por las comillas al principio y al final del archivo JSON.
Sin embargo, eliminarlos también parece causar un problema debido a las barras invertidas.
Funcionó para mí (en una Mac, no en Windows) cuando usé este archivo:
{"ID": {"N":"2"}, "Value": {"S": "From json file with escape characters"}}Estaba probando muestras de AWS DynamoDB desde el indicador de Windows CMD... Pasé más tiempo descifrando el comando, los caracteres de escape, las comillas, ... que el tiempo que pasé aprendiendo DynamoDB. ¡Uf!
¡Simplemente agregue lo siguiente si puede ayudar a alguien, y a mí mismo si termino buscando en Google / sfo'ing nuevamente!
Comando para Linux Shell
aws dynamodb put-item \ --table-name device_data \ --item \ '{"device_id": {"S": "12345678"}, "datacount": {"N": "1"} , "timestamp": {"N": "1514876999940"}, "temperature1": {"N": "32.78"}, "temperature2": {"N": "21.76"}, "temperature3": {"N": "15.12"}, "temperature4": {"N": "20.22"}, "temperature5": {"N": "14.43"} }'Comando que funcionó para mí en el símbolo del sistema de Windows
aws dynamodb put-item ^ --table-name device_data ^ --item ^ "{\"device_id\": {\"S\": \"12345678\"}, \"datacount\": {\"N\": \"1\"} , \"timestamp\": {\"N\": \"1514876999940\"}, \"temperature1\": {\"N\": \"32.78\"}, \"temperature2\": {\"N\": \"21.76\"}, \"temperature3\": {\"N\": \"15.12\"}, \"temperature4\": {\"N\": \"20.22\"}, \"temperature5\": {\"N\": \"14.43\"} }"