Я пытаюсь обновить ответ json на элемент в AWS DynamoDB и получаю сообщение об ошибке ниже. Может ли кто-нибудь помочь в этом
import boto3
import json
dynamoDB = boto3.client('dynamodb')
def lambda_handler(event, context):
testinfo = {"Smile":{"Confidence": '99.8970947265625',"Value":
"True"}}
dynamoDB.put_item(TableName='DetectedInfo',Item = {'DateTime':
'12282018','Info': json.dumps(testinfo)})
Ошибка:
ParamValidationError: Ошибка проверки параметра: Недействительный тип для параметра Item.Info, значение: [{"Smile": {"Confidence": "99.8970947265625", "Value": "True"}}], тип:, допустимые типы: Недопустимый тип для параметра Item.DateTime, значение: 12132018, тип:, допустимые типы:






Он должен иметь форму:
dynamoDB.put_item(TableName='DetectedInfo',
Item = {
'DateTime': {
'N':'12282018'},
'Info': {
'S':json.dumps(testinfo)}
})
Здесь N, S - это тип переменной. Вам необходимо проверить разрешенные типы данных в документации aws и применить их соответствующим образом.
Yyyymmdd предпочтительнее mmddyyyy или ddmmyyyy, потому что он делает хронологический и лексиконографический порядок одинаковым. Это также однозначно, в отличие от многих дат, выраженных иначе (12012018 - декабрь или январь?)