Botframework bot名称已注册到另一个bot应用程序

Botframework bot名称已注册到另一个bot应用程序,botframework,azure-bot-service,Botframework,Azure Bot Service,我以前曾尝试部署此bot,但遇到了问题。我试图删除资源组,然后从头开始重试,但出现此错误 内置:机器人框架生成器(v1.1.1) 使用部署:provisionComposer.js 错误消息中的链接未提及“bot name”或“name” bot名称对于订阅、租户等是否必须是唯一的? 是否有一个地方我需要去'取消注册'的机器人名称,以便它可以注册到另一个应用程序?删除资源组还不够吗 提前感谢您的帮助 致以最良好的祝愿, 乔希我遇到了同样的问题。在对脚本进行了一些修改之后,我能够完成资源的配置

我以前曾尝试部署此bot,但遇到了问题。我试图删除资源组,然后从头开始重试,但出现此错误

  • 内置:机器人框架生成器(v1.1.1)
  • 使用部署:
    provisionComposer.js
错误消息中的链接未提及“bot name”或“name”

bot名称对于订阅、租户等是否必须是唯一的? 是否有一个地方我需要去'取消注册'的机器人名称,以便它可以注册到另一个应用程序?删除资源组还不够吗

提前感谢您的帮助

致以最良好的祝愿,
乔希

我遇到了同样的问题。在对脚本进行了一些修改之后,我能够完成资源的配置。问题是,由于附加了环境变量,用于创建某些资源的名称不匹配

//版权所有(c)微软公司。
//根据麻省理工学院许可证授权。
常量粉笔=需要(“粉笔”);
常数fs=要求(“fs额外”);
const msRestNodeAuth=require(@azure/ms rest nodeauth”);
常量argv=require(“最小列表”)(process.argv.slice(2));
常量路径=要求(“路径”);
const rp=要求(“请求承诺”);
const{promisify}=require(“util”);
const{GraphRbacManagementClient}=require(@azure/graph”);
常数{
ApplicationInsightsManagementClient,
}=需要(“@azure/arm appinsights”);
const{AzureBotService}=require(@azure/arm-botservice”);
const{ResourceManagementClient}=require(@azure/arm资源);
const readFile=promisify(fs.readFile);
常量ora=要求(“ora”);
常量记录器=(消息)=>{
if(msg.status==BotProjectDeployLoggerType.PROVISION\u错误){
console.log(chalk.red(msg.message));
}否则如果(
msg.status==BotProjectDeployLoggerType.PROVISION\u错误\u详细信息
) {
console.log(chalk.white(msg.message));
}否则{
log(chalk.green(msg.message));
}
};
常量用法=()=>{
常量选项=[
[“订阅Id”,“Azure订阅Id”],
[“名称”、“项目名称”],
[“appPassword”,“16字符密码”],
[“环境”,“环境名称(默认为dev)”,
[“位置”,“Azure区域(默认为westus)”,
[“应用程序ID”,“Microsoft应用程序ID(如果不存在将创建)”,
[
“租户”,
“租户的ID(如果需要)(默认情况下将选择列表中的第一个)”,
],
[“createLuisResource”,“创建LUIS资源?默认为true”],
[
“createLuisAuthoringResource”,
“创建LUIS创作资源?默认为true”,
],
[“创建宇宙数据库”、“创建宇宙数据库?默认为真”],
[“createStorage”,“创建存储帐户?默认为true”],
[“createAppInsights”,“创建AppInsights资源?默认为true”],
[“createQnAResource”,“创建QnA资源?默认为true”],
[
“customArmTemplate”,
“运行时ARM模板的路径。默认情况下,它将使用Azure WebApp模板。将`DeploymentTemplates/函数模板与预先存在的rg.json`传递给Azure函数,或将您自己的模板传递给自定义部署。”,
],
];
常量指令=[
``,
粉笔粗体(
“设置Azure资源以与Bot Framework Composer Bot一起使用”
),
`*此脚本将创建一个新的资源组和在云中操作Bot Framework Bot所需的Azure资源,
`*使用此选项可创建用于Composer“发布”工具栏的发布配置文件,
``,
粉笔粗体(`Basic用法:`),
greenBright(`node provisionComposer--subscriptionId=`)+
粉笔黄色(“”)+
chalk.greenBright(“--name=”)+
粉笔黄色(“”)+
chalk.greenBright(“--appPassword=”)+
白垩黄色(“”),
``,
chalk.bold(`All options:`),
…选项.map((选项)=>{
返回(
粉笔.greenBright(“--”+选项[0])+“\t”+粉笔.yellow(选项[1])
);
}),
];
console.log(instructions.join(“\n”);
};
//检查所需的参数
if(Object.keys(argv).length==0){
返回用法();
}
如果(!argv.name | | |!argv.subscriptionId | |!argv.appPassword){
返回用法();
}
//从参数中获取必需字段
const subId=argv.subscriptionId;
const name=argv.name.toString();
const appPassword=argv.appPassword;
//从参数中获取可选字段
const-environment=argv.environment | |“dev”;
常量位置=argv.location | |“westus”;
常量appId=argv.appId;//MicrosoftAppId-如果留空,则生成
//获取选项标志
const createLuisResource=argv.createLuisResource==“false”?假:真;
const createLuisAuthoringResource=
argv.createLuisAuthoringResource==“false”?假:真;
const createCosmosDb=argv.createCosmosDb==“false”?假:真;
const createStorage=argv.createStorage==“false”?假:真;
const createAppInsights=argv.createAppInsights==“false”?假:真;
const createQnAResource=argv.createQnAResource==“false”?假:真;
var tenantId=argv.tenantId?argv.tenantId:“”;
常量模板路径=
argv.customArmTemplate||
path.join(
__dirname,
“部署模板”,
“已存在rg.json的模板”
);
const BotProjectDeployLoggerType={
//提供的记录器类型
供应信息:“供应信息”,
设置错误:“设置错误”,
规定警告:“规定警告”,
供应成功:“供应成功”,
设置错误详细信息:“设置错误详细信息”,
};
/**
*创建一个Bot框架注册
*@param{}graphClient
*@param{*}displayName
*@param{*}appPassword
*/
const createApp=async(graphClient、displayName、appPassword)=>{
试一试{
const createRes=wait graphClient.applications.create({
displayName:displayName,
密码凭据:[
{
值:appPassword,
开始日期:新日期(),
结束日期:新日期(
新Da
> Deploying Azure services (this could take a while)...
✖
{
  "error": {
    "code": "InvalidBotData",
    "message": "Bot is not valid. Errors: The bot name is already registered to another bot application..  See https://aka.ms/bot-requirements for detailed requirements."
  }
}
** Provision failed **