在 Azure CosmosDb PatchItemAsync 中获取 "One of the specified inputs is invalid"
Getting "One of the specified inputs is invalid" in Azure CosmosDb PatchItemAsync
下面是我的代码:
List<PatchOperation> patchOperations = new List<PatchOperation>();
patchOperations.Add(PatchOperation.Replace("/endpointId", 100));
string id = "id1";
PartitionKey partitionKey = new PartitionKey("partitionkey1");
await _container.PatchItemAsync<Watermark>(id,
partitionKey,
patchOperations);
我期待 endpointId
属性 替换为 100。
但是,我遇到了消息:{"Errors":["One of the specified inputs is invalid"]}
。
我可以检查我遗漏了哪个部分,还是必须等待为我的 cosmos 数据库启用补丁私人预览功能?
即使错误显示 "One of the specified inputs is invalid"
,您应该会看到状态代码 400,它表示 Bad Request
。因此需要为您的帐户启用私人预览功能。
您还可以通过在启动模拟器时添加 EnablePreview
来启用模拟器补丁,
.\CosmosDB.Emulator.exe /EnablePreview
为了启用它,您可以使用此 form 进行注册,这应该会在 15-20 分钟内完成。如果这不起作用,请告诉我
对于登陆此处寻找 Cosmos 可能对其他请求类型响应 One of the specified inputs is invalid
的原因的任何其他人,您可能需要将 Id
属性 重命名为 id
小写或添加属性:
[JsonProperty("id")]
public string Id { get; set; }
cosmos db 中的 id 属性区分大小写。在这种情况下,尝试将您的 id getter setter 替换为“id”。
下面是我的代码:
List<PatchOperation> patchOperations = new List<PatchOperation>();
patchOperations.Add(PatchOperation.Replace("/endpointId", 100));
string id = "id1";
PartitionKey partitionKey = new PartitionKey("partitionkey1");
await _container.PatchItemAsync<Watermark>(id,
partitionKey,
patchOperations);
我期待 endpointId
属性 替换为 100。
但是,我遇到了消息:{"Errors":["One of the specified inputs is invalid"]}
。
我可以检查我遗漏了哪个部分,还是必须等待为我的 cosmos 数据库启用补丁私人预览功能?
即使错误显示 "One of the specified inputs is invalid"
,您应该会看到状态代码 400,它表示 Bad Request
。因此需要为您的帐户启用私人预览功能。
您还可以通过在启动模拟器时添加 EnablePreview
来启用模拟器补丁,
.\CosmosDB.Emulator.exe /EnablePreview
为了启用它,您可以使用此 form 进行注册,这应该会在 15-20 分钟内完成。如果这不起作用,请告诉我
对于登陆此处寻找 Cosmos 可能对其他请求类型响应 One of the specified inputs is invalid
的原因的任何其他人,您可能需要将 Id
属性 重命名为 id
小写或添加属性:
[JsonProperty("id")]
public string Id { get; set; }
cosmos db 中的 id 属性区分大小写。在这种情况下,尝试将您的 id getter setter 替换为“id”。