Alexa.DataStoreインターフェースリファレンス
Alexa.DataStoreインターフェースは、デバイス上のデータストアの更新時に発生する可能性のあるエラーについてスキルに通知するリクエストを提供します。データストアとは、Alexa Presentation Language(APL)ドキュメントがデータバインディングを使用してアクセスできるデータを格納する、デバイスにローカルにインストールされる領域です。ウィジェットはデータストアを使用してコンテンツを表示します。スキルにリクエストを送信して応答を待つ必要はありません。
ウィジェットの詳細については、ウィジェットとAlexa Presentation Language(APL)の概要を参照してください。
Alexa.DataStoreインターフェースを有効にする
Alexa.DataStoreインターフェースを使用するには、スキルでこのインターフェースを有効にする必要があります。開発者コンソールまたはASK CLIを使用して、このインターフェースに対応するようにスキルを更新できます。
開発者コンソールでインターフェースを設定する
- 開発者コンソールにサインインして、設定するスキルの名前をクリックします。
- ビルド>インターフェースページに移動します。
-
データストアオプションを有効にします。
これにより、Alexa Extensionsのデータストアが自動的に有効になります。
- インターフェースを保存、モデルをビルドの順にクリックして、対話モデルを再ビルドします。
ASK CLIでインターフェースを設定する
以下の例のように、ALEXA_DATA_STOREをmanifest.apis.custom.interfaces配列のスキルマニフェストに追加します。
{
"manifest": {
"apis": {
"custom": {
"endpoint": {},
"interfaces": [
{
"type": "ALEXA_DATA_STORE"
}
],
"regions": {}
}
},
"manifestVersion": "1.0",
"privacyAndCompliance": {},
"publishingInformation": {}
}
}
リクエスト
DataStoreErrorリクエスト
エラーによりデータストアの更新が失敗したときに、そのことをスキルに通知するために送信されます。リクエストには、更新を再試行するために使用できる詳細情報が含まれています。
たとえば、データストアREST APIを使用して、オフラインで接続できないデバイスに更新情報を送信できます。このシナリオでは、デバイスがオンラインに戻ったときに、Alexaが更新を再試行します。REST操作の一部として指定した配信の有効期限が切れても、デバイスがオフラインである場合に、スキルがDataStoreErrorリクエストを受け取り、開発者がエラーを処理したりペイロードの送信を再試行したりできます。
DataStoreErrorのプロパティを以下の表に示します。
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
|
|
文字列 |
◯ |
|
|
|
Errorオブジェクト |
◯ |
発生したエラーに関する詳細情報を含むエラーオブジェクトです。 |
|
|
列挙値 |
◯ |
エラーのタイプです。
|
DEVICE_UNAVAILABLEエラーとDEVICE_PERMANENTLY_UNAVAILABLEエラー
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
|
|
列挙値 |
◯ |
エラーのサブタイプです。
|
|
|
オブジェクト |
◯ |
エラーの内容を含むオブジェクトです。 |
|
|
文字列 |
◯ |
接続できないデバイスのデバイスIDです。 |
|
|
コマンドの配列 |
◯ |
接続できないデバイスに送信されたコマンドを、元のリクエスト時間順にまとめたものです。 |
以下は、DEVICE_UNAVAILABLEエラーの例です。
{
"type": "Alexa.DataStore.Error",
"error": {
"type": "DEVICE_UNAVAILABLE",
"content": {
"deviceId": "device-id",
"commands": [
{
"type": "PUT_OBJECT",
"namespace": "namespace-for-the-command",
"key": "key-from-the-command",
"content": {}
}
]
}
}
}
ストレージ制限内部エラーとデータストア内部エラー
| プロパティ | 型 | 必須 | 説明 |
|---|---|---|---|
|
|
列挙値 |
◯ |
エラーのサブタイプです。
|
|
|
オブジェクト |
◯ |
エラーの内容を含むオブジェクトです。 |
|
|
文字列 |
◯ |
エラーが発生したデバイスのアカウントIDです。 |
|
|
◯ |
エラーが原因で失敗したコマンドです。 | |
|
|
文字列 |
× |
エラーを説明するメッセージです。 |
以下は、STORAGE_LIMIT_EXCEEDEDエラーの例です。
{
"type": "Alexa.DataStore.Error",
"error": {
"type": "STORAGE_LIMIT_EXCEEDED",
"content": {
"deviceId": "device-id",
"failedCommand": {
"type": "PUT_OBJECT",
"namespace": "namespace-from-the-command",
"key": "key-from-the-command",
"content": {}
}
}
}
}
関連トピック
最終更新日: 2025 年 12 月 02 日