我编写了以下代码,这些代码返回了具有特定字符串的快照列表,但这并没有返回Size为0的快照,
https://cloud.google.com/compute/docs/reference/rest/v1/snapshots/list
this API have following attributes:
我正在尝试基于正则表达式放置一些过滤器 匹配所有名称中具有“ intance-snap”的快照。
def snapshotlist():
query = "name eq <string>.*"
snaplist = compute.snapshots().list(project=project,filter=query).execute()
snaplist = ast.literal_eval(json.dumps(snaplist))
for snap in snaplist['items']:
print(snap['name'])
以上代码不会返回大小为0的快照,无论是否存在 SIZE 吗?
答案 0 :(得分:1)
在Snapshot documentation中,使用可选参数的join
属性:
表达式必须指定字段名称,比较运算符以及要用于过滤的值。该值必须是字符串,数字或布尔值。 比较运算符必须为
select customer, date, max(receipt) as receipt, max(invoice) as invoice from ((select a.customer, a.date, a.receipt, (@rnr := if(@cd = concat_ws(';', customer, date), @rnr + 1, if(@cd := concat_ws(';', customer, date), 1, 1) ) ) as seqnum from a cross join (select @rnr := 0, @cd := '') params order by a.customer, a.date ) union all (select b.customer, b.date, b.invoice, (@rni := if(@cd = concat_ws(';', customer, date), @rni + 1, if(@cd := concat_ws(';', customer, date), 1, 1) ) ) as seqnum from b cross join (select @rni := 0, @cd := '') params order by a.customer, a.date ) ) cd group by customer, date, seqnum;
,filter
,=
或!=
。
虽然这意味着您无法执行类似于Drive API的查询,例如>
,<
方法似乎仍然支持通配符匹配。如果无法成功编写适当的正则表达式,则解决方案是收集q: "name contains 'some string'"
的 entire 列表,然后使用您语言的字符串和regex方法过滤输出。 / p>
Snapshots#list
您可能会发现参考Compute API的Python文档或使用Python客户端的API资源管理器很有帮助: