python - AWS boto3 Athena 查询结果未保存到本地路径
问题描述
我正在尝试运行一个简单的雅典娜查询并尝试将结果保存到本地路径。
response = athena.start_query_execution(
QueryString='select query',
QueryExecutionContext={
'Database': 'test'
},
ResultConfiguration={
'OutputLocation': r'C:\Projects\Project0\'
}
但我收到以下错误。
botocore.errorfactory.InvalidRequestException:调用 StartQueryExecution 操作时发生错误 (InvalidRequestException):outputLocation 不是有效的 S3 路径。
是否可以将结果保存到本地路径?我在 boto3 文档中找不到任何信息。
解决方案
ResultConfiguration 不包含您的查询结果。您必须使用“QueryExecutionId”和get_query_results
函数进行第二次调用:
exe = athena.start_query_execution(
QueryString='select query',
QueryExecutionContext={
'Database': 'test'
},
ResultConfiguration={
'OutputLocation': 's3 location'
}
result = athena.get_query_results(
QueryExecutionId=exe['QueryExecutionId']
)
推荐阅读
- ios - 如何使用swift将循环中的数组索引增加+1
- flutter - 边界半径被覆盖?图像渲染为矩形
- vba - 在 Power point 中运行宏。将其设置为使用 PS1 文件运行,但在 application.run cmd 上出现错误
- typescript - Typescript 两层联合类型推断泛型
- c - 如果程序将退出,使用临时 realloc 变量有什么意义?
- r - 为什么用 geom_text 标记 ggplot 绘图条的尝试不起作用?
- css - 使用 CSS 实现响应式纸张卷曲效果
- r - R ggplot2 重新排序条并在最后放置一个特定的
- android - 如何通过数据库填充flexibleadapter?
- sql - 使用 sql 将具有某些列名的表转换为具有这些列名作为行值的表