put-rest-api aws cli 不更新端点描述标签

put-rest-api aws cli not updating endpoint description tags

我正在尝试通过 aws cli 更新我的休息 api,但我没有得到我想要的结果。我是运行命令

aws apigateway put-rest-api --rest-api-id XXXXXXXXXX --mode merge --body 'file://api.yaml'

aws apigateway create-deployment --rest-api XXXXXXXXXX --stage-name latest

但是我注意到,即使添加了端点,也没有设置文档特定的内容,例如 tagsdescription,因此当我们从 aws 获取 swagger 定义时,这些键是省略.

我将正在使用的 yaml 文件放入 https://editor.swagger.io/ 中,也没有问题

当运行上述命令时,我没有收到任何错误。我不明白为什么“合并”过程没有找到 swagger 键并应用它们。

我发现我不仅需要 运行 通过 put-rest-api 命令进行更新,而且我还需要发布文档(通过 AWS 控制台 UI并且有效)。我还没有找到通过 aws cli 执行此操作的最佳命令。当我这样做时会进行编辑。

编辑

我了解到 aws cli cmd put-rest-api 是更新 REST API 文档和定义的前身,并且两者是通过不同的命令部署的。所以我错过了这一步:

aws apigateway create-documentation-version --rest-api-id XXXXXXXXX --documentation-version test_version --stage dev

您可能知道也可能不知道,您只能部署一次文档,因此请使用

aws apigateway update-stage --stage-name dev --rest-api-id tu2ye61vyg --patch-operations "op=replace,path=/documentationVersion,value=test_version" 将现有版本部署到另一个阶段