Как установить диапазон ожидаемого кода состояния свойства в TrafficManager через az cli

Я не могу установить ожидаемые диапазоны кода для профиля диспетчера трафика с помощью az cli.

Я получаю сообщение об ошибке:

Unable to build a model: Cannot deserialize as [MonitorConfigExpectedStatusCodeRangesItem] an object of type , DeserializationError: Cannot deserialize as [MonitorConfigExpectedStatusCodeRangesItem] an object of type 
Traceback (most recent call last):
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 573, in body
    data = deserializer._deserialize(data_type, data)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1260, in _deserialize
    self._deserialize(local_type, value)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1260, in _deserialize
    self._deserialize(local_type, value)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1269, in _deserialize
    return self.deserialize_data(data, response)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1445, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1474, in deserialize_iter
    type(attr)
msrest.exceptions.DeserializationError: Cannot deserialize as [MonitorConfigExpectedStatusCodeRangesItem] an object of type 

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 197, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 373, in execute
    six.reraise(*sys.exc_info())
  File "/opt/az/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 347, in execute
    result = cmd(params)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 182, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/arm.py", line 512, in handler
    result = setter(**setterargs)
  File "/opt/az/lib/python3.6/site-packages/azure/mgmt/trafficmanager/operations/profiles_operations.py", line 347, in create_or_update
    body_content = self._serialize.body(parameters, 'Profile')
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 576, in body
    SerializationError, "Unable to build a model: "+str(err), err)
  File "/opt/az/lib/python3.6/site-packages/msrest/exceptions.py", line 54, in raise_with_traceback
    raise error.with_traceback(exc_traceback)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 573, in body
    data = deserializer._deserialize(data_type, data)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1260, in _deserialize
    self._deserialize(local_type, value)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1260, in _deserialize
    self._deserialize(local_type, value)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1269, in _deserialize
    return self.deserialize_data(data, response)
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1445, in deserialize_data
    return self.deserialize_type[iter_type](data, data_type[1:-1])
  File "/opt/az/lib/python3.6/site-packages/msrest/serialization.py", line 1474, in deserialize_iter
    type(attr)
msrest.exceptions.SerializationError: Unable to build a model: Cannot deserialize as [MonitorConfigExpectedStatusCodeRangesItem] an object of type , DeserializationError: Cannot deserialize as [MonitorConfigExpectedStatusCodeRangesItem] an object of type 

Я настроил профиль TrafficManager в Azure и теперь хочу обновить этот профиль, указав ожидаемые диапазоны кодов состояния. Это не может быть установлено во время создания.

Я использую следующую команду:

az network traffic-manager profile update --resource-group RG20BRAM-DEV --name test --set monitorConfig.expectedStatusCodeRanges='200'

Кто-нибудь может сказать мне, что я здесь делаю не так?

С наилучшими пожеланиями, Брэм

Я предполагаю, что это еще не возможно: github.com/Azure/azure-cli/issues/7940

bramvdk 09.01.2019 15:15
Как установить 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
1
191
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вы можете обновить профиль диспетчера трафика Azure с помощью команды CLI следующим образом:

az network traffic-manager profile update -g groupName -n trafficName --set monitorConfig.expectedStatusCodeRanges[0].max=301

и

az network traffic-manager profile update -g groupName -n trafficName --set monitorConfig.expectedStatusCodeRanges[0].min=301

Взгляните на свойства Менеджер трафика, а затем выберите, какой из них вы хотите обновить правильно. Надеюсь, что это поможет вам.

Обновлять

Скриншот обновления:

При создании профиля без установки свойства monitorConfig.expectedStatusCodeRanges. Вы можете сначала установить его с помощью команды CLI:

az network traffic-manager profile update -g charles -n charlesTrafficManager --set monitorConfig.expectedStatusCodeRanges='[{"min":200,"max":299}]'

Снимок экрана выполнения команды:

Привет, Чарльз, спасибо за ответ. Когда я это делаю, я получаю "ошибку": индекс 0 не существует на [0]

bramvdk 09.01.2019 20:45

Нужно ли мне сначала что-то сделать с --add?

bramvdk 09.01.2019 20:47

Да неужели? Вы можете показать профиль с помощью команды az network traffic-manager profile, чтобы увидеть, как настроен профиль. Свойство monitorConfig.expectedStatusCodeRanges представляет собой массив.

Charles Xu 10.01.2019 02:05

Когда я впервые создал профиль, он показывает свойство как: "expectedStatusCodeRanges": null,. Но когда я использую --add monitorConfig.expectedStatusCodeRanges, он показывает свойство как "expectedStatusCodeRanges": []. Если я затем сделаю --set monitorConfig.expectedStatusCodeRanges[0].min=200, он выдаст ошибку index 0 doesn't exist on expectedStatusCodeRanges

bramvdk 10.01.2019 09:53

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