我们正在使用AWS的elasticsearch服务。我们有一个与elasticsearch域相关联的自定义同义词包。该文件位于s3存储桶中,当文件更新时,它会触发一个lambda来更新AWS中的包版本。我们遵循了https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/custom-packages.html上的文档,到目前为止,所有这些都可以很好地上传和更新新版本的软件包。然而,根据aws elasticsearch自定义包的工作方式,使用自定义包的每个域也存储自己的文件副本。为了保持搜索行为的可预测性,域将继续使用它们当前的包版本,直到您显式地更新它们。
问题是我找不到任何方法通过编程告诉域使用新版本的包。这就像在控制台中点击2下,但我一辈子都无法从我的自动化代码中找到一种方法。update_package
方法只是更新包版本,它不告诉相关域使用新版本。
我们正在寻找一种方法,以编程方式告诉AWL elasticsearch域更新相关自定义同义词文件的版本。
所以在我的头撞了几天之后,我终于在发布这个问题5分钟后弄清楚了。您只需要在更新包之后再次调用associate_package
方法。实际上,我之前已经尝试过了,但是失败了,但是如果没有可用的新版本的软件包,它就会失败。我想我在update_package
方法完成之前又调用了associate_package
,所以新版本还没有可用。
无论如何,希望这对将来的人有所帮助。
正确,您必须特别调用associate_package来链接到该包的最新版本