Alexa 连接到 MongoDb 后无法发送技能请求

如何解决Alexa 连接到 MongoDb 后无法发送技能请求

我的 Alexa 技能发生了奇怪的事情。我的技能需要连接 MongoDB 并保存数据。每当我连接到数据库时,Alexa 都会给我这样的响应:“请求的技能响应出现问题”。这完全很奇怪,因为几天前我的数据库和 Alexa 技能完美运行。现在,突然间,即使我的数据库已连接并创建文档,我也没有收到 Alexa 的任何响应。

下面是我的 JSON INPUT 和来自 Launchrequesthandler 的代码

{
"version": "1.0","session": {
    "new": true,"sessionId": "amzn1.echo-api.session.b163d6da-ab3d-483c-ba19-60156810739c","application": {
        "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
    },"user": {
        "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDlgiFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
    }
},"context": {
    "Viewports": [
        {
            "type": "APL","id": "main","shape": "RECTANGLE","dpi": 213,"presentationType": "STANDARD","canRotate": false,"configuration": {
                "current": {
                    "mode": "HUB","video": {
                        "codecs": [
                            "H_264_42","H_264_41"
                        ]
                    },"size": {
                        "type": "disCRETE","pixelWidth": 1280,"pixelHeight": 800
                    }
                }
            }
        }
    ],"Viewport": {
        "experiences": [
            {
                "arcMinuteWidth": 346,"arcMinuteHeight": 216,"canResize": false
            }
        ],"mode": "HUB","pixelHeight": 800,"currentPixelWidth": 1280,"currentPixelHeight": 800,"touch": [
            "SINGLE"
        ],"video": {
            "codecs": [
                "H_264_42","H_264_41"
            ]
        }
    },"Extensions": {
        "available": {
            "aplext:backstack:10": {}
        }
    },"System": {
        "application": {
            "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
        },"user": {
            "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDlgiFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
        },"device": {
            "deviceid": "amzn1.ask.device.AHVUJSCJ4KXLFF5SOTIFUCLYUXGBZFLUK3QURQHGX5S7N5E53K7O3ZXEO5V7KFPDR6XPPZECKTX5HEWB3BTLGAM34J7DVPKOALFNNdxcYDUIQWHNH327H3LCV3RNS7XFQLMJ6FXZ36JB5SF3YRUAEULDNIQCBSGZPR7J7KPCGCAHLPJXV5YRA","supportedInterfaces": {}
        },"apiEndpoint": "https://api.amazonalexa.com","apiAccesstoken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmJkN2YxZWE2LTUzYWItNDFhZi05YTU5LTQ4NTNkNDkwNjM3MyIsImV4cCI6MTYyNjY2MDY3NCwiaWF0IjoxNjI2NjYwMzc0LCJuYmYiOjE2MjY2NjAzNzQsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQUFDWFBEU1FPNldCNURRZG9RaCtXRHZjS2dFQUFBQUFBQUFJVkx0RDV3L1VSTklPK1VEQkVGZWdDUTA2Z3IvZ1dRZHFCUThYSzBjSmZmQUhDRXRsR05QUDNEeXRVVjcyc1VFbWFHMktETjc1MkpMemNPNDhpdm1WYlFjbEMrZ1VrUU9BY09RUEw3R1JEVGd5SUpPVStoVkRNQ1BJdmJhd2F1YUUxM2wzcE95WmFlVDdocnA0dDF6bXJ6MkdyM1BJbXdBbm1WaGNlakpqRCtVUHFZL0VPeGRRNm5OaGs5eXVZdEF3alF1dkpwWFM3ZkQzSmlwbVR5eTkwVHRiSERlckxUN2lmaTV2cnJpdHNBS1FjbksrY2VzRjErRm9zbUZLYmZsbWJpa3lIZVo5LzE4VmJ2d0tBelVreW9BVXI2aUQvakt6VjVUTzlyYjduZmZXdWZVZXNDMEhtM3lzWEhUbFRXSHhVektGR2NySHBzQ1kwSXBGRldWaTV6aEp4S3ovZ0RUbUdnZ09uajVDcnkxWHhrd1c3bXZQa1YxdFJrUUlkSnlBNElZMzJHV3FZMXQyIiwiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUhWVUpTQ0o0S1hMRkY1U09USUZVQ0xZVVhHQlpGTFVLM1FVUlFIR1g1UzdONUU1M0s3TzNaWEVPNVY3S0ZQRFI2WFBQWkVDS1RYNUhFV0IzQlRMR0FNMzRKN0RWUEtPQUxGTk5EWENZRFVJUVdITkgzMjdiM0xDVjNSTlM3WEZRTE1KNkZYWjM2SkI1U0YzWVJVQUVVTEROSVFDQlNHWlBSN0o3S1BDR0NBSExQSlhWNVlSQSIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFGTVlWTktSQjNSRVVLR0RETEdJRk9ZWFI1M0lTRkxZSFFKWEhPMllEUllWUUNQQ1JMWVFGSVZMQkU1SERYSDZGTk1UTU40WUxYSFI2Wk1TSkVGUTNZMkJsstc2TjJGSFNIRFhBV1VQVkZCNkpLV1NSVFBBN0VXT0g2Wk9GMjRLWTVEWFVCQTNVTVVZM1ROUVo0MkFPT0ZFU1RGV1c2VkxUVTYzQUhIUU1NUEtBNzRNMldYNjZUTjRJWU9aVU5MTUJYTVgzTENVQldQTzRGWSJ9fQ.MheHasYZKwNcTzwQLjt42C_yujmQJrGGHQ6tvWXt7uNTRzi73-MzzxXMOrztDYaBBCHmHZQS0Qy0-blTfgBT2Yqj5W5gAmcAc_CKKZhh4awlM1xGSAD87kOW8ZiLY2n68IfiKTsUHf6Bp4YiLOMcWWErSTCq91JeYeau0W7B5TvZGTm04OmfK-qkZBVPq6ME8_ulukdZUNxIpVUItkSEuhppcegUcGkzqYdrPRY0BJrsBe-Pytu5xLRiBM3T78nTysnGM288IJSccGJ4rmW4UdzHA_lnH7543QhgU9t71JRncgEDKEsEcVgxs5biFR9il4W8ASfwuDeJhdy8HpiXZw"
    }
},"request": {
    "type": "LaunchRequest","requestId": "amzn1.echo-api.request.3e29f996-69b2-4e90-bfef-628d74f57307","locale": "en-US","timestamp": "2021-07-19T02:06:14Z","shouldLinkResultBeReturned": false
}

}

    //database connection//
 const q="mongodb+srv://sumya:sumya123@mydata.acxs0.mongodb.net/Mydata?retryWrites=true&w=majority";


 mongoose.connect(q,{ useNewUrlParser: true,useUnifiedTopology: true,useFindAndModify: false })
