Я не могу установить ожидаемые диапазоны кода для профиля диспетчера трафика с помощью 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'
Кто-нибудь может сказать мне, что я здесь делаю не так?
С наилучшими пожеланиями, Брэм
Вы можете обновить профиль диспетчера трафика 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]
Нужно ли мне сначала что-то сделать с --add?
Да неужели? Вы можете показать профиль с помощью команды az network traffic-manager profile
, чтобы увидеть, как настроен профиль. Свойство monitorConfig.expectedStatusCodeRanges представляет собой массив.
Когда я впервые создал профиль, он показывает свойство как: "expectedStatusCodeRanges": null,
. Но когда я использую --add monitorConfig.expectedStatusCodeRanges
, он показывает свойство как "expectedStatusCodeRanges": []
. Если я затем сделаю --set monitorConfig.expectedStatusCodeRanges[0].min=200
, он выдаст ошибку index 0 doesn't exist on expectedStatusCodeRanges
Я предполагаю, что это еще не возможно: github.com/Azure/azure-cli/issues/7940