微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Lambda 函数从输出中排除 .csv.metadata 文件

如何解决Lambda 函数从输出中排除 .csv.metadata 文件

我有一个 Lambda 函数,它执行 Athena 查询并将 csv 文件中的输出导出到 S3 存储桶。 现在在我的 S3 存储桶中,我收到了 2 个文件 .csv.csv.Metadata

我的问题是如何排除 .csv.Metadata 文件

import boto3


def lambda_handler(event,context):
    query_1 =   "<MY-QUERY-HERE>"
                 
    database = "<MY-DB-HERE>"
    s3_output = "MY-S3-BUCKET"

    client = boto3.client('athena')

    response = client.start_query_execution(QueryString = query_1,QueryExecutionContext={
                                            'Database': database
                                        },ResultConfiguration={
                                            'OutputLocation': '<MY-S3-BUCKET>'
                                        }
                                        )
    return response

解决方法

如果您不需要该文件,您可以再添加 1 行以删除 S3 存储桶中的该文件。

编辑:你可以试试这个:

s3 = boto3.resource('s3')

s3.Object('your-bucket','your-key').delete()

因为根据文档,我们没有任何选项可以更改结果项:

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/athena.html#Athena.Client.start_query_execution

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。