Azure Cosmos DB - обновление политики разрешения конфликтов после создания контейнера - PullRequest
1 голос
/ 14 апреля 2020

Сценарий заключается в обновлении политики разрешения конфликтов с Last-Writer-Wins до настраиваемого разрешения конфликтов.

В приведенном в документации примере используется CreateContainerIfNotExistsAsyn c с заданной c политикой конфликта, но это можно сделать только при создании контейнера. Есть ли другой способ, который я могу обновить после создания?

Я знаю, что на портале Azure есть «Масштаб и настройки», где пользователи могут обновить разрешение конфликта, но это выдает мне ошибки ниже, когда я пытался обновить.

{"code":400,"body":{"code":"BadRequest","message":"Message: {\"Errors\":[\"Updating conflict resolution policy is currently not supported\"]}

Кто-нибудь знает, почему эта ошибка появляется? Или, может быть, на стороне клиентского SDK есть что-то, что можно использовать для обновления политики конфликта?

1 Ответ

3 голосов
/ 14 апреля 2020

Как видно из сообщения, это в настоящее время недоступно для клиентов. Поскольку вы впервые столкнулись с этим, у вас есть 2 варианта:

1) Если ваше приложение новое и вы можете сделать переделку, вы может удалить и заново создать коллекцию с новой политикой с нуля.

2) Если это старое приложение, и вы не можете удалить и восстановить его, команда разработчиков может сделать это из бэкэнда, но вам нужно будет связаться со службой поддержки для того же самого.

Примите во внимание, что политика обновления при создании новой коллекции безопасна, но во время выполнения, если изменилось разрешение конфликта, произойдет изменение поведения, которое должно обрабатываться приложением. Возможность обновления политики разрешения конфликтов не станет функцией безопасности клиентов. Это делается из серверной части на основе запроса.

Надеюсь, это поможет.

Спасибо Navtej S

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...