2017-08-22 39 views
0

當使用put_intent更新現有的意圖,我公司提供的校驗這樣:亞馬遜萊克斯API校驗和錯誤

checksum = lex_client.get_intent(name=intent_name, version='$LATEST')['checksum'] 

,然後使用具有put_intent校驗:

lex_client.put_intent(
     name=name, 
     slots=slots, 
     sampleUtterances=utterances, 
     checksum=checksum 
    ) 

拋出的異常是:

botocore.errorfactory.BadRequestException:發生錯誤(BadRequestException)當cal處理PutIntent操作:實現對於「TotalWasteForItem」意圖無效。指定另一個完整填充。

意向沒有多個版本,'$LATEST'是唯一的一個。校驗和通常返回並且類型爲str

回答

1

put_intent需要fulfillmentActivity傳遞:

fulfillmentActivity(字典) - 描述的意圖是如何實現的。例如,在用戶提供披薩訂單的所有信息後,fulfillmentActivity定義機器人如何向當地披薩店下訂單。

您可能將Amazon Lex配置爲將所有意向信息返回給客戶端應用程序,或指示它調用可處理意圖的Lambda函數(例如,使用比薩店下訂單)。

類型(字符串) - [REQUIRED] 如何意圖應,通過運行lambda函數或由時隙數據返回到客戶端應用程序被實現。

...

您可以提供此簡單地用參數響應。這對測試很有用。

fulfillmentActivity={'type': 'ReturnIntent'}, 

http://boto3.readthedocs.io/en/latest/reference/services/lex-models.html#LexModelBuildingService.Client.put_intent