簡體   English   中英

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 Cloud時。

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解決方案沒有太多選擇。 因此,刪除角色就是答案。

  1. 轉到IAM管理控制台
  2. 刪除角色

在此處輸入圖片說明

您可以在此處找到有關此名稱沖突的更多信息。

對我來說,問題在於該應用程序已經部署到了AWS Lambda,而且我已經有了一個Facebook機器人。

我想創建一個電報機器人,這就是問題發生的原因。

然后,我使用了update而不是像這樣create

claudia update --region us-central-1 --api-module bot --configure-telegram-bot

它對我有用

我只是發現,即使(如果需要)您也可以在部署命令中設置角色:

claudia create --region us-east-1 --role chatbot-andrea-executor  --api-module app

您必須在--role標志后替換沖突時的名稱。 另外,您對這里的好奇心也更多, 是有關自定義部署的一個很好的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM