azure - 使用 Arm 模板在机器人通道注册连接上设置租户 ID
问题描述
当使用 ARM 模板为机器人通道注册创建新连接时,我使用以下资源作为Microsoft.BotService/botServices的一部分;
{
"type": "Microsoft.BotService/botServices/Connections",
"apiVersion": "2018-07-12",
"name": "[concat(parameters('botName'), '/ActiveDirectory')]",
"dependsOn": [
"[resourceId('Microsoft.BotService/botServices', parameters('botName'))]"
],
"location": "global",
"tags": "[parameters('resourceTags')]",
"properties": {
"clientId": "[parameters('appId')]",
"clientSecret": "[parameters('appSecret')]",
"scopes": "[parameters('scopes')]",
"serviceProviderId": "30dd229c-58e3-4a48-bdfd-91ec48eb906c",
"serviceProviderDisplayName": "Azure Active Directory v2",
"parameters": []
}
}
除了我需要填写的 Token Exchange Url 和 Tenant ID 之外的所有字段;
我检查了文档,找不到任何关于此的内容。我尝试添加以下参数进行测试;
"parameters": [
{
"key": "tenantID",
"value": "customValue"
}
]
那没有做任何事情,也只是在这里猜测关键应该是什么..
如何使用 Arm 模板设置这两个字段?
解决方案
参数是要走的路。但是,在使用参数时,clientID 和 clientSecret 也需要作为参数,因为当参数存在时,它们不再作为属性被拾取。在资源 Json 下面它为我工作的方式;
{
"type": "Microsoft.BotService/botServices/Connections",
"apiVersion": "2018-07-12",
"name": "[concat(parameters('botName'), '/ActiveDirectory')]",
"condition": "[equals(parameters('oauthEnabled'), 'True')]",
"dependsOn": [
"[resourceId('Microsoft.BotService/botServices', parameters('botName'))]"
],
"location": "global",
"tags": "[parameters('resourceTags')]",
"properties": {
"serviceProviderId": "30dd229c-58e3-4a48-bdfd-91ec48eb906c",
"serviceProviderDisplayName": "Azure Active Directory v2",
"parameters": [
{
"key": "clientId",
"value": "[parameters('appId')]"
},
{
"key": "clientSecret",
"value": "[parameters('appSecret')]"
},
{
"key": "scopes",
"value": "[parameters('scopes')]"
},
{
"key": "tenantID",
"value": "common"
},
{
"key": "tokenExchangeUrl",
"value": "[concat('api://botid-', parameters('appId'))]"
}
]
}
}
推荐阅读
- python - 如果机器人与 VC 断开连接,如何让机器人重新连接?
- scala - 带有多行选项的多字符分隔符的 SPARK-Read 文件
- windows - 将多个文件压缩成单独的 .gz 文件(Windows)
- c++ - 如何只刷新(同步)boost过滤流的一个组件?
- r - 计算前 n 行的总和
- android - Android Studio 中是否有模板来创建使用 kotlin 而不是 Groovy 的项目?
- c# - Microsoft Identity Framework 将角色分配给 Postgres 数据库的用户错误 - 已处理 CancellationTokenSource
- swift - JSONDecoder 无法解析地图列表
- vue.js - Vue - 另一个表单内的表单并提交事件触发器
- python - 基于图的 CNN 的数据准备(类似 Cora)