0
我想通过其余的API在documentDB中创建一个新文档。我会使用SDK,但即时通讯从asp.net核心运行项目和SDK是不兼容的。documentDB .net Rest创建自动创建文档ID
我想让documentDB自动生成文档的id,但我遇到了我的请求问题。
当通过documentDB rest api(使用基于ID的路由)创建文档时,我应该如何设置ids值?
现在我遇到了400错误的请求错误。
香港专业教育学院试图与该ID以下变化张贴:
- 没有id属性
- ID:空
- ID: “”
我使用的代码基本上是什么在github .net休息的例子,我有替换调用,让电话工作正常。
这里是我的代码发出请求:
//Create a document
verb = "POST";
resourceType = "docs";
resourceLink = string.Format("dbs/{0}/colls/{1}/docs", databaseId, collectionId);
resourceId =string.Format("dbs/{0}/colls/{1}", databaseId, collectionId);
authHeader = GenerateMasterKeyAuthorizationSignature(verb, resourceId, resourceType, masterKey, "master", "1.0");
client.DefaultRequestHeaders.Remove("authorization");
client.DefaultRequestHeaders.Add("authorization", authHeader);
string content = JsonConvert.SerializeObject(document);
StringContent contentMessage = new StringContent(content, System.Text.Encoding.UTF8, "application/json");
contentMessage.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
contentMessage.Headers.ContentType.CharSet = null;
var r = client.PostAsync(baseUri + resourceLink, contentMessage).Result;
System.Diagnostics.Debug.WriteLine(r.Content.ReadAsStringAsync().Result);
return r.Content.ReadAsStringAsync().Result;
如果您提供身份证明,您能确认它是否有效?如果是这样,那么我怀疑auto-id功能是客户端SDK的一个功能。我能够隔离node.js SDK源代码中的GetGuid函数,并使用它(主要是因为我想在进行API调用之前保留它的句柄,我怀疑你可以对.NET执行相同的操作)源代码)并将其剪切并粘贴到您的代码中,或者,您可以下载和GUID生成库。 –
现在,我将它设置为使用一个id(连接两个外键,至少1是唯一的)并希望现在应该没问题,但我可能需要查看GUID库或查看您提到的GetGuid函数。 –