使用@azure/data-tables SDK查询Azure Cosmos Table API时Double返回int32问题
问题根因
你没有在分页方法byPage()的参数中同步配置disableTypeConversion: true。@azure/data-tables SDK的byPage()方法会使用独立的请求配置,不会自动继承上层listEntities()传入的参数,你当前仅在外层查询配置了禁用类型转换,分页请求时仍使用默认的自动类型转换逻辑,会自动将无小数位的Double类型值识别为int32返回。
修正后的查询代码
async function list() { let entitiesIter = client.listEntities().byPage({ maxPageSize: 300, disableTypeConversion: true }); for await (let e of entitiesIter) { console.log(e); } }
补充说明
- 开启
disableTypeConversion后,所有返回属性都会以{ value: 实际值, type: 存储类型 }的结构化格式返回,可直接读取type字段确认存储的原始类型,不会再出现自动类型转换的问题。 - 你插入代码中的实体变量名
tesetEntity为拼写错误,不影响类型逻辑,可根据需要修正。
内容的提问来源于stack exchange,提问作者Ranjith Eswaran
相关产品推荐
相关产品推荐

