Как хранить глобальные атрибуты (для каждого навыка) с помощью адаптера персистентности Alexa SDK DynamoDB - PullRequest
0 голосов
/ 31 декабря 2018

Alexa SDK (ask-sdk) поставляется с постоянным адаптером , который позволяет хранить атрибуты в виде пар ключ / значение в экземпляре DynamoDB полупрозрачным способом.Я попробовал это, и он хранит атрибуты для каждого пользователя, то есть первичным ключом сгенерированной таблицы является идентификатор пользователя.Это полезно для хранения пользовательских настроек, но не полезно для хранения глобальных данных, таких как, например, таблица лидеров.

Как я могу использовать этот адаптер для глобального хранения атрибутов на уровне квалификации (не для идентификатора пользователя)?

1 Ответ

0 голосов
/ 09 января 2019

Отвечая на мой собственный вопрос здесь.Решение состоит в том, чтобы использовать изменение «функции генератора ключей» в адаптере постоянства, которое в основном сообщает адаптеру, что использовать в качестве первичного ключа в базе данных.

Вот полная демонстрация, показывающая, как это сделать с узлом Alexa.js SDK Динамический адаптер DynamoDB и с постоянным адаптером S3:

https://gist.github.com/germanviscuso/70c979f671660fea811ccfb63801f936

В приведенном выше примере функция генератора ключей изменена, чтобы возвращать идентификатор навыка вместо идентификатора пользователя, поэтому атрибутызатем хранятся глобально (на уровне навыков), а не на уровне пользователя.

...