我浏览了整个 boto3 文档,似乎无法检索“特定”查询的执行详细信息。我能看到的唯一方法是使用 list_query_executions()
获取所有查询的执行 ID,然后使用
get_query_execution()
或 batch_get_query_execution()
。但是,即使在执行详细信息中,也没有任何字段允许您将执行映射到特定查询(您可以使用查询字符串,但这并不有利,因为查询字符串可能会发生更改)。从这个意义上说,我只能看到获取所有执行详细信息的选项...但无法将它们映射到查询(例如通过使用查询 ID 或名称)我在这里错过了什么吗?是否可以以某种方式将查询清晰地映射到其所有执行?
谢谢!
除了 QueryExecutionId 之外,没有其他方法可以唯一标识 Athena 中的查询执行。如果多次运行相同的查询,则每次执行都会产生不同的 id,即使 QueryString 每次都是相同的。 据我所知,映射特定查询字符串计数的唯一方法实际上是通过您自己所说的查询字符串进行解析。如果 QueryString 被更改,它实际上是一个不同的查询,所以我不明白你说不同的 QueryString 可能仍然映射到同一个查询。
'从fruits_table中选择*,其中name =“banana”和taste_category =“sweet”' 和 '从fruits_table中选择*,其中taste_category =“sweet”并且name =“banana”'
实际上是不同的查询,即使它们返回相同的结果。
如果您指的是字母大小写等,您可以轻松地在自己的代码中修复它。