二头肌故障排除

问题描述 投票:0回答:1

我需要一些帮助来解决二头肌部署问题。在本例中,它是部署一个 sql server 故障转移组,但我对其他二头肌也有类似的问题。

我发现第 24 行第 9 列有错误。如何查看此位置的值?

我在该行(但不是该列)上使用资源 ID。我怎么知道它是否有价值?

资源ID来自上面已有的资源。有没有办法查看传入的databaseName参数的值?

这是错误:

无法处理资源的模板语言表达式 '/subscriptions/ed8e3234-8fcc-4ef0-8438-c12548480e56/resourceGroups/rg-MyProj/providers/Microsoft.Sql/servers/sql-001/failoverGroups/fg-sql-001' 在“24”行和“9”列。 '语言表达式属性数组 索引“1”超出范围。 (代码:无效模板)

这是我的二头肌:

01: param failoverGroupName string
02: param primarySqlServerName string
03: param secondarySqlServerName string
04: param databaseName string
05: param secondaryResourceGroup string
06: 
07: resource primary 'Microsoft.Sql/servers@2022-08-01-preview' existing = {
08:   name:  primarySqlServerName
09: }
10: 
11: resource secondary 'Microsoft.Sql/servers@2022-08-01-preview' existing = {
12:   name:  secondarySqlServerName
13:   scope: resourceGroup(secondaryResourceGroup)
14: }
15: 
16: resource db 'Microsoft.Sql/servers/databases@2022-08-01-preview' existing = {
17:   name: databaseName
18: }
19: 
20: resource sqlServerFailoverGroup 'Microsoft.Sql/servers/failoverGroups@2023-05-01-preview' = {
21:   name: failoverGroupName
22:   parent: primary
23:   properties: {
24:     databases: array(db.id)
25:     readWriteEndpoint: {
26:       failoverPolicy: 'Automatic'
27:       failoverWithDataLossGracePeriodMinutes: 60
28:     }
29:     readOnlyEndpoint: {
30:       failoverPolicy: 'Enabled'
31:     }
32:     partnerServers: [
33:       {
34:         id: secondary.id
35:       }
36:     ]
37:   }
38: }
39: 
azure azure-bicep
1个回答
0
投票

无法处理资源的模板语言表达式“语言表达式属性数组索引“1”超出范围。” (代码:无效模板):

要定义

databases
属性,您需要使用
resourceId
函数来引用特定SQL服务器下存在的数据库,如下所示。

databases: [
      resourceId('Microsoft.Sql/servers/databases', primarySqlServerName,databaseName)
     ]

完整的二头肌代码:

param failoverGroupName string = 'latestfover'
param primarySqlServerName string = 'jahser'
param secondarySqlServerName string = 'secondserverj'
param databaseName string = 'newdb'
param secondaryResourceGroup string = 'v-jahnavi-Mindtree'
resource primary 'Microsoft.Sql/servers@2022-08-01-preview' existing = {
   name:  primarySqlServerName
 }
resource secondary 'Microsoft.Sql/servers@2022-08-01-preview' existing = {
   name:  secondarySqlServerName
   scope: resourceGroup(secondaryResourceGroup)
 }
 resource db 'Microsoft.Sql/servers/databases@2022-08-01-preview' existing = {
   name: databaseName
 }

resource sqlServerFailoverGroup 'Microsoft.Sql/servers/failoverGroups@2023-05-01-preview' = {
   name: failoverGroupName
   parent: primary
   properties: {
     databases: [
      resourceId('Microsoft.Sql/servers/databases', primarySqlServerName,databaseName)
     ]
     readWriteEndpoint: {
       failoverPolicy: 'Automatic'
      failoverWithDataLossGracePeriodMinutes: 60
     }
     readOnlyEndpoint: {
       failoverPolicy: 'Enabled'
    }
     partnerServers: [
      {
        id: secondary.id
      }
     ]
   }
 }

部署成功:

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.