Во-первых, вам нужно создать таблицу в DynamoDB, это можно сделать через консоль AWS.
Затем создайте ключ доступа AWS и секретную пару из своей учетной записи AWS.Они понадобятся вам для аутентификации и подключения к «Динамо» из кода навыка.
Затем, в вашем коде, установите соединение после вызова, вы можете поместить его в перехватчик или в начало каждого обработчика.
import boto3
from ask_sdk_dynamodb.adapter import DynamoDbAdapter, user_id_partition_keygen
dynamodb = boto3.resource('dynamodb',
region_name="eu-west-1",
aws_access_key_id="your_access_key",
aws_secret_access_key="your_secret_key")
dynamo_client = DynamoDbAdapter(table_name="your_table_name",
partition_key_name="user_id", # the ID you choose while creating the table
partition_keygen=user_id_partition_keygen, # default
create_table=False, # default
dynamodb_resource=dynamodb)
Как видите, я указал user_id_partition_keygen
, который является значением по умолчанию, это означает, что каждый элемент, хранящийся в вашей таблице, будет использовать UserId в качестве основного идентификатора, поэтому вы не сможетеиметь два элемента для одного и того же пользователя, вы можете изменить это так, как вам удобно.
После установки соединения вы можете просто сохранить словарь атрибутов, который в этом случае будет подключен к userId, или прочитатьатрибуты пользователя.
# Store attributes for the user
attr = {
'last_request_time': datetime.now().strftime("%Y%m%d"),
}
self.dynamo_client.save_attributes(request_envelope=handler_input.request_envelope, attributes=attr)
# Get user attributes
user_attr = self.dynamo_client.get_attributes(request_envelope=handler_input.request_envelope)