QnA Maker API - 更新后锁定
QnA Maker API - Locking up after updates
我正在通过 Invoke-RestMethod PowerShell 命令从我的 QnA Maker KB 中删除各种记录,然后使用相同的命令添加一些新的 QnA。
我发现它有时有效,有时我会收到 400 错误请求响应,其中包含详细信息:
Invoke-RestMethod : {
"error": {
"code": "BadArgument",
"message": "Invalid input. See details.",
"details": [
{
"code": "ValidationFailure",
"message": "Kb: <KB Number> is already being updated by Operation: 9766ff66-f950-41ed-b0de-b77d8bc78c23. Please wait for it to complete.",
"target": "ConcurrentUpdates"
}
]
}
}
我认为这与我发送的 JSON 无关,因为它不会失败或始终如一地工作。当我收到此响应时,我的 QnA Maker 会被锁定约 1 小时,无法进行任何更改。如果我在 QnA Maker 门户中单击“保存并训练”,我也会遇到同样的错误。
知道发生了什么或者我该如何调试吗?
谢谢史蒂文为我指明了正确的方向。
我测试了复制和粘贴我的请求的 JSON 正文并通过 Postman 发送,它运行良好。之后,我使用 Invoke-RestMethod 和 HTTPBin 进行了大量测试,发现我尝试添加的一个 QnA 包含带有重音符号的字符。 Invoke-RestMethod 出于某种原因在这种情况下将整个 JSON 正文转换为 Base64。在内容类型上包含 "charset=utf-8" 修复了它。
我认为锁定一个小时只是我向 QnA Maker 发送多个错误请求的症状 api...
我正在通过 Invoke-RestMethod PowerShell 命令从我的 QnA Maker KB 中删除各种记录,然后使用相同的命令添加一些新的 QnA。
我发现它有时有效,有时我会收到 400 错误请求响应,其中包含详细信息:
Invoke-RestMethod : {
"error": {
"code": "BadArgument",
"message": "Invalid input. See details.",
"details": [
{
"code": "ValidationFailure",
"message": "Kb: <KB Number> is already being updated by Operation: 9766ff66-f950-41ed-b0de-b77d8bc78c23. Please wait for it to complete.",
"target": "ConcurrentUpdates"
}
]
}
}
我认为这与我发送的 JSON 无关,因为它不会失败或始终如一地工作。当我收到此响应时,我的 QnA Maker 会被锁定约 1 小时,无法进行任何更改。如果我在 QnA Maker 门户中单击“保存并训练”,我也会遇到同样的错误。
知道发生了什么或者我该如何调试吗?
谢谢史蒂文为我指明了正确的方向。
我测试了复制和粘贴我的请求的 JSON 正文并通过 Postman 发送,它运行良好。之后,我使用 Invoke-RestMethod 和 HTTPBin 进行了大量测试,发现我尝试添加的一个 QnA 包含带有重音符号的字符。 Invoke-RestMethod 出于某种原因在这种情况下将整个 JSON 正文转换为 Base64。在内容类型上包含 "charset=utf-8" 修复了它。
我认为锁定一个小时只是我向 QnA Maker 发送多个错误请求的症状 api...