Lambda函数进行雅典娜查询,查询结果不在S3输出bu中

2024-10-04 11:29:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在通过python boto3查询as3bucket。查询成功,没有错误,但输出S3 bucket为空。但是当我通过python控制台运行查询时,它可以工作,并且有.csv和。csv.元数据在S3输出bucket中使用athena查询结果。在

我添加了本页中提到的权限。https://docs.aws.amazon.com/athena/latest/ug/cross-account-permissions.html

不确定这是否重要,但是S3输出bucket不应该由serverless管理(这是我在我的项目中使用的)它是一个现有的S3 bucket,我使用了这个包和说明https://www.npmjs.com/package/serverless-plugin-existing-s3,它可以很好地处理dynamoDB和glue目录信息,当lambda被触发时被转储。在

def function(event,context):
client = boto3('athena')
query = 'select * from athenaTable'
response = client.start_query_execution(
        QueryString=params["query"],
        QueryExecutionContext={
            'Database': params['database']
        },
        ResultConfiguration={
            'OutputLocation': 's3://bucket-name/key/' #output bucket
        }
    )
    return response

Tags: csvhttpscomclients3bucketresponse错误