当前位置: 首页 > 知识库问答 >
问题:

无法在Azure Cosmos DB中用中文替换分区密钥头中的项

田翔
2023-03-14

我尝试使用golang在Azure Cosmos db中使用github.com/vippsas/go-cosmosdb包进行CURD操作。

{
 "id": "9289b3f5-5830-4589-ab7d-6c0efbb4150e",
 "method": "日",
 "endpoint": "/api/savecsv?operator=jimmylin",
 "operator": "jimmy",
 "execTime": 1622867229,
 "payload": "abc.json"
}
    client := cosmosapi.New()
    _, _, err = client.CreateDocument(ctx, "dbid", "contid", &log, cosmosapi.CreateDocumentOptions{PartitionKeyValue: log.Method})
    if err != nil {
        err = tracerr.New(err.Error())
        tracerr.PrintSourceColor(err, 2)
    }
x-ms-documentdb-partitionkey:["日"]
The JSON, SQL, or JavaScript in the request body is invalid

我相信JS SDK或我使用的包都是基于Azure Cosmos DB Restful API的。我想这个包裹很可能少了什么。

共有1个答案

顾泰平
2023-03-14

Azure Cosmos db只支持x-ms-documentdb-partitionkey中的Unicode或ASCII,而github.com/vippsas/go-cosmosdb包使用json.marshal,它在内部自动将Unicode转换为中文字符。

唯一的解决方法是在创建文档时使用英文作为分区键。

 类似资料:
  • null 关于如何管理分区密钥的依赖关系,您有什么建议吗?或者我没有根据cosmosdb最佳实践以最佳方式对数据层建模?

  • 我试图为某些设备生成密钥时出错。我能够在运行4.4.2的三星Galaxy Note上重现错误。 我创建了一个小应用程序,只能通过从Android开发者页面“生成新私钥”下的https://developer.android.com/training/articles/keystore.html逐行复制代码来生成密钥 错误似乎发生在kpg.generateKeyPair(),在Android Key

  • 问题是不能使用句号(.)在一个蔚蓝的钥匙库里。 有人知道如何使用Azure密钥库中的秘密在AppSettings.json文件中用嵌套级别替换变量吗?

  • 参考文献: https://docs.datastax.com/en/cql/3.1/cql/ddl/ddl_compound_keys_c.html Cassandra中分区键、复合键和聚类键的区别?

  • 我正在尝试使用Azure Key Vault克里特一个“秘密值”。我正在学习Microsoft的教程,网址是:https://azure.Microsoft.com/en-us/documentation/articles/key-vault-get-started/ 我用... 我也可以验证它是通过使用... 我以为通过创建它,我已经获得了进入密钥库的所有权限?我需要添加特定权限吗?

  • 无法在表列中发送值。当我试图使用Selenium在列中插入值时,我得到了不同的错误。 > 然后单击并编辑该值。 传递的值未插入表列中。但是我可以单击Tables列。我的考试通过了。 然后尝试设置值。它显示超时的错误。 我再次使用div/span组合作为XPath,并编辑了该值。但这并没有反映在表中。 在这里我没有得到任何错误。但保存后未反映该值。 我给元素添加了各种格式。 div/[id] HTM