【问题标题】:Caching issue for Amazon LexAmazon Lex 的缓存问题
【发布时间】:2021-10-12 16:23:22
【问题描述】:

问题:更改不会立即反映在聊天机器人 iframe 中针对别名在亚马逊 lex 控制台中发布(我已检查聊天机器人别名指向正确的版本并使用相同的别名,仅它部署在 lex-web-ui )。

说明: 使用 lex-web-ui 部署 lex 聊天机器人并作为 iframe 嵌入到网站上。 步骤:

  1. 我在 google chrome/cognito 或 microsoft edge/edge 私有窗口上打开了网站,并测试了一个机器人,它工作正常
  2. 我的机器人的意图之一有 5 个槽,问 5 个问题。
  3. 现在有一项任务需要从该意图中删除一个特定问题。
  4. 所以我删除了指向该特定问题的槽,保存了意图,构建了机器人并针对相同的别名发布了它。还检查了设置,别名指向最新版本。

期望 - 在谷歌浏览器/隐身或边缘/私人窗口中刷新应用程序时,已发布的更改应立即反映。

观察:-

  1. 刷新应用程序并打开聊天机器人后,我们找不到任何在 lex 控制台中发布的更改,(它仍然问 5 个问题,而假设只问 4 个问题)。为了反映 iframe 中的这些变化,我需要清除缓存
  2. 但是,当我们将聊天机器人用作独立项目时,情况并非如此。一旦更改发布,在刷新独立聊天机器人后,这些更改就会可见,这意味着它会询问 4 个问题,而不是 5 个问题(无需清除缓存)

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
  • @Community 我已经更新了这个问题。请查看并感谢您的帮助

标签: amazon-web-services aws-lambda amazon-lex


【解决方案1】:

缓存失效是为了确保对表示层(web-ui)的任何更改都正确反映在客户端的浏览器中。 Lex 本身不会被 CloudFront 缓存,因此失效对 Lex 没有影响(只要您指向相同的机器人和别名组合。

您可以安全地发布您的 Lex 更改,而无需运行缓存失效。

【讨论】:

  • 我已发布更改,我需要清除网站缓存以反映更改。有什么方法可以在不清除缓存的情况下反映在网站上?
  • 您无需清除 Cloudfront 缓存即可反映 Lex 更改。您确定 web-ui 指向别名吗?确认您发布到同一个别名。
  • 是的,它指向我发布更改的同一个别名。如果我们只是去浏览器并清除 cookie/缓存,问题就会得到解决,但我想要的是不清除 cookie/缓存,那些已发布的更改应该反映在 borwser
  • 您的 UI 可能正在缓存,这就是失效的原因 - 您是否使 UI 缓存失效?
  • 不,我不是专门使 UI 缓存失效,只是使用通配符条目 (/*) 使 cloudfront 失效
猜你喜欢
  • 2016-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多