В документации говорится, что вы должны предоставить контрольную сумму бота, который уже существует, если вы пытаетесь его обновить: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/LexModelBuildingService.html#putBot -property
"контрольная сумма - (строка) Идентифицирует указанную c ревизию версии $ LATEST.
При создании нового бота оставьте поле контрольной суммы пустым. Если вы укажете контрольную сумму, вы получите исключение BadRequestException.
Когда Вы хотите обновить бота, установите в поле контрольной суммы контрольную сумму самой последней ревизии версии $ LATEST. Если вы не укажете поле контрольной суммы или если контрольная сумма не соответствует версии $ LATEST, вы получите Исключение PreconditionFailedException. "
Это aws -sdk для JavaScript документов, но та же концепция применима к любому SDK, а также AWS CLI.
Это требует вызова get -bot первый, который вернет контрольную сумму бота среди других данных. Сохраните эту контрольную сумму где-нибудь и передайте ее в параметрах, когда вы вызываете put-bot
. Я бы порекомендовал использовать учебники здесь: https://docs.aws.amazon.com/lex/latest/dg/gs-console.html
Этот учебник демонстрирует использование AWS CLI, но те же понятия могут быть абстрагированы для использования любого SDK по вашему желанию.