Рекомендуемый способ поддержки хранимых процедур, пользовательских функций, индексов и т. Д. c. в управлении исходным кодом и для CI / CD - PullRequest
1 голос
/ 07 февраля 2020

Для наших хранимых процедур мы использовали подход, который работал довольно хорошо во время CD, который использовал javascript v2 SDK для вызова container.storedProcedures.upsert. Upsert теперь удален из API в v3, поскольку он не поддерживается в однораздельных коллекциях (которые теперь можно создавать единственными).

Я предполагал, что SDK v3 будет есть способ как минимум удалить и воссоздать эти объекты, но, как я вижу, он позволяет только создавать: https://docs.microsoft.com/en-us/javascript/api/%40azure/cosmos/storedprocedures?view=azure-node-latest Мы следовали аналогичному подходу для поддержания обновленных определений индексов, и это является основным По этой причине нам теперь нужно перейти на SDK v3, так как в противном случае обновление каких-либо индексов завершится неудачно с помощью v2.

Учитывая, что мы хотим (если возможно), чтобы иметь возможность поддерживать все эти объекты в контроле ресурсов и автоматически развертывать их во время CD, что было бы рекомендованным способом сделать это?

(В то же время я изучаю использование следующих команд powershell для него: https://github.com/PlagueHO/CosmosDB, но пытаюсь создать UDF через них произошел очень странный исход, в котором Azure Портал перестал показывать мне любой UDF в коллекции, пока я не удалил редактировал тот, который я создал, используя New-CosmosDbUserDefinedFunction)

1 Ответ

2 голосов
/ 08 февраля 2020

Сегодня есть несколько вариантов, и ваш выбор улучшится в течение следующих нескольких месяцев.

Теперь в Cosmos есть поддержка создания хранимых процедур, триггеров и пользовательских функций с использованием шаблонов ARM. Во втором примере на этой странице есть шаблон ARM, который показывает это. Образцы шаблонов Cosmos DB ARM . Этот инструмент PS, который вы используете, официально не поддерживается, поэтому вам нужно подать проблему там по любым вопросам Мы будем выпускать PS-командлеты для создания хранимых процедур, триггеров и пользовательских функций, но в настоящее время нет ETA для совместного использования.

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