Azure表存储无效的输入

用户名

我正在使用Java查询Azure表存储服务。

我正在查询基于TimeStamp的Azure表。在执行查询之前,我将本地Java日期转换为UTC。

查询引发TableServiceException“请求输入之一无效。RequestId:59445f16-0002-007e-152d-b3e24d000000时间:2016-05-21T06:50:34.5077574Z”

当我使用相同的日期并通过Azure存储资源管理器查询数据时;我能够获得所需的值,如下面的屏幕截图所示。

http://puu.sh/oZD6y/eadcc45859.png这让我想知道我做错了什么。

下面是我用于查询Azure表的代码。endDate的日期类型

String partitionFilter = TableQuery.generateFilterCondition(PARTITION_KEY,   QueryComparisons.EQUAL,
            partitionKey);
    String date2 = TableQuery.generateFilterCondition(TIMESTAMP, QueryComparisons.LESS_THAN_OR_EQUAL, endDate.getTime());
    String finalFilter = TableQuery.combineFilters(partitionFilter, Operators.AND, date2);

    CloudTable table = getTable(tableName);
    TableQuery<TableServiceEntity> query = TableQuery.from(TableServiceEntity.class).where(finalFilter);
    Iterable<TableServiceEntity> tableEntries = table.execute(query);
    return tableEntries;

下面的代码用于转换本地日期

    long ts = System.currentTimeMillis();
    Date localTime = new Date(ts);
    String format = "yyyy/MM/dd HH:mm:ss";
    SimpleDateFormat sdf = new SimpleDateFormat (format);


    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    Date gmtTime = new Date(sdf.format(localTime));
    System.out.println("Local:" + localTime.toString() + "," + localTime.getTime() + " --> UTC time:" + gmtTime.toString() + "-" + gmtTime.getTime());

这已经浪费了我很多时间。任何帮助将不胜感激。

高拉夫·曼特里(Gaurav Mantri)

(PartitionKey eq'1')和(Timestamp le 1463796341217L)

基本上,您的查询有问题。本质上Timestampdate/time一种属性,因此,如果您自己编写ODATA查询,则查询应类似于:

(PartitionKey eq '1') and (Timestamp le datetime'some-date-time-value')

如果您注意到,这也是您在Azure Storage Explorer中正在做的事情。

查看您的代码,您正在调用getTime()方法,endDate方法将返回自格林尼治标准时间1970年1月1日00:00:00起经过的毫秒数。您需要做的是endDate按原样使用然后,SDK将以Azure表服务可理解的格式转换查询。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Azure存储表插入失败,并显示“请求输入之一无效”

来自分类Dev

Azure存储模拟器异常:“请求输入之一无效。”

来自分类Dev

Azure表存储-索引?

来自分类Dev

Azure表存储性能

来自分类Dev

Azure表存储升级

来自分类Dev

Azure表存储升级

来自分类Dev

Azure存储:Blob与表

来自分类Dev

将 xml 存储在 azure 表存储中

来自分类Dev

Azure表存储-删除列

来自分类Dev

如何实现Azure存储表?

来自分类Dev

从Swift访问Azure表存储

来自分类Dev

Azure表存储-管理并发

来自分类Dev

Azure表存储保留策略

来自分类Dev

重命名Azure存储表?

来自分类Dev

如何实现Azure存储表?

来自分类Dev

Azure表存储异常处理

来自分类Dev

Microsoft Azure DocumentDB与Azure表存储

来自分类Dev

如何检查 PreferenceActivity 中的输入并防止存储无效值?

来自分类Dev

存储过程错误:外键引用无效表

来自分类Dev

Azure Blob存储无效帐户字符串错误

来自分类Dev

无法发布到 Azure 存储?无效路径错误

来自分类Dev

运行不带PartitionKey的Azure表存储查询

来自分类Dev

EF 7 alpha 3:Azure表存储

来自分类Dev

Azure表存储插入或替换结果

来自分类Dev

Azure表存储:如何实现分页?

来自分类Dev

Azure存储帐户备份(表和Blob)

来自分类Dev

Azure存储表和数据迁移

来自分类Dev

代码优先和Azure表存储的身份

来自分类Dev

Azure表存储中的日期范围查询