.then(() => console.log("Database connected!")
)
 .catch(err => console.log(err))
 

const Alexa = require('ask-sdk-core');



const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
    },async handle(handlerInput) {
        const speakOutput = 'Hi,I am Nao. I am here to give you counseling on your anxiety issues. Can I have your name,please? Note: We are not professional therapists or counselors. ';

    const useri=handlerInput.requestEnvelope.session.user.userID;
      const z=handlerInput.requestEnvelope.session.sessionId;
      const g=Alexa.getUserId(handlerInput.requestEnvelope);
      
      
         
          


        const curr_session=new post.session({
            alexa_sessionid:z
        });
        
        let user=await post.findOne({userID:g});
         if(!user){
              user=new post({
            userID:g
        });
             
         }
        user.session_list.push(curr_session);
        user.save();
        
        
         
      
        return handlerInput.responseBuilder
            .speak(speakOutput)
            .reprompt(speakOutput)
            .getResponse();
    }
};

这是我从 Cloudwatch 得到的日志。

START RequestId: 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9 Version: 304
2021-07-19T16:40:00.570Z    6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9    INFO    Database connected!
END RequestId: 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9
REPORT RequestId: 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9  Duration: 8008.11 ms    Billed Duration: 8000 ms    Memory Size: 512 MB Max Memory Used: 102 MB Init Duration: 653.49 ms    
2021-07-19T16:40:08.023Z 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9 Task timed out after 8.01 seconds

