Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Alexa Skill即时超时_Python_Amazon Web Services_Aws Lambda_Alexa_Alexa Skills Kit - Fatal编程技术网

Python Alexa Skill即时超时

Python Alexa Skill即时超时,python,amazon-web-services,aws-lambda,alexa,alexa-skills-kit,Python,Amazon Web Services,Aws Lambda,Alexa,Alexa Skills Kit,我正在创建一个Alexa技能,本质上是一个问卷。在亚马逊网站上的开发者模拟器中,它可以正常工作,不会超时。经过研究,我逐渐意识到大约有一个强制性的8秒超时。我还看到,在aws lambda函数的设置中,可以将超时时间从默认值的3秒一直更改为5分钟,这是我在故障排除过程中完成的。然而,这一变化似乎没有任何效果 我的问题如下: 当在alexa应用程序或echoism.io上进行测试时(我没有alexa设备,但可以想象这些设备的行为与之类似),alexa提出的问题只有在中断时才能得到回答。换句话说,假

我正在创建一个Alexa技能,本质上是一个问卷。在亚马逊网站上的开发者模拟器中,它可以正常工作,不会超时。经过研究,我逐渐意识到大约有一个强制性的8秒超时。我还看到,在aws lambda函数的设置中,可以将超时时间从默认值的3秒一直更改为5分钟,这是我在故障排除过程中完成的。然而,这一变化似乎没有任何效果

我的问题如下:

当在alexa应用程序或echoism.io上进行测试时(我没有alexa设备,但可以想象这些设备的行为与之类似),alexa提出的问题只有在中断时才能得到回答。换句话说,假设问题被问完了。然后,发出一声嘟嘟声,表示用户应该响应。在这种情况下,即使用户的输入是合理的,也不会发生任何事情,技能也会退出。但是,如果在提示过程中的任何时候,用户点击speak按钮并回答问题,从而中断提示,则答案将正确地记录在开发人员控制台模拟中,并符合预期

你知道这是什么原因吗

请求

