我正在为自己的组织CI / CD-Lex机器人。我已经使用文档完成了大部分内容,但是遇到了麻烦。我知道,如果不存在漫游器,则无法为putBot操作提供校验和。我也知道,如果确实存在,则必须提供一个校验和,并且它必须与$ LATEST版本的校验和匹配。
第一次获得机器人后,我便将其获取,并将响应中的校验和放入param中并放入putBot中。但是,我收到了badRequestException,表明我的资源已经存在:
params: {name:"xxx",
....
intents: [...],
....
checksum:"xxxxxxxxxxx-xxxxx-xxxxxx"
}
exception: "ERROR There was an error: BadRequestException: The specified resource
'xxx' already exists. Use the TagResource or UntagResource operations to update
tags."
我使用的是在执行getBot调用后返回的校验和...所以它是最新的。 谁能帮我弄清楚这是错误还是缺少的东西?
更新:今天,我什至感到更加困惑,因为在这种情况下,文档并未真正说明这种类型的异常。关于与putBot的校验和有关的可能异常的说明如下:
"When you create a new bot, leave the checksum field blank. If you specify a
checksum you get a BadRequestException exception.
When you want to update a bot, set the checksum field to the checksum of the
most recent revision of the $LATEST version. If you don't specify the
checksum field, or if the checksum does not match the $LATEST version, you
get a PreconditionFailedException exception."
更新:我在这里遇到问题的相同模式非常适合更新广告位和意图,但不适用于机器人。现在,我只是删除该机器人(如果存在),然后重新创建,但是如果有人知道一种方法,我希望避免这种情况。也许这只是SDK的错误?