【问题标题】:Unable to update a CosmosDB stored procedure in Azure Portal无法在 Azure 门户中更新 CosmosDB 存储过程
【发布时间】:2019-08-08 04:07:32
【问题描述】:

刚开始使用 CosmosDB。我正在尝试在 Azure 门户(数据资源管理器)中为我的 CosmosDB 数据编写一个存储过程。我能够创建一个新的存储过程并执行它,但我无法保存对该过程的任何更改。当我尝试时,我收到以下错误消息:

Error while updating stored procedure testSP:
...
Create, update, or delete scripts in direct mode in collections with multiple partitions is not allowed.

不确定direct mode 是什么意思。我该如何解决这个问题?

【问题讨论】:

  • 这是以前未分区的集合上发生的临时错误,很快就会发布解决此问题的方法。同时,使用 SDK 的建议解决方法也将起作用。

标签: azure azure-cosmosdb


【解决方案1】:

你可以试试 ReplaceStoredProcedureAsync 吗?

try 
{
    await _client.CreateStoredProcedureAsync(...);
} 
catch(DocumentClientException dex) when (dex.StatusCode == HttpStatusCode.Conflict) 
{ 
    await _client.ReplaceStoredProcedureAsync(...);  
} 

相关thread

【讨论】:

  • 是的,我可以并且会尝试。虽然目前,我在门户中使用数据资源管理器,并希望我可以在不使用 .NET API 的情况下开发一个简单的存储过程。
  • 推荐的开发 CosmosDB 存储过程的方法是什么?我应该使用 Visual Studio Code 吗?
猜你喜欢
  • 2019-04-20
  • 2021-05-12
  • 2017-02-22
  • 2016-01-02
  • 2018-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多