Amazon Alexaask-sdk

ASK SDKでgetPersistentAttributesのデフォルト値が設定可能に(2.8.1以降の予定)

ASK SDKでDBのデータを取得する場合、getPersistentAttribuetsを利用します。 が、初めてスキルを使ったユーザーの場合、そもそもDBにレコードがない状態なので、実装側で初期値の設定が必要でした。 […]

広告ここから
広告ここまで

ASK SDKでDBのデータを取得する場合、getPersistentAttribuetsを利用します。

が、初めてスキルを使ったユーザーの場合、そもそもDBにレコードがない状態なので、実装側で初期値の設定が必要でした。

let attributes = await attributesManager.getPersistentAttributes()
if (!attributes) {
  attributes = {
    invocationCount: 1
  }
  attributesManager.setPersistenceAttributes(attributes)
}

リリース待ち新機能: デフォルト値の設置が可能に

現在「PRがマージされてリリース待ち」という状態ですが、このgetPersistentAttribuets関数でレコードがなかった場合の初期値を設定できるようになります。

const attributes = await attributesManager.getPersistentAttributes(true, {
    invocationCount: 1
  }
)

後方互換性の関係上、第一引数にはtrueを必ず指定してください。指定しないとgetPersistentAttributes関数をリクエスト内で複数回実行した場合のパフォーマンスが大きく低下する可能性があります。

参考: ask-sdkでPersistentAttributesを使う場合のキャッシュ管理

終わりに

実はS3 Adapterを使った場合にエラーが飛んでくるという問題がまだありますので、その辺は近々PRを出す予定です。

が、DynamoDBユーザーであれば2.8.1か2.9.0かのリリースで利用できますので是非お試しください。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts