EntityAlreadyExists:名称为 chatbot-andrea-executor 的角色已经存在
EntityAlreadyExists: Role with name chatbot-andrea-executor already exists
我正在用 claudiajs 创建一个 Nodebot。
const botBuilder = require('claudia-bot-builder')
const excuse = require('huh')
module.exports = botBuilder((req) => {
return `Thanks for sending ${req.text}. Your message is very important to us, but ${excuse.get()}`
})
但是当我部署到 aws 云时。
claudia create --region us-east-1 --api-module app
我收到这个错误:
{ EntityAlreadyExists: Role with name chatbot-andrea-executor already exists.
at Request.extractError (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/protocol/query.js:47:29)
at Request.callListeners (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:678:14)
at Request.transition (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:680:12)
at Request.callListeners (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
message: 'Role with name chatbot-andrea-executor already exists.',
code: 'EntityAlreadyExists',
time: 2017-05-19T19:03:01.956Z,
requestId: '-requestId (I changed it)-',
statusCode: 409,
retryable: false,
retryDelay: 4.143280988568199 }
由于很聪明,aws中有一个同名的角色。因此,您可以尝试更改代码中角色的名称,但我们如何使用预构建的 Nodebot 解决方案我们没有太多选择。所以,删除角色就是答案。
- 转到IAM management console
- 删除角色
您可以找到有关此名称冲突的更多信息,here。
我只是发现,即使(如果需要)您也可以在部署命令中设置角色:
claudia create --region us-east-1 --role chatbot-andrea-executor --api-module app
您必须在 --角色 的标志后替换冲突名称。此外,您对 here 更加好奇是自定义部署的良好起点。
对我来说,问题是应用程序已经部署到 aws lambda 并且我已经有一个 facebook 机器人。
我想创建一个电报机器人,这就是问题发生的原因。
然后,我使用 update
而不是 create
,例如:
claudia update --region us-central-1 --api-module bot --configure-telegram-bot
它对我有用,
我正在用 claudiajs 创建一个 Nodebot。
const botBuilder = require('claudia-bot-builder')
const excuse = require('huh')
module.exports = botBuilder((req) => {
return `Thanks for sending ${req.text}. Your message is very important to us, but ${excuse.get()}`
})
但是当我部署到 aws 云时。
claudia create --region us-east-1 --api-module app
我收到这个错误:
{ EntityAlreadyExists: Role with name chatbot-andrea-executor already exists.
at Request.extractError (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/protocol/query.js:47:29)
at Request.callListeners (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:678:14)
at Request.transition (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/request.js:680:12)
at Request.callListeners (/.nvm/versions/node/v6.10.3/lib/node_modules/claudia/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
message: 'Role with name chatbot-andrea-executor already exists.',
code: 'EntityAlreadyExists',
time: 2017-05-19T19:03:01.956Z,
requestId: '-requestId (I changed it)-',
statusCode: 409,
retryable: false,
retryDelay: 4.143280988568199 }
由于很聪明,aws中有一个同名的角色。因此,您可以尝试更改代码中角色的名称,但我们如何使用预构建的 Nodebot 解决方案我们没有太多选择。所以,删除角色就是答案。
- 转到IAM management console
- 删除角色
您可以找到有关此名称冲突的更多信息,here。
我只是发现,即使(如果需要)您也可以在部署命令中设置角色:
claudia create --region us-east-1 --role chatbot-andrea-executor --api-module app
您必须在 --角色 的标志后替换冲突名称。此外,您对 here 更加好奇是自定义部署的良好起点。
对我来说,问题是应用程序已经部署到 aws lambda 并且我已经有一个 facebook 机器人。
我想创建一个电报机器人,这就是问题发生的原因。
然后,我使用 update
而不是 create
,例如:
claudia update --region us-central-1 --api-module bot --configure-telegram-bot
它对我有用,