START RequestId: 4e671447-8207-414e-aaf4-9a807fe3ac01 Version: 304
2021-07-19T16:40:08.894Z    4e671447-8207-414e-aaf4-9a807fe3ac01    INFO    ~~~~ Session ended: 
{
    "version": "1.0","session": {
        "new": false,"sessionId": "amzn1.echo-api.session.05ca6843-cdc8-47eb-9a5f-081942cf2674","application": {
            "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
        },"user": {
            "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDlgiFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
        }
    },"context": {
        "Viewports": [
            {
                "type": "APL","configuration": {
                    "current": {
                        "mode": "HUB","video": {
                            "codecs": [
                                "H_264_42","H_264_41"
                            ]
                        },"size": {
                            "type": "disCRETE","pixelHeight": 800
                        }
                    }
                }
            }
        ],"Viewport": {
            "experiences": [
                {
                    "arcMinuteWidth": 346,"canResize": false
                }
            ],"touch": [
                "SINGLE"
            ],"video": {
                "codecs": [
                    "H_264_42","H_264_41"
                ]
            }
        },"Extensions": {
            "available": {
                "aplext:backstack:10": {}
            }
        },"System": {
            "application": {
                "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
            },"user": {
                "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDlgiFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
            },"device": {
                "deviceid": "amzn1.ask.device.AHVUJSCJ4KXLFF5SOTIFUCLYUXGBZFLUK3QURQHGX5S7N5E53K7O3ZXEO5V7KFPDR6XPPZECKTX5HEWB3BTLGAM34J7DVPKOALFNNdxcYDUIQWHNH327H3LCV3RNS7XFQLMJ6FXZ36JB5SF3YRUAEULDNIQCBSGZPR7J7KPCGCAHLPJXV5YRA","supportedInterfaces": {}
            },"apiAccesstoken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmJkN2YxZWE2LTUzYWItNDFhZi05YTU5LTQ4NTNkNDkwNjM3MyIsImV4cCI6MTYyNjcxMzA5OCwiaWF0IjoxNjI2NzEyNzk4LCJuYmYiOjE2MjY3MTI3OTgsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQUFDWFBEU1FPNldCNURRZG9RaCtXRHZjS2dFQUFBQUFBQUE2aVpRZUVXeHoyTG9zdVRVQktXTmIzSXVCUU51cEZnMzgzdzZRUnVTN1U1eU5qQUF3a2puZVk2Si9DWS85TTN1QWFEMVQrZS9ndktVNVFOaWxCT3RpdEV4d3ZYdXVEekZ1WDdhQ1hCc2xlVWdYenNSZWg2Q1RjaGUvR3pwdkk3eEE5NzBydlRCeVlCNll0WVVvZVpyZmZMT2w5Z09iQVpUahpyKzVOOTBPRWdwNUpXMjdvYUhDSkxHVStxZHFUd3RQVzI3M2RPSEZ5N3Zzc2VSTFdIc0o2WUVjeVFwa2p5QzZyRU1yNlRLdVBHSG1ZemIzVGxmb043cTlGdGI0THFFdGwrSkdXeU1mVTBMeEllNGZ3OWhWa1lFR3BLeEl1c0VPc1FOenh6UVV1UEJiZ3Z1T0dDN2Q1KzM4YnY4UWQyb2twUzlNZ2R1ZTlPamxnSlRvbmFFMS9nNFVxYlBZM0dqZEgzMVV3NFZLR29CekJRaGdXMDlTVDFJRmZELzhwcmF2dFFMYmNGQ0tlcklPIiwiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUhWVUpTQ0o0S1hMRkY1U09USUZVQ0xZVVhHQlpGTFVLM1FVUlFIR1g1UzdONUU1M0s3TzNaWEVPNVY3S0ZQRFI2WFBQWkVDS1RYNUhFV0IzQlRMR0FNMzRKN0RWUEtPQUxGTk5EWENZRFVJUVdITkgzMjdiM0xDVjNSTlM3WEZRTE1KNkZYWjM2SkI1U0YzWVJVQUVVTEROSVFDQlNHWlBSN0o3S1BDR0NBSExQSlhWNVlSQSIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFGTVlWTktSQjNSRVVLR0RETEdJRk9ZWFI1M0lTRkxZSFFKWEhPMllEUllWUUNQQ1JMWVFGSVZMQkU1SERYSDZGTk1UTU40WUxYSFI2Wk1TSkVGUTNZMkJsstc2TjJGSFNIRFhBV1VQVkZCNkpLV1NSVFBBN0VXT0g2Wk9GMjRLWTVEWFVCQTNVTVVZM1ROUVo0MkFPT0ZFU1RGV1c2VkxUVTYzQUhIUU1NUEtBNzRNMldYNjZUTjRJWU9aVU5MTUJYTVgzTENVQldQTzRGWSJ9fQ.d-u2NVM8g_trqjKN_IxpFYy1_Fp-iL6MhTV8uOqScwa-kQF4ax-LzOWKaOE-ZrTW75UGhf6LxnorGxEDDhzNajObdQt9NBGIoM-E-LcLX1rjKvUarDgHvbQFLMt5HzjKNBSJjJ-ZyQodmI-7qDijf5vag3ea6ITEP1jciU5A0iMAtZNhKDNp0hgt7oyfYypRihWklSFrj21KXBjwo0nO0mJyA-Q81jAJU-wjxLdlxm6btsD4z4NWtHYMkjiEcjXfPhE6MyFNEH1_jPU6HbnOl1xRQJkEtTZeb6C44ZmzUkfrKRgWetWqfOr2GnF11vpKGk2_ueoNJZcBoJhzr57DiQ"
        }
    },"request": {
        "type": "SessionEndedRequest","requestId": "amzn1.echo-api.request.bf2b3b37-7260-4813-a43c-b94ae49b45bf","timestamp": "2021-07-19T16:40:08Z","reason": "ERROR","error": {
            "type": "INVALID_RESPONSE","message": "An exception occurred while dispatching the request to the skill."
        }
    }
}

解决方法

如果您在 lambda 中托管技能,则可能有超时的机会。数据库操作可能需要一些时间,同时 lambda 关闭了会话。

我认为以下日志行表明相同。

**2021-07-19T16:40:08.023Z 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9 Task timed out after 8.01 seconds**

此外,我们必须考虑允许 Alexa 从端点接收响应的最长时间。最好将响应限制为 8 秒。如需更多信息:DeferredResponse

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?