сохранение данных в DynamoDB в размещенном приложении Alexa

#python #amazon-dynamodb #alexa #alexa-skills-kit #alexa-voice-service

#python #amazon-dynamodb #alexa #alexa-skills-kit #alexa-голосовая служба

Вопрос:

Есть ли какие-нибудь действительно хорошие статьи, в которых рассказывается о том, как сохранить данные в DynamoDB из Alexa? Кажется, я не могу найти хорошую статью, в которой пошагово рассказывается о том, как сохранить значение слота в DynamoDB. Я вижу в документах Alexa здесь о реализации кода на Python, но, похоже, это только часть того, что я ищу.

На самом деле нет полной разбивки этого, как в этом руководстве, которое сохраняет данные в S3. Я хотел бы попытаться найти что-то подобное для DynamoDB. Если есть ответ на предыдущий вопрос, который ответил на него, дайте мне знать, и я могу пометить его как дубликат.

Ответ №1:

Вы можете просто воспользоваться учебным пособием, в котором используются лямбды python и aws. Как этот:

  • https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted .Python.html
  • в статье Amazon больше рассказывается о наборе для разработки, который может предоставить вам несколько полезных функций для хранения постоянных атрибутов для пользователей.
  • поэтому обычно у меня есть постоянное хранилище для пользователей (оценки игр, …, последнее использование навыка) и дополнительные данные в другой таблице

Комментарии:

1. Вау, достаточно просто. Наверное, я посмотрел на это под неправильным углом. Большое спасибо.

Ответ №2:

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

Вы можете найти параметры конфигурации для S3 и Dynamo здесь. https://developer.amazon.com/en-US/docs/alexa/alexa-skills-kit-sdk-for-python/manage-attributes.html

Я написал «локальный адаптер сохранения» на JavaScript, чтобы я мог хранить значения в плоских файлах на локальном хосте, а не на S3, когда я выполняю локальную разработку / отладку. Замена двух выходов (в зависимости от среды) выполняется при инициализации адаптера. Мои обработчики, использующие диспетчер атрибутов, не меняются.