Что ж, у меня проблема, с которой я работал последние 2 дня, и, похоже, до сих пор не могу решить ее.
По сути, я пытаюсь развить навык для эхо-точки Amazon, но мой конкретный навык требует использования постоянных данных. Я просмотрел документацию и нашел информацию о привязке учетных записей и DynamoDB, привязка учетных записей казалась сложной для простого исследовательского проекта, поэтому я выбрал DynamoDB.
Я использовал лямбда-функцию, и она работала нормально, пока я не поместил строку таблицы DynamoDB:
alexa.dynamoDBTableName = 'rememberThisDB';
Эта строка полностью останавливает мой навык и возвращает следующее сообщение:
The remote endpoint could not be called, or the response it returned was invalid.
Я, честно говоря, понятия не имею, как с этим бороться; Я совершенно не знаком со всей концепцией AWS, поэтому я даже не знаю, как получить фактическое сообщение об ошибке, возвращаемое функцией Lambda.
Я изменил роль и дал ей следующую конфигурацию:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"dynamodb:DeleteItem",
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:Scan",
"dynamodb:UpdateItem"
],
"Resource": "*Yes, I did put the correct ARN*"
}
]
}
Но на самом деле это ничего не изменило, а просто вернуло ту же ошибку.
Проблема в том, что я вообще ничего не делаю с DynamoDB, я просто определяю свойство dynamoDBTableName
объекта alexa
, вот и все.
Да, таблица DynamoDB существует.
Я чувствую, что моя голова вот-вот взорвется, поэтому я буду благодарен за любую помощь.
ОБНОВЛЕНИЕ: узнал, как просматривать журналы, вот последний журнал: Error fetching user state: ValidationException: The provided key element does not match the schema
, не уверен, почему он выдает эту ошибку, поскольку я никогда ничего не запрашивал, единственное, что я сделал, - это объявил имя таблицы.
userId
строковый HASH-ключ. - person idbehold   schedule 25.02.2017id
первичный индекс, но неuserId
, после добавления он снова начал работать. Я не видел, чтобы это было задокументировано в Readme. Спасибо тебе большое, ты спасатель жизни - person CristianHG   schedule 25.02.2017