Устранение неполадок бицепса

Мне нужна помощь в устранении неполадок при развертывании бицепса. В данном случае речь идет о развертывании группы аварийного переключения сервера sql, но у меня аналогичные проблемы с другими бицепсами.

Я вижу, что у меня ошибка в строке 24, столбце 9. Как мне узнать, какие значения находятся в этом месте?

Я использую идентификатор ресурса в этой строке (но не в этом столбце). Как я могу определить, имеет ли оно вообще ценность?

Идентификатор ресурса взят из существующего ресурса, указанного выше. Есть ли возможность увидеть значение переданного параметра DatabaseName?

Вот ошибка:

Невозможно обработать выражения языка шаблонов для ресурса. '/subscriptions/ed8e3234-8fcc-4ef0-8438-c12548480e56/resourceGroups/rg-MyProj/providers/Microsoft.Sql/servers/sql-001/failoverGroups/fg-sql-001' в строке «24» и столбце «9». 'Массив свойств языкового выражения индекс '1' выходит за пределы.' (Код: InvalidTemplate)

А вот мой бицепс:

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: 
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Невозможно обработать шаблонные языковые выражения для ресурса. «Индекс массива свойств языковых выражений «1» выходит за пределы». (Код: InvalidTemplate):

Чтобы определить свойство 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
      }
     ]
   }
 }

Развертывание выполнено успешно:

Спасибо. Я видел эти примеры и начал с этого. У меня всегда были ошибки, и в конце концов я отказался от этого. Я просто попробовал еще раз, и это сработало. Должно быть, я неправильно указал переменную. Этот ответ меня спас. Я отмечу это как ответ, но технически это не ответило на мой вопрос об устранении неполадок и просмотре значений переменных. Тем не менее, это отличная помощь, поэтому я отмечу это как ответ.

Don Chambers 16.04.2024 16:47

Другие вопросы по теме

Радиус/Бицепс – Как извлечь из частного реестра Docker с аутентификацией в общем Kubernetes?
Бицепс, как ссылаться на родителя в модуле при использовании цикла
Конвейер Azure не может развернуться через файл бицепса и установить значения для его параметров
В чем разница между Microsoft.ApiManagement/service/portalsettings и Microsoft.ApiManagement/service/portalconfigs
Ошибка создания коллекций CosmosDB Mongo через бицепс
Настройка OpenID Connect для службы приложений через Bicep
Azure: что приводит к разделению темы ServiceBus
Невозможно создать рабочую область синапса sql bool с использованием ошибки получения бицепса (Код: CreateSqlComputeOrchestrationError;OperationInterrupted)
Невозможно настроить значение для «network_interface»: его значение будет определено автоматически на основе результата применения этой конфигурации
У вас нет доступа ни к одной группе управления. Создайте его на портале Azure и повторите попытку развертывания