azure - 如何在不破坏 ARM 模板的情况下将资源组名称添加到 redis 名称?
问题描述
我正在尝试通过 ARM 模板部署 Redis 并保持 Redis 主机名的唯一性,我将资源组名称添加到它前面:
"variables": {
"resourceName": "[concat(resourceGroup().id, '-', parameters('redisCacheName'))]"
},
但是我突然收到以下错误,搜索它给出了截然不同的答案:
部署模板验证失败:'Microsoft.WindowsAzure.ResourceStack.Frontdoor.Common.Entities.TemplateGenericProperty' 类型的模板资源 '/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/resourceGroups/my-group-my-redis' '1' 行和 '640' 列的 1[System.String]' 的段长度不正确。
嵌套资源类型必须具有与其资源名称相同的段数。根资源类型的段长度必须比其资源名称大一。有关使用详情,请参阅https://aka.ms/arm-template/#resources。
当我尝试部署 Basic Redis 实例时,我不明白为什么会提到一些“前门”,请问这里的修复是什么?
下面是我的 ARM 模板:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"redisCacheName": {
"defaultValue": "my-redis",
"type": "String"
}
},
"variables": {
"resourceName": "[concat(resourceGroup().id, '-', parameters('redisCacheName'))]"
},
"outputs": {
"RedisCacheEndpoint": {
"type": "string",
"value": "[concat(reference(variables('resourceName')).hostName, ':', reference(variables('resourceName')).sslPort)]"
},
"RedisCachePassword": {
"type": "string",
"value": "[reference(variables('resourceName')).accessKeys.primaryKey]"
}
},
"resources": [
{
"type": "Microsoft.Cache/Redis",
"apiVersion": "2019-07-01",
"name": "[variables('resourceName')]",
"location": "[resourceGroup().location]",
"properties": {
"sku": {
"name": "Basic",
"family": "C",
"capacity": 1
},
"enableNonSslPort": false
}
}
]
}
这是参数文件:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"redisCacheName": {
"value": "my-redis"
}
}
}
我正在尝试将 Redis 实例部署到名为“my-group”的 RG 中,并在部署时使用参数值“my-redis” -
同时希望最后有一个具有唯一名称“my-group-my-redis.redis.cache.windows.net:6380”的 Redis 端点。
解决方案
你使用了错误的方法,你应该使用这个:
"[concat(resourceGroup().name, '-', parameters('redisCacheName'))]"
推荐阅读
- splunk - Splunk - 从字符串中提取多个不等于一个值的值
- user-interface - UWP ComboBox 中的说明
- r - R中没有前导NA的滚动平均输出?
- python - 如何包装 Python 'With' 函数并在其他地方重用它
- r - R markdown rticles 包 pnas 模板不编织
- android - 运行android项目时的React-native抛出错误(null不是对象)
- python - Keras LSTM 索引顺序(升序或降序)并在二进制分类中看到附加到 1 的字符串
- c# - C#- 在编辑器的侧面放置一个编辑按钮
- ansible - ansible json_query 如何为缺少的键定义默认值
- .net-core - CSVHelper 通用 ClassMap 与 System.Reflection