Я пытаюсь прочитать данные из моей таблицы динамо-базы данных с использованием alexa, но кажется, что моя лямбда-функция не может получить доступ к моей таблице. Вот код для получения данных из Dynamodb:
# Gets the data from dynamodb based on userid
def GetData(session):
userId = session['user']['userId'].split('.')
userId = userId[3]
try:
response = table.query(
KeyConditionExpression=Key('guid').eq(str(userId))
)
# print ("Got data: " + str(len(response)))
print(response)
for item in response['Items']:
final_response = item["command"]
tstamp = item["tstamp"]
if (response['Count'] == 0):
final_response = "No Data with this userid. You can ask to get the userid"
else:
now = datetime.datetime.utcnow()
timestamp = int(round((now - datetime.datetime(2016, 1, 1)).total_seconds()))
if ((timestamp - int(tstamp)) > 60):
final_response = "No Data received from device in past 1 minute"
return final_response
except ClientError as e:
print(e.response['Error']['Message'])
Когда я задаю Алексею свой пользовательский вопрос, я получаю только один ответ: «Нет данных» с этим идентификатором пользователя. Вы можете попросить получить идентификатор пользователя. Когда я тестирую запуск своей лямбда-функции, она запускается успешно. Но это не запрос к базе данных.