Amazon API Gateway

Amazon API Gatewayには、一回毎にアクションを行うREST APIと継続的に接続するWebSocketがある。REST APIの部分がやることはPOSTMANと同じであろう。AWS API GATEWAYを使うとPUBLICな運用が出来ることが異なる。HTMLページで実現しているようなAPI接続人工衛星はどこを、ALEXA上で実現したい場合、API gatewayと接続するのが必須になるのか否かは検討を要する。

Amazon S3をDynamoDBの代わりに使う

Alexa hosted スキルの場合、一定容量のS3が提供されるので、dbを持ちたいような場合、DynamoDBでなく、S3を使うのが効率的。

ask persistence adapterの読み込み
const persistenceAdapter = require('ask-sdk-s3-persistence-adapter');
スキルビルダーをask persistence adapterを使用して初期化
const skillBuilder = Alexa.SkillBuilders.custom()
    .withPersistenceAdapter(new persistenceAdapter
    .S3PersistenceAdapter({bucketName:process.env.S3_PERSISTENCE_BUCKET}));
S3に保存しているデータを取得
const attributesManager = handlerInput.attributesManager;
const s3Attributes = await attributesManager.getPersistentAttributes() || {};
const items = s3Attributes.hasOwnProperty('Data')? s3Attributes.Data : [];
S3にデータを保存
attributesManager.setPersistentAttributes(sendData);
await attributesManager.savePersistentAttributes();