{
       'version':'1.0',
       'session':{
          'new':False,
          'sessionId':'amzn1.echo-api.session.f55b0102-a3cb-4c1a-9b0c-6ef73f579c69',
          'application':{
             'applicationId':'amzn1.ask.skill.20852205-3919-4d6a-8a62-cb6f8c6214ef'
          },
          'user':{
             'userId':'amzn1.ask.account.AHVXIGHORW6PSATGYB6KWTZFBJ64Q2XXGRX3KFWWTRV7KLUAYSSR657SD74Z6E5PHXF35R75SZ7GJITERAT3XZ73LRXLR4KH2552NLMAL6WMAK2NQUZQ3EXB6DGOU2BZOTXFTT4UBBQSNNXB4J74U44UNWH6QJCWYBBATIIPE6YLV7W3TP4EYWQBTNTJ3LBVXF2EGFRDYRPTUCA'
          }
       },
       'context':{
          'System':{
             'application':{
                'applicationId':'amzn1.ask.skill.20852205-3919-4d6a-8a62-cb6f8c6214ef'
             },
             'user':{
                'userId':'amzn1.ask.account.AHVXIGHORW6PSATGYB6KWTZFBJ64Q2XXGRX3KFWWTRV7KLUAYSSR657SD74Z6E5PHXF35R75SZ7GJITERAT3XZ73LRXLR4KH2552NLMAL6WMAK2NQUZQ3EXB6DGOU2BZOTXFTT4UBBQSNNXB4J74U44UNWH6QJCWYBBATIIPE6YLV7W3TP4EYWQBTNTJ3LBVXF2EGFRDYRPTUCA'
             },
             'device':{
                'deviceId':'amzn1.ask.device.AHO5K5QILDUNW7BKDBJMLWENV7INXNFAHIAUB6ELHJ66MVMKQUPFT77GEEILVUDLABIN2JNUUQGPCOW2K6FX2EFTVKAZHGYFEFHZOLSZK5SHAQHLUK624DFPDS2FBBR6X4AZTKFLIJNLOCAWVQSLW5K2YJ5PGMGT2JBYXSNJE7GZWFIZC7WYK',
                'supportedInterfaces':{

                }
             },
             'apiEndpoint':'https://api.amazonalexa.com',
             'apiAccessToken':'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjIwODUyMjA1LTM5MTktNGQ2YS04YTYyLWNiNmY4YzYyMTRlZiIsImV4cCI6MTUzMjk2OTc3NSwiaWF0IjoxNTMyOTY2MTc1LCJuYmYiOjE1MzI5NjYxNzUsInByaXZhdGVDbGFpbXMiOnsiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUhPNUs1UUlMRFVOVzdCS0RCSk1MV0VOVjdJTlhORkFISUFVQjZFTEhKNjZNVk1LUVVQRlQ3N0dFRUlMVlVETEFCSU4ySk5VVVFHUENPVzJLNkZYMkVGVFZLQVpIR1lGRUZIWk9MU1pLNVNIQVFITFVLNjI0REZQRFMyRkJCUjZYNEFaVEtGTElKTkxPQ0FXVlFTTFc1SzJZSjVQR01HVDJKQllYU05KRTdHWldGSVpDN1dZSyIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFIVlhJR0hPUlc2UFNBVEdZQjZLV1RaRkJKNjRRMlhYR1JYM0tGV1dUUlY3S0xVQVlTU1I2NTdTRDc0WjZFNVBIWEYzNVI3NVNaN0dKSVRFUkFUM1haNzNMUlhMUjRLSDI1NTJOTE1BTDZXTUFLMk5RVVpRM0VYQjZER09VMkJaT1RYRlRUNFVCQlFTTk5YQjRKNzRVNDRVTldINlFKQ1dZQkJBVElJUEU2WUxWN1czVFA0RVlXUUJUTlRKM0xCVlhGMkVHRlJEWVJQVFVDQSJ9fQ.CPFDpKzKMBq9Dyhlw7S_fIHTkxN2YODIg-T85YMRWMqHQbalCFd2nC1rqOXoIAX-T6TTkKiXpOSsvEBgnERKivzPgXTRFou3dxsXijSyr4-ip2Ouu5rk-9lQ0IfVtnD424Kbezq7UzlSeEqyvblaOw4Yd7JwbTD0EuPUtCaj_pwLZny3i5-NunFdy1ytmGPN3KTsIIBjkpal61Ao_xNGgEYq_t5lOIwtEfx8uzPIO3VXn78IVC37FOEgylX3sWljGoxDyG_dQ36sprXWIdHBU0SvFnYJYntNwFH4i59KB2G3XseIcjtKDT2oN2VGF-eBdeolQ9_V_qWxqgOooYhNHw'
          }
       },
       'request':{
          'type':'IntentRequest',
          'requestId':'amzn1.echo-api.request.848c8eed-7f47-4e32-a214-e034f03caf54',
          'timestamp':'2018-07-30T15:56:15Z',
          'locale':'en-US',
          'intent':{
             'name':'ScheduleCall',
             'confirmationStatus':'NONE',
             'slots':{
                'OMProductName':{
                   'name':'OMProductName',
                   'confirmationStatus':'NONE'
                },
                'DidSymtomsReAppear':{
                   'name':'DidSymtomsReAppear',
                   'confirmationStatus':'NONE'
                },
                'ProvideHCPContactInfo':{
                   'name':'ProvideHCPContactInfo',
                   'confirmationStatus':'NONE'
                },
                'PatientFirstName':{
                   'name':'PatientFirstName',
                   'confirmationStatus':'NONE'
                },
                'AskWhenEventBegun':{
                   'name':'AskWhenEventBegun',
                   'confirmationStatus':'NONE'
                },
                'DidHCPRecommendAnyTreatment':{
                   'name':'DidHCPRecommendAnyTreatment',
                   'confirmationStatus':'NONE'
                },
                'PNursing':{
                   'name':'PNursing',
                   'confirmationStatus':'NONE'
                },
                'PDueDate':{
                   'name':'PDueDate',
                   'confirmationStatus':'NONE'
                },
                'PlanToContinue':{
                   'name':'PlanToContinue',
                   'confirmationStatus':'NONE'
                },
                'HowOftenUseProduct':{
                   'name':'HowOftenUseProduct',
                   'confirmationStatus':'NONE'
                },
                'OMPDose':{
                   'name':'OMPDose',
                   'confirmationStatus':'NONE'
                },
                'DateOfMiscarriage':{
                   'name':'DateOfMiscarriage',
                   'confirmationStatus':'NONE'
                },
                'WhatDateWasPAdmitted':{
                   'name':'WhatDateWasPAdmitted',
                   'confirmationStatus':'NONE'
                },
                'AskIfFirstTime':{
                   'name':'AskIfFirstTime',
                   'confirmationStatus':'NONE'
                },
                'WhenStartUsingProduct':{
                   'name':'WhenStartUsingProduct',
                   'confirmationStatus':'NONE'
                },
                'PAnyMedicalConditions':{
                   'name':'PAnyMedicalConditions',
                   'confirmationStatus':'NONE'
                },
                'DrugNameSQ':{
                   'name':'DrugNameSQ',
                   'confirmationStatus':'NONE'
                },
                'DidPatientReUseProduct':{
                   'name':'DidPatientReUseProduct',
                   'confirmationStatus':'NONE'
                },
                'OtherMedications':{
                   'name':'OtherMedications',
                   'confirmationStatus':'NONE'
                },
                'AskPermission':{
                   'name':'AskPermission',
                   'confirmationStatus':'NONE'
                },
                'ReportedCauseOfDeath':{
                   'name':'ReportedCauseOfDeath',
                   'confirmationStatus':'NONE'
                },
                'OMPFreq':{
                   'name':'OMPFreq',
                   'confirmationStatus':'NONE'
                },
                'PatientInitials':{
                   'name':'PatientInitials',
                   'confirmationStatus':'NONE'
                },
                'PPregnant':{
                   'name':'PPregnant',
                   'confirmationStatus':'NONE'
                },
                'WasPAdmittedToHospital':{
                   'name':'WasPAdmittedToHospital',
                   'confirmationStatus':'NONE'
                },
                'AEMiscarriage':{
                   'name':'AEMiscarriage',
                   'confirmationStatus':'NONE'
                },
                'DidTreatSymptoms':{
                   'name':'DidTreatSymptoms',
                   'confirmationStatus':'NONE'
                },
                'DidPContactHCPAbtSymptoms':{
                   'name':'DidPContactHCPAbtSymptoms',
                   'confirmationStatus':'NONE'
                },
                'PatientsHeight':{
                   'name':'PatientsHeight',
                   'confirmationStatus':'NONE'
                },
                'PChildAE':{
                   'name':'PChildAE',
                   'confirmationStatus':'NONE'
                },
                'AEBirthDefect':{
                   'name':'AEBirthDefect',
                   'confirmationStatus':'NONE'
                },
                'OMPStartTaking':{
                   'name':'OMPStartTaking',
                   'confirmationStatus':'NONE'
                },
                'OMIsItTopical':{
                   'name':'OMIsItTopical',
                   'confirmationStatus':'NONE'
                },
                'IsPatientStillExperiencingSymptoms':{
                   'name':'IsPatientStillExperiencingSymptoms',
                   'confirmationStatus':'NONE'
                },
                'DrugReaction':{
                   'name':'DrugReaction',
                   'confirmationStatus':'NONE'
                },
                'AskLastTimeUsed':{
                   'name':'AskLastTimeUsed',
                   'confirmationStatus':'NONE'
                },
                'PAnyAllergies':{
                   'name':'PAnyAllergies',
                   'confirmationStatus':'NONE'
                },
                'DateOfDeath':{
                   'name':'DateOfDeath',
                   'confirmationStatus':'NONE'
                },
                'ReportedCauseBirthDefect':{
                   'name':'ReportedCauseBirthDefect',
                   'confirmationStatus':'NONE'
                },
                'DescPreviousPtSimilarExperience':{
                   'name':'DescPreviousPtSimilarExperience',
                   'confirmationStatus':'NONE'
                },
                'OMPReason':{
                   'name':'OMPReason',
                   'confirmationStatus':'NONE'
                },
                'AskPatientDrugQtyUse':{
                   'name':'AskPatientDrugQtyUse',
                   'confirmationStatus':'NONE'
                },
                'WhenDidSymptomsEnd':{
                   'name':'WhenDidSymptomsEnd',
                   'confirmationStatus':'NONE'
                },
                'DidYouGoToER':{
                   'name':'DidYouGoToER',
                   'confirmationStatus':'NONE'
                },
                'PatientWeight':{
                   'name':'PatientWeight',
                   'confirmationStatus':'NONE'
                },
                'ReportedCauseMisCarriage':{
                   'name':'ReportedCauseMisCarriage',
                   'confirmationStatus':'NONE'
                },
                'AgeOfPatient':{
                   'name':'AgeOfPatient',
                   'confirmationStatus':'NONE'
                },
                'WhyPUseProduct':{
                   'name':'WhyPUseProduct',
                   'confirmationStatus':'NONE'
                },
                'PhoneNumber':{
                   'name':'PhoneNumber',
                   'confirmationStatus':'NONE'
                },
                'OMPLastTimeUsed':{
                   'name':'OMPLastTimeUsed',
                   'confirmationStatus':'NONE'
                },
                'WhatDidERDoForP':{
                   'name':'WhatDidERDoForP',
                   'confirmationStatus':'NONE'
                },
                'NameOfHospital':{
                   'name':'NameOfHospital',
                   'confirmationStatus':'NONE'
                },
                'DidSymtomsImproveAfterStop':{
                   'name':'DidSymtomsImproveAfterStop',
                   'confirmationStatus':'NONE'
                },
                'AskAnyLabTest':{
                   'name':'AskAnyLabTest',
                   'confirmationStatus':'NONE'
                },
                'AECausedDeath':{
                   'name':'AECausedDeath',
                   'confirmationStatus':'NONE'
                }
             }
          },
          'dialogState':'STARTED'
       }
    }
