Prompteo

Unidad 6 · 2 min

Persistencia y los límites reales

Atributos persistentes con DynamoDB y S3, y los límites reales: Lists API deprecada, sin Calendar API, y qué te da de verdad el account linking.

Persistencia y los límites reales

Los atributos de sesión que ya conocés se pierden en cuanto termina la sesión. Para que Mi Agenda recuerde algo de una conversación a la siguiente —una preferencia del usuario, o una lista propia de tareas— hace falta otra pieza.

Atributos persistentes

El SDK expone getPersistentAttributes(), setPersistentAttributes() y savePersistentAttributes(). setPersistentAttributes() solo actualiza una copia local en memoria; sin llamar después a savePersistentAttributes(), nada se escribe de verdad. Y no hay adaptador por defecto: sin configurar un PersistenceAdapter en el SkillBuilder, esas llamadas tiran error. Amazon documenta dos adaptadores oficiales: DynamoDbPersistenceAdapter (paquete ask-sdk-dynamodb-persistence-adapter) y S3PersistenceAdapter (paquete ask-sdk-s3-persistence-adapter); recomienda DynamoDB cuando hace falta consistencia de lectura inmediata después de escribir, porque S3 solo ofrece consistencia eventual.

Tres límites que hay que decir en voz alta

La Lists API —la que dejaba leer y escribir la lista de compras o de tareas nativa de Alexa— está deprecada desde julio de 2024: no es una opción para una skill nueva. No existe una Calendar API: nada en el catálogo de APIs de Alexa te da lectura ni escritura del calendario vinculado en la app. Y el account linking no cambia eso: solo entrega un access token de OAuth en context.System.user.accessToken; el resto —llamar a la API de Google Calendar o de quien sea— lo escribís vos, desde cero, en tu propio backend.