如何在Ruby中使用azure_table_service.query_entities结果和标记?

时间:2015-01-06 20:35:56

标签: ruby azure azure-table-storage

我尝试使用Ruby Azure SDK来查询Azure表。我可以接到工作的电话,如果我看看wireshark它会返回大量的结果。但我无法弄清楚如何迭代它们。

query = {:filter => "Timestamp ge datetime'2015-01-01T00:00:00Z'", :select => ["FileName"]}
result, token = azure_table_service.query_entities("ActivityTable", query)
p result
p token

将此显示为输出。

#<Azure::Table::Entity:0xb8f74fdc @properties={"FileName"=>"LOCKINFO.DAT"}, @table="ActivityTable", @updated=2015-01-06 20:22:14 UTC, @etag=nil>
#<Azure::Table::Entity:0xb8f74f3c @properties={"FileName"=>"Scan000.pdf"}, @table="ActivityTable", @updated=2015-01-06 20:22:14 UTC, @etag=nil>

我尝试过result.count,result.pop等。文档真的很糟糕,https://github.com/Azure/azure-sdk-for-ruby/blob/master/lib/azure/table/table_service.rb。我看起来像是获得了一个EnumerationResults数组,但没有一个数组调用工作。

我也无法弄清楚如何使用令牌来获取下一组结果,但是在我弄清楚如何使用我拥有的结果之后。

-Update -

p result.class
p token.class

显示两者都是Azure :: Table :: Entity

2 个答案:

答案 0 :(得分:0)

好!我发现文档存在问题。我不应该使用他们的例子

result = azure_table_service.query_entities("XASActivityTable", query)

返回预期值的数组。添加该Token变量似乎会导致某种类型的Ruby魔术,其中第一个和第二个值被放入变量中,其余值被转储。

答案 1 :(得分:0)

您可以使用以下声明获取状态。

status = result.properties [&#39; status&#39;]