响应

{
   'version':'1.0',
   'sessionAttributes':{

   },
   'response':{
      'outputSpeech':{
         'type':'PlainText',
         'text':'Thank you for using the Jane skill. See you next time!'
      },
      'card':{
         'type':'Simple',
         'title':'Jane - Thanks',
         'content':'Thank you for using the Jane skill. See you next time!'
      },
      'reprompt':{
         'outputSpeech':{
            'type':'PlainText',
            'text':None
         }
      },
      'shouldEndSession':True
   }
}

默认Alexa超时为8秒,不可配置。您可以使用
reprompt
通知用户应答。在最初的8秒钟之后,将触发
reprompt
,这将给用户另外8秒钟的响应时间

但是,您可以尝试一些技巧,比如在后台播放一段时间的静音音频,以扩展此功能。但你必须在这两者之间使用唤醒词“Alexa”来发出命令或回答

而Lambda超时则不同,它是Lambda函数每个请求的最大执行持续时间

在亚马逊网站上的开发者模拟器中,它可以正常工作 好吧,没有暂停

Alexa Simulator选项卡中的技能会话不会像设备那样超时,以便您在测试时有更多时间输入响应。如果您的技能使会话保持打开状态,您可以使用“停止”关闭会话

应结束会话

如果希望Alexa开始等待用户响应,则响应JSON中的此参数必须设置为
false
。当您确实想要结束会话时,应将其设置为
true

"shouldEndSession": true 

关于Response Object的更多内容

请澄清,您是说Alexa超时在问题结束后开始,对吗?在听到嘟嘟声,表示用户应该说话的时候?如果是这样的话,为什么即使及时响应,它也会超时?为了让Alexa等待用户响应,应该将shouldEndSession设置为false。您是否可以检查您的响应并查看此参数是否存在或设置为false。如果未设置为false,会话将在响应发出后立即结束。在生成响应之前,我将shouldEndSession设置为false,但在回退中以及用户实际初始化会话结束请求时除外。在我的日志中,我得到一个对象,说明会话结束时超过了max reprompts。我没有任何reprompt代码,因此只有一个提示,除非用户要求重复该问题。您是否可以共享此特定场景的请求和响应JSON。确定:{'type':'sessionedrequest','requestId':'amzn1.echo api.request.949b12ca-ab23-40e4-984b-5d0a67c8d3be','timestamp':'2018-07-30T15:56:52Z','locale':'en-US','reason':'excelled_MAX_REPROMPTS'}