首页 > 解决方案 > 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 文档中找不到任何信息。

标签: pythonamazon-web-servicesboto3amazon-athena

解决方案


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']
     )

推荐阅读