AWS Boto3 Athena查询结果未保存到本地路径

时间:2018-12-20 13:39:26

标签: python amazon-web-services boto3 amazon-athena

我试图运行一个简单的雅典娜查询,并试图将结果保存到本地路径。

response = athena.start_query_execution(
    QueryString='select query',
    QueryExecutionContext={
        'Database': 'test'
    },
    ResultConfiguration={
        'OutputLocation': r'C:\Projects\Project0\'
    }

但是我收到以下错误。

  

botocore.errorfactory.InvalidRequestException:发生错误   (InvalidRequestException)调用StartQueryExecution时   操作:outputLocation不是有效的S3路径。

是否可以将结果保存到本地路径?我在boto3文档中找不到任何信息。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

在Athena中,结果只能保存到s3位置。有关语义的更多信息,请参考OutputLocation。如果要在本地系统中使用此结果,则可以转到提供的s3位置作为您start_query_execution API调用的输入并从s3控制台下载结果或使用aws s3